web-dev-qa-db-ja.com

"rm -rf〜"コマンドを元に戻しますか?

「〜」という名前を付けたくないフォルダがあったので、コマンドラインから入力しました。

rm -rf ~

そして誤って私のホームフォルダを削除してしまいました(〜は/ home/usernameに解決されたので)。元に戻す方法はありますか、それともアカウントを最初から作成し直す必要がありますか。

113
Chris

一般的に戻る簡単な方法はありません。

毎日のバックアップから復元できます。

148
RedGrittyBrick

その他( @ RiMMER@ Adam@ James T など)も言及しています。つまり、ほとんどのファイルシステムでは、データは実際には消去されず、ファイルテーブルから削除されるだけなので、データの大部分またはすべて(おそらくファイル名なし)を復元できます。これはLinuxだけではなく、WindowsとMacにも当てはまります。

しかし、最も重要なことは誰も言及していません - あなたのコンピュータをオフにします。 .

現在使用しているインターネットブラウザなど、多くのプログラムがデータをハードドライブにキャッシュします。ほとんどすべてのプログラムが、スワップファイルのサイズ変更や書き込みをコンピュータに行わせる可能性があります。どちらもハードドライブの空きセクタに書き込み、貴重なデータを上書きする可能性があります。

したがって、コンピュータの電源を切り、ハードドライブを取り出して、別のコンピュータに取り付けます。ハードドライブを読み取り専用としてマウントし、ファイルを別のハードドライブに復元します。あなたが興味のあることができるすべてを回復したら - そしてのみ - そして元のドライブにファイルを書き戻しなさい。

私は、ある時点ですべてのLinuxユーザーが実際にバックアップの重要性を学ぶ前に、この詳細なレッスンを直接学ばなければならないだけでなく、細部に注意を払い慎重になることを信じる。

たとえば、見た目の悪いファイルを削除する場合は、まず、その見慣れないファイルに対して、副作用がなく、データに変更を加えないコマンドを実行できます。例えば、走らせてもらえますか

cd ~

フォルダを削除しようとする前に、代わりに~フォルダではなく、自分のホームフォルダにディレクトリを変更することに気付いたでしょう。真のコマンドを習得するのに十分なトラブルシューティング手順を実行した後、~フォルダーに正しくcdを入力する必要がある場合は、上矢印キーを押して履歴から最後のコマンドを取り出し、cdrmおよびに変更します。そしてその時だけフォルダを削除しようとします。

永続的なanyアクションを実行する前に、このような手順をとることをお勧めします。それは恒久的または絶対確実というわけではありませんが、副作用のあるアクションを実行するときにこの程度の注意を払った場合、これらのおしっこの瞬間を防ぐ可能性がはるかに高くなります。

13
jmort253

あなたがext3ファイルシステムを使っているなら、 ext3grep があなたの新しい親友です。 ext3grepの使用に関する優れたチュートリアル(他にもたくさんあります)がここにあります。

7
Adam Prax

あなたは testdisk を使って個々のファイルを元に戻す ことができます 。これはext2とNTFSでしか動作しません(ただし試してみる価値はあります)。

Ext3またはext4をお持ちの場合、 既知のファイルphotocc を使用して復元できます。これはおそらくあなたが望む以上に回復することになるでしょう。 Photorecはファイル名情報のないファイルを回復するので、ファイルを調べるのは面倒です。

5
James T

あなたが十分に大きい外付けドライブを持っているなら、あなたはもう一つのおそらく最も安全なオプションを持っています。空きスペースを含むホームパーティション全体を格納するのに十分なスペースが必要です。

CDから起動し、ホームドライブをマウントしないでください。外付けドライブを取り付けます。ホームドライブのパーティションを外付けドライブのファイルにddします。ループバックデバイスとしてファイルをマウントします。元のファイルシステムにダメージを与えることはできないということを知っているので、このイメージに対して元に戻す作業を行います。ファイルシステムによっては、試すべきことがたくさんありますが、それらの中には破壊的なものもあります。

たとえ私がそれを読み取り専用にマウントしたとしてもそれが何をするかわからなかったとき、これは私にReiser4のベータ版で私を一度救った。ジャーナルへの書き込みがまだ可能だったときに、私はどこかで読みました。

それは死にかけているドライブからデータを保存するための良いテクニックでもあります。

4
barrymac

あなたのデータが残念です。他の誰もがあなたのデータの問題にどう対処するかを狙っていますが、ここであなたが~と呼ばれるフォルダを見たときにどう対処することができるかに関するいくつかの情報があります。

  1. 誰がそれを作成したのかを見つけ、二度としないようにしましょう。
  2. 削除を行うためにrmに-rfやその他の強力な引数を使用しないでください。代わりに、ゆっくりとゆっくりと実行し、何が起こっているのか確認できるようにしてください。シェルでエスケープすることで、ホームディレクトリに展開することなくチルダを入力することができます。理論的にはあなたはrm -rI \~cd \~できますが、さらに一歩進むことができます。
    1. 最初に、そのフォルダにINTOするためにrf -rI *、たぶんあなたがそこに着いたことをチェックするためにpwdを使用してください。あなたがそこにいる間に10はその内容を削除します。再度注意してください。ただし、.*を使用してフォルダを削除してください。
    2. 今度はcd ..で上に戻り、rmdir \~でディレクトリを削除します。
2
Caleb

リサイクルされていないiノードを調べてファイルを回復する手法があります。削除後にファイルシステムに書き込むデータが多いほど、データを回復する可能性は低くなります。誤ってデータを削除した場合の復旧の最善策は、バックアップからの復元です。

2
Xenoactive
alias rm="rm -i"

あなたがBashシェルを使っていると仮定します(あなたが開いた新しいシェルに持続するようにあなたの.bashrcファイルにこれを入れてください)。

これは、rmがあなたが削除したいものを確認するように頼むことになるでしょう。これは特に-rfをしているときにはいいですが、プロンプトであなたのホームディレクトリへのフルパスに '〜'を広げるでしょう。あなたがファイル「〜」を削除しているのではなく、実際にはあなたのホームディレクトリを削除している手がかり。

$ rm -rf ~
rm: examine files in directory /nas/users/u12345/unix (yes/no)? n

これは技術的にあなたの質問に対する答えではありませんが、将来そのような問題を避けるのに役立つかもしれません。

編集:何人かの人々はあなたが "rm"コマンドであなたがより慎重にならないようにこのテクニックを使うことをあなたに勧めないかもしれません。私の経験ではこれは真実からかけ離れています。実際には、エイリアスの効果は、「rm -rf」を使用しないようにすることです。応答したくないプロンプトが多数表示されることがわかっているので、そしてプロンプトなしの「rm -rf」を取得するためです。 msgstr "意図的にrmコマンドを/ bin/rm(または何でも)と呼ぶ必要があります。これは、あなたのサーバでも、他のものでも、常に "rm"や "/ bin/rm"の精神的な選択でrmの使用に先行する必要があるので、もっと意識的で故意に "rm"コマンドを使うことにつながります。にログインします。そして、誰もがrmを使う前にと思った世界は、本当に安全な世界でしょう。

1
aaa90210

.snapshotをcdしてファイルを復元します。しかし、私は仕事中にこれを行い、私は.snapshotディレクトリがどこから来たのか分からない。私は多分それはLinuxの機能でした。

1
meBigGuy

回復ツール - コマンドライン:

回復ツール - Gui:

情報:

私の個人的な経験では、私は自分のデータを "UFS Explorer"とphotoccを使って取り戻します

(1)=オープンソースではない、無料ではない

(2)=オープンソースではない、無料

(3)=オープンソースで無料

(4)= NTFSをサポート

(5)=ディレクトリ構造機能を持つ

0
intika