rmで削除されたファイル/ディレクトリを復元できますか?


69

rmおよびrm -r?を使用して、ターミナルから削除されたファイル/ディレクトリを復元することは可能ですか?グラフィカルインターフェイスからファイルを削除した場合、ゴミ箱から復元できますが、rmユーティリティを使用してファイルを削除した場合、どのように復元しますか?


削除されたファイル(任意の形式)を回復するツールについては、この質問をご覧くださいaskubuntu.com/q/3883
Decio Lira

将来ファイルを復元する場合は、「rm」を使用しないでください。「rm-trash」ユーティリティを使用できます。github.com
nateshmbhat /

回答:


63

このために、trash-cliパッケージで次のエイリアスを使用します~/.bashrc

alias rm=trash

また、trash-cli次のコマンドでパッケージをインストールできますsudo apt-get install trash-cli

削除したファイルはゴミ箱に移動され、nautilusのゴミ箱に表示されます。

rm次のいずれかの方法を使用して、いつでも実際にアクセスできます。

command rm something
'rm' something
\rm something

、端末からゴミ箱にアクセスするためのコマンドもありtrash-listrestore-trash(またはtrash-restore)、 trash-empty(その後、彼らのmanページを参照してください)パッケージゴミ-CLIからのインストールが。

最後に、システムの操作を妨げる可能性があるため、このようなエイリアスをスーパーユーザーに使用することはお勧めできません。


19
これは回避策ですが、実際には質問に答えません。
evgeny

ユーザーは、コマンドラインから同じ動作を実現する方法があるかどうかも知っていると思います。そうでない場合は、回答を削除する準備ができています。
enzotib

3
それは良いです。私はいくつかの知識を得ました。
user3215

27

ターミナルから削除すると永久に削除されます-回復は非常に難しく、時には不可能です。

パーティションタイプがext3(を使用して確認するSystem->Administration->Disk Utility)の場合は、ext3undelを見てください

そうでない場合(デフォルト設定でUbuntuをインストールした場合)、extundeleteプログラムを試してください。

ただし、何かを回復する保証はありません。


これは、デスクトップエディションで非常に便利です。
user3215

SSDドライブでは効果的に機能するとは思いませんが、そうでない場合は喜んでお聞きします
マット

13

探しているもの:extundelete - ext3 / ext4パーティションから削除されたファイルを回復するユーティリティ

そのようなパッケージを見つけるには、次を試してください: apt-cache search undelete

ユーティリティを使用するには、次のものでインストールします。 sudo apt-get install extundelete

インストール後、呼び出してman extundelete、慎重に検討してください。


6

別の方法として、ファイルの種類が具体的にわかっている場合は...

sudo apt-get install foremost

ここで開く/etc/foremost.confと、コメントアウトされた行の長いリストが表示されます。ファイルの種類が存在する場合は、行のコメントを解除します(無関係な行を削除することもできます)。

ファイルタイプが存在しない場合は、独自の行を追加します。.cssファイルを復元したいのですが、40K前後を知っています。これを追加できます:

css     n       40000   Theme\sName:     Plugin\sFixes

2列目は大文字と小文字の区別、3列目はサイズの上限、4列目はファイルの開始方法(エスケープ文字を使用することを忘れないでください)、最後の列はファイルの通常の終了方法です。

次のコマンドを使用します(ディスクを適宜編集します。dfコマンドで確認できます)。

foremost -v -T -c /etc/foremost.conf -i /dev/sda -o output

次に何が起こるかというと、まずはoutputというフォルダーを作成し、復元されたすべてのデータ(この場合)をフォルダーにダンプします。そこから、diffまたはmeldを使用して、復元された「ファイル」を比較し、どれが最新であるかを確認できます。


どうもありがとう。完璧に機能しました。2つのphpファイルを使用rm -fr php/して誤ってソースファイルをphp削除しました。2分未満で完全に回復しました。中.conf:私は追加したファイルphp n 40000 <?php ?> ASCII
Shakiba母子里

5

最も抽象的な言葉で言えば、グラフィカルインターフェイスでファイルを削除すると、そのファイルは特別な「バッファ」と呼ばれるディレクトリに「移動」されtrashます。homeディレクトリで見つけることができます~/.local/share/Trash/。このディレクトリから「削除」されたファイルは、実際に削除されます。この実際の削除はrm、ファイルで使用すると発生します。

削除されたファイルを回復することは非常に困難です。ファイルシステム内のファイルは、Bツリーなどのノードとして表されます。を使用してファイルを削除するrmと、ツリーが更新され、ハードリンクの数が減り、ディレクトリリストの対応するエントリが削除されます。ファイルにハードリンクがあったとしても、ファイルは完全に安全です。あなたがすることができますfile / -samefile filename。iノード番号も覚えていれば、ファイルを検索できます(ほとんどそうではありません)。

別のケースは、上記の可能性のいずれも当てはまらない場合です。rmファイルを作成するたびに、ディレクトリのファイルエントリが削除され、ハードリンクの数が1つ減ります。また、ハードリンクの数がゼロになった場合、iノード上のファイルへのポインターが削除されるか、削除対象としてマークされます。いずれにしても、ファイルは「まだ」ハードディスクに保存されています。ファイルは、その後の再マウント時にのみ実際にハードディスクから消去されます。そのような場合のファイルの回復は非常に難しく、ファイルシステムツリーと実際のディスクブロックの場所を表すiノードを経由する必要があります。私が聞いたことがありますが、使用したことのない人気のあるツールがありextundeleteます。保証はありませんが、試してみる価値はあります。

ファイルを正常に回復したかどうかを確認したら、急いで定期的なバックアップを行ってください。Ubuntuでは非常に簡単です。


2

申し訳ありませんが、「rm」および「rm -f」を使用してコマンドラインから削除されたファイルは、Gnomeデスクトップにある「ゴミ箱」をバイパスします。

また、FATやNTFS用のようなextfsの「削除解除」ツールがあるかどうかを尋ねることもできます。(私は何も知りませんが、もしなかったら驚かされるでしょう。)


ああ、大丈夫!。ある場所から回収できると思った。
user3215

1

rm-trash」ユーティリティを使用して、後で検索するためにそれらをゴミ箱に入れ、「rm」コマンドのすべてのオプションをサポートします。

sudo add-apt-repository ppa:nateshmbhat/rm-trash
sudo apt-get update
sudo apt-get install rm-trash

「rm-trash」は

  • rmの代わりに使用するためのもの
  • rmが取りうるすべてのオプションを処理します
  • すでにゴミ箱にあるファイルとのファイル名の衝突を処理します
  • いくつかの許可の問題を自動的に処理します
  • rmが他のスクリプトからまたは間接的に呼び出された場合、システムの「rm」コマンドが自動的に使用されます
  • 次のような適切なエラーメッセージが表示されます。 rm
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.