次のコマンドを実行して、誤ってファイルを削除しました。
rm -rf ./Desktop/myScript.sh
コマンドで一時的にファイルを削除するため、ファイルを回復できるようですrm
。 Mac OSXから削除されたファイルを回復する方法は?
答え1
rm
MacOSは「こんにちは」を意味するUnixオペレーティングシステムです。 GUIインターフェースを使用すると、ファイルをごみ箱に移動できますが(後で復元可能です)、実際にはそうではありません。バックアップがある場合(たとえば、Time Machineが実行されている場合)、保存されます。
言う
厳密に言えば、(@ire_and_cursesが指摘したように)aはrm
ファイルのディレクトリエントリを削除します。去るディスクブロックが使用され、影響を受けません。ファイルを含むファイルシステムを停止できる場合は、高度な方法を使用してブロックの内容を再発見できます。損失を回復するために購入できる回復ツールもあります。主な問題は、ファイルが表すディスクブロックを他のものを再利用できないことです。
srm
MacOSには、ファイルを編集する前に上書きしてunlink
回復できないようにする安全な削除コマンド()もあります。私がこのunlink
用語を使用する理由は、これがrm
シェルコマンドに関連付けられている低レベルのシステムコールだからです。これは以下の議論の次の部分のためのステップを設定します。
サイドノート
[急いで付け加えると、ディスクを何度も上書きしても、以前に書いた内容を数十回以上読むことができる方法があります。ディスクを適切に消毒するには、酸性溶液、大きなハンマー、グラインダーが必要です。 ]
unlink
ファイルを削除すると、ファイル内のinodeリンクの数が減ります。値が0に達すると、ファイルはファイルシステムディレクトリから削除され、そのディスクブロックは再利用のために解放されます。この問題は以下でのみ発生します。いいえプロセスがファイルを開きました。ファイルシステムが単にディスクブロック(例えばdu
)を追加するだけでは説明できない大量のスペースを占めるという事実を発見した場合、管理者はしばしば混乱します。最も一般的な原因は、開いているファイルが削除され、そのディレクトリに表示されなくなることです。その理由は、ファイルを使用する最後のプロセスが終了するまでディスクブロックが引き続き使用されるためです。
ファイルを開いてunlink
すぐに読むことは、実際に安全な一時ファイルを作成する一般的な方法です。lsof
リンク数(NLINK)がゼロのファイルを見つけると、これらのツールは目に見えないファイルを公開する可能性があります。
UnixとLinux(MacOSはUnixのブランドです)では、rm
「do-it」というUnix哲学に従い、可能であれば目立たないようにしてください。つまり、ファイルを削除する権限がある場合(つまり、ディレクトリで書き込みが許可されている場合)、要求するrm
操作を実行してください。rm='rm -i'
操作を実行する前に確認メッセージを表示するシェルエイリアスを作成できます。必要に応じて-f
オーバーライド機能付きのスイッチを使用してください。つまり、次の項目を削除するときにrm
リストからファイルをスキップすることを選択できます。rm
glob
rm *.log
答え2
コンテンツによって異なりますが、次のようなさまざまなサードパーティソフトウェアを使用してこれを行うことができます。
- Wondershareデータ復旧
- データ構造3(アプリストアからダウンロード可能)
- Leawoデータ復旧プロフェッショナルエディション(アプリストアからダウンロード可能)
- データ復旧マスター(アプリストアからダウンロード可能)
もっとあります。
App Store で「データ復旧」と入力すると、より多くのアプリが見つかります。
より進化した方法は、回復モードでOSXを起動し(または可能であればパーティションをアンマウントして)手動で検索することです(スクリプトの特定のテキストを覚えている場合)。
いくつかの例:
diskutil list
sudo cat /dev/disk0s2 | strings | grep -C20 "my_stuff"