/path/to/dir
誤ってアプリケーションからディレクトリとその内容の両方を削除しました。
しかし、まだターミナルウィンドウが開いていcd
ます/path/to/dir
!
Q:再帰的に復元する方法はありますか/path/to/dir
?
これはlsof
私に次のことを与えます:
$ lsof | egrep '/path/to'
bash 3113 hs cwd DIR 252,0 4096 42207179 /path/to
bash 3487 hs cwd DIR 252,0 0 42207253 /path/to/dir (deleted)
さらに、これを行うと...
$ ls /proc/3487/fd/
0 1 2 255
$ cd /tmp
$ dd if=/proc/3487/fd/255 of=recovered.dir bs=1M
...dd
コマンドは何もせず、そのままでrecovered.dir
サイズが大きくなりません。ここでは、プロセス3487/path/to/dir
がファイル記述子255にディレクトリが開いていると仮定する。したがって、私dd
またはcat
それでツリー全体を復元できます/path/to/dir
。
lsof
削除されたアイテムの回復を使用する方法についての多くの記事がインターネット上にあります。定期的なファイルですが、削除されたファイルを回復するために使用されません目次。
速い答えに心から感謝します!
答え1
残念ながら、あなたが望むことをすることはできません。
ディレクトリは開いている可能性がありますが、ディレクトリ内のファイルはディレクトリ自体の一部ではありません。このディレクトリにはファイル名のみが保存されます。これに加えて、ファイルが削除されるにつれてディレクトリも変更され、そのファイルが削除されました。
つまり、個々のファイルが開かれていない限り、この方法では回復できません。