ファイルにアクセスすると、rm
unlink()を呼び出してディレクトリエントリからファイルを削除し、そのinodeを解放します。ただし、ファイルの実際の内容はまだディスクにあります。
ファイルを再インポートする方法はありますか?つまり、ディレクトリエントリに再度追加できますか?
答え1
プロセスは、保持しているファイルの種類(画像、テキストファイルなど)と使用しているファイルシステムによって異なります。このページArch Wikiにはいくつかの素晴らしい出発点があります。特に注目すべきプログラムとして、Foremost、Extundelete、Testdisk、およびPhotoRecが挙げられます。
興味がある1つの方法は、基本的にドライブからすべての生のテキストを取得し、それを使用してテキストgrep
ファイル内のデータを見つけることです。
# strings /dev/sdXN > BigStringsFile
一意の文字列を見つけて、出力をファイルに送信します。
$ grep -i -200 "Unique string in text file" BigStringsFile > GrepOutputFile
-200
見つかった文字列の前後に200行を出力し、フルテキストファイルを含めるように調整できます。
データを扱うときは、常にそうであるように、重要なデータをバックアップするか、重要でないコピーを破棄することが重要です。とりわけ、これらのツールは結果をディスクに書き込むことができるため、回復したい項目を上書きできます。