web-dev-qa-db-ja.com

Linuxゴミ箱コマンドを元に戻す

rmによるファイルの削除など、ターミナルで行われた操作を元に戻すことはできますか?

得られたソリューション:

  1. エイリアシング
  2. 復元ユーティリティ
  3. バックアップユーティリティ
  4. LibTrash
  5. バージョン管理(ヒューズ)
24
cdb

端末でのすべての操作に対して一般的な「元に戻す」はありません。 rmの使用後にファイルを復元する場合は、復元ソフトウェアを調べる必要があります。

将来のミスからあなたを防ぐオプションは、ファイルを削除する代替コマンドのためにaliasesを作ることです。それらを~/.bashrcに追加して、rmの代わりに使用する習慣を身に付けてください。

  1. エイリアスrmi = 'rm -i'

    rmiを使用すると、今後の削除の確認を求められます。 yコマンドを発行した直後にrmiを押す習慣を身につけないようにしてください。目的を達成できなくなります。

  2. ターミナルでtrshコマンドによって削除されたファイルをごみ箱(KDEおよびGnome上)に移動することもできます。

    alias trsh='mv --target-directory="$HOME/.Trash"'
    

    trshを使用すると、「削除を取り消す」機能が制限されます。それに注意してください

    trsh dir1/file1 dir2/file1
    

    それでも回復不可能なデータの損失を引き起こす可能性があります。

62
John T

コマンドラインのごみ箱はありません。

さまざまな元に戻すユーティリティのいくつかを試すことができますが、それらが機能する保証はありません。

6
The How-To Geek

GUIを実行するときにKDEを使用する場合は、 trash-cli を使用できます。これは、KDEのゴミ箱機能を使用して削除/復元するコマンドラインユーティリティです。

5
joe

rmtrashコマンドのエイリアスにすることができます(最初にtrashをインストールする必要があります。)これを~/.bashrcに追加します。

alias rm='trash'

〜/ .Trashはgnomeのゴミ箱フォルダではないため、これはalias rm='mv --target-directory=$HOME/.Trash'よりも望ましいです。実際のゴミ箱フォルダがどこにあるかをtrashに把握させることは、私見の方が良いでしょう。

ところで、コメントでこれを投稿したでしょうが、十分な担当者がいません。

4
Alvin Row

ここで、対処する価値のあるより大きな質問があります。シェルコマンドはおしゃべりではありません(必要なことを再確認しません)。また、何をしているのかを知っていることを期待しています。これは、それらがどのように機能するか設計の基本です。これは機能であり、バグではありません。

このようなコマンドを使用すると、マッチョを感じる人もいますが、これはばかげていると思いますが、危険を理解することは重要ですis。 rootでなくても、ターミナルで大きなダメージを与えることができます。 rmは本当に気にかけていたと思いますが、「ターミナルで行われた操作を元に戻すことはできますか?」一般的な答えは「いいえ」で、できません。

3
Telemachus

さらに2つの技術的ソリューションはまだ名前が付けられていません。

  1. libtrash :システムコールの削除/削除をインターセプトし、代わりにファイルをゴミ箱フォルダーに移動するシェルにプリロードできる動的ライブラリー(エイリアスのように、プリロードされたときにすべてのアプリケーションで機能します)。
  2. バージョン管理ファイルシステム。ファイルを削除(または編集、コピー、または...)した場合は、古い状態に戻すことができます。これは Fuse ファイルシステムとその バージョン管理ファイルシステム の1つで実行できます。
3
joschi

オプション1: ext2ファイルシステムからLinuxファイルを元に戻す を参照してください。このページは、LunetIX社のSebastian Hetzeが作成したプログラムを指します。このタイトルは、タイトルが示すように、ext2ファイルシステムから最近削除されたファイルの復元を元に戻します。使用例:

# undelete -d /dev/hdc3 -a 10

警告:

  • 元のWebサイトはなくなりました。上記のリンクは、インターネットアーカイブへのリンクです。
  • サイトは英語とドイツ語が混在しています。
  • 上記のように、このツールはext2ファイルシステム用に特別に設計されています。他のタイプのファイルシステムでは機能しないでしょう。特にext[〜#〜] n [〜#〜]以外のものは特に問題ありません。

オプション2:自分のマシンでrsnapshot(rsync)を実行していて、選択したフォルダーのスナップショットを1時間ごとに作成します。これは、これを1時間ごと、2時間ごと、またはCRONに実行するように指示するものごとに段階的に実行します。丸1日後、これらのスナップショットを1つの毎日のスナップショットに、7日後には毎週というようにリサイクルします。これにより、1時間ごとに約1か月ほど前に戻ることができます。変更されたことのないファイルへのシンボリックリンクが作成されるため、ディスクスペースはかなり良好です...

2
Pit

/dev/partitionでgrepを使用して回復する(LinuxまたはUnix削除されたファイルを回復する–ファイルの削除を取り消す)、

grep -b 'search-text' /dev/partition > file.txt

試してみてください。

1
cdb

Ext2用の削除取り消しユーティリティは存在しますが、他のほとんどのLinuxファイルシステムはストーンエイジで動かなくなり、高度なユーザビリティ機能がありません。二度とファイルを削除しない十分なスペースがある巨大なドライブを検討する悲しい状況は当たり前です。

だからあなたは3つのオプションで立ち往生しています:

  1. たとえば次のようなコマンドを使用して、定期的にバックアップを実行します。

    rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/

  2. すべての作業には、gitなどのバージョン管理ツールを使用してください。これは、リポジトリを強制終了するクレイジーなrm -rを防ぐことはできませんが、git rm raw rmを使用しないため、定期的なトラブルを防ぐことができます。

  3. シェルで失われるほとんどのデータは誤ってrmではなく誤った方向に失われるため、rm -itrash-cli、および友達にはあまり注意しないでください。パイプ、誤って入力された出力ファイル、誤って指定されたmvなど、つまり、データを削除するだけでなく、データを上書きするもの。

安全性を最大限にするには、3つすべてを実行してください。

1
Grumbel

私(opensuse leap 42.2、NTFSペンドライブ) PhotoRec -testdisk作成者も-機能しました:)しかし、ファイル名は回復していません。

PhotoRecは、ハードディスク、CD-ROMからのビデオ、ドキュメント、アーカイブなどの失われたファイル、およびデジタルカメラのメモリから失われた画像(つまり、写真の回復名)を回復するように設計されたファイルデータ回復ソフトウェアです。 PhotoRecはファイルシステムを無視し、基礎となるデータを追跡するため、メディアのファイルシステムが著しく損傷または再フォーマットされている場合でも機能します。

OpenSUSEの標準リポジトリを使用してインストールしました

説明

0
boczniak767

これをチェックしてください...役に立つかもしれません http://artmees.github.io/rm/

あなたがしたとしましょう

rm very_important_file

ターミナルから。このファイルを回復することは退屈で、常に成功するプロセスではありません

代わりに、上記のスクリプトを使用した場合。これについて心配する必要はありません。

rm very_important_file
mv very_important_file ~/.Trash/

同等です。スクリプトはより多くのケースを処理し、システムrmをまったく変更しません。これは、ユーザーのローカルbinフォルダーに配置されるため、システムのrmをシャドウし、影響を与えたり、使用を無効にしたりしないためです。

これは洗練されたエイリアシングアプローチですが、機能を失うことはありません

0
a14m

TestDisk FAT、exFAT、NTFSおよび ext2 ファイルシステムからファイルの削除を取り消すことができます。

0