2011-05-05 18:30:54 +0000 2011-05-05 18:30:54 +0000
116
116

rm -rf ~" コマンドを元に戻すには?

私は’~‘という名前のいらないフォルダを持っていたので、コマンドラインから

rm -rf ~

と入力し、誤ってホームフォルダを削除してしまいました(~が/home/usernameに解決されたので)。何か戻る方法はありますか、それとも基本的にはアカウントを一から作り直す必要がありますか?

回答 (12)

148
148
148
2011-05-05 18:34:16 +0000

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

毎日のバックアップからリストアすればいい。

67
67
67
2011-05-06 02:20:40 +0000

他の人( @RiMMER , @Adam , @James T など)は、ほとんどのファイルシステムでは、データが実際にゼロアウトされるのではなく、ファイルテーブルから削除されるだけなので、ほとんどまたはすべてのデータを(おそらくファイル名なしで)復元することが可能であると述べています。これはLinuxだけではなく、WindowsやMacでも同じことが言えます。

しかし、最も重要なこと、**TURN OFF YOUR COMPUTER. 今すぐに。

多くのプログラム(今使っているインターネットブラウザを含む)は、データをハードドライブにキャッシュします。これらはどちらもハードドライブの空きセクタに書き込まれ、貴重なデータを上書きしてしまう可能性があります。

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

13
13
13
2011-05-06 02:41:43 +0000

私は、すべてのlinuxユーザーが一度は、細部に注意を払い、注意を払うことと同様に、バックアップの重要性を実際に学ぶ前に、この痛切な教訓を直に学ばなければならないと考えています。

例えば、奇妙な見た目のファイルを削除している場合、まずその奇妙なファイルに対して、副作用がなく、データに変更を加えないコマンドを実行することができます。例えば、フォルダを削除しようとする前に

cd ~

を実行した場合、ディレクトリが ~ フォルダではなく、ホームフォルダに変更されることがわかったはずです。cdフォルダに正しく~するために必要な真のコマンドを知るために十分なトラブルシューティングの手順を踏んだら、上矢印キーを押して履歴から最後のコマンドを取り出し、cdrmに変更してからフォルダを削除しようとすることができます。

恒久的な_行為を行う前に、このような手順を踏むことをお勧めします。永久的ではないし、確実ではありませんが、副作用のあるアクションを実行する際にこの程度の注意を払えば、おっとした瞬間を防ぐことができる可能性が高くなります。

7
7
7
2011-05-05 19:00:15 +0000

もしあなたがext3ファイルシステムを使っているのであれば、ext3grep があなたの新しい親友です。ext3grepの使い方についての良いチュートリアルが(他にもたくさんありますが) ここで を見つけることができます。

6
6
6
2011-05-05 18:49:12 +0000

testdisk](http://www.cgsecurity.org/wiki/TestDisk)を使って[個々のファイル](http://www.cgsecurity.org/wiki/TestDisk:_undelete_file_for_ext2)の削除を解除してみてください。この方法はext2とNTFSでしか使えないようです(それでも試す価値はあります)。

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

4
4
4
2011-05-06 14:31:40 +0000

十分な大きさの外付けドライブを持っている場合は、他にも安全なオプションがあるかもしれません。空き領域を含めてホームパーティション全体を保存するのに十分な容量が必要です。

CD から起動し、ホームドライブをマウントしない。外付けドライブをマウントします。ホームドライブのパーティションを外付けドライブのファイルにddします。ファイルシステムによっては、いろいろなことを試すことができますが、その中には破壊的になる可能性のあるものもあります。

これのおかげで、Reiser4 のベータ版で、読み取り専用でマウントしても何をするのかわからなかったときに助かったことがあります。その時にどこかでジャーナル書き込みが可能だと書いてありました。

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

2
2
2
2011-05-05 18:46:33 +0000

リサイクルされていないインノードを検査してファイルを復元するテクニックがあります。削除後にファイルシステムに書き込んだデータが多ければ多いほど、データ復旧の可能性は低くなります。誤ってデータを削除してしまった場合の復旧方法としては、バックアップから復元するのが最善の方法です。

2
2
2
2011-05-07 18:27:57 +0000

データのことはお気の毒です。他の人はデータの問題の対処法についてコメントしていますが、ここでは次にフォルダ名が ~.

1.そのフォルダを作成した人を見つけて、二度とやらないようにしてください。 2. -rf や、rm で削除を行うための強力な引数を使わない。その代わりに、ゆっくりと時間をかけて、何が起こっているのかがわかるようにしてください。シェルでチルダをエスケープすることで、ホームディレクトリに展開せずにチルダを入力することができます。理論的には rm -rI \~ と入力することができますが、もう一歩踏み込んでみましょう。 1.最初に、そのフォルダに入るためにcd \~を使用して、多分あなたがそこに着いたことを確認するためにpwdを使用します。その中にいる間に内容を削除します。ここでも注意が必要ですが、rf -rI *を使ってフォルダをクリーンアウトし、.*も必要であれば取得してください。 2. cd ..で上に移動して、rmdir \~でディレクトリを削除します。

2
2
2
2011-05-06 05:30:57 +0000
alias rm="rm -i"

Bash シェルを使っていると仮定します (これを .bashrc ファイルに入れておくと、新しいシェルを開いたときにも持続します)。

これは削除したいものを確認するように rm に求めてくるはずです。これは特に -rf を実行している時には良いことですが、プロンプトでは ‘~’ をホームディレクトリへのフルパスまで展開します。

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

これは技術的には質問に対する答えではありませんが、将来的にこのような問題を回避するのに役立つかもしれません。 私の経験では、これは真実とは程遠いものです。実際には、エイリアスの効果は、"rm -rf “を使わないようにすることです - それは、答えたくない多くのプロンプトが出ることを知っているからです - そして、プロンプトが出ない "rm -rf "を得るためには、意図的に/bin/rm (または何でもいい)としてrmコマンドを参照する必要があります。これは、一般的に "rm” コマンドをより意識的かつ意図的に使用することにつながります - 自分のサーバと、たまたまログインしている他のサーバの両方で、常に “rm または /bin/rm” という精神的な選択で rm を使用する必要があるからです。そして、誰もが rm を使う前に考えるような世界は、本当に安全な世界になるでしょう!

1
1
1
2011-05-06 07:04:37 +0000

私はちょうど.snapshotをcdしてファイルを復元します。しかし、私は仕事でこれを行うと、私は.snapshotディレクトリがどこから来ているのか見当がつきません。私は多分それがLinuxの機能であると思った。

1
1
1
2018-06-10 04:22:55 +0000

リカバリーツール - コマンドライン :

*リカバリーツール - グイ . *

*Infos . *

私の個人的な経験では、"UFS Explorer “と photorec

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

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

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

(4) = ntfs サポートがある

(5) = ディレクトリ構造機能がある

-3
-3
-3
2011-05-06 00:07:52 +0000

rmは永遠です。

これは今のところ何の役にも立ちませんが、将来的には rm を使わないようにするか、あるいは本当に自分を追い込むために、パスの中に rm という名前のスクリプトを追加して、ファイルをゴミ箱フォルダに移動させて、別の時に片付けるようにしてください(ミスをしても解決しないようにすることができます)。

関連する質問

6
10
5
37
4