「新しいLinuxの教科書」を読む会 オンライン #11 での発表資料です。 https://linuxbook.connpass.com/event/204816/
今いるディレクトリを消すとどうなる@ozuma51191「新しいLinuxの教科書」を読む会 オンライン #11 2021/03/13
View Slide
Windowsの場合 - できない2
Linuxの場合 - できる3$ lsbook1.csv secret.txt$ pwd/home/book/Documents$ rm -v -r /home/book/Documents`/home/book/Documents/secret.txt' を削除しました`/home/book/Documents/book1.csv' を削除しましたディレクトリを削除しました: `/home/book/Documents'$ pwd/home/book/Documents
4"Documents" フォルダは消えたのにいる!*いしのなかにいる*
いるけど何もできません5[[email protected] Documents]$ pwd/home/book/Documents[[email protected] Documents]$ rm -v -rf /home/book/Documentsディレクトリを削除しました: `/home/book/Documents'[[email protected] Documents]$[[email protected] Documents]$ echo "AAA" > a.txtbash: a.txt: そのようなファイルやディレクトリはありません[[email protected] Documents]$ ls -al合計 0[[email protected] Documents]$ . と .. も無いことに注意
Linuxでファイル・ディレクトリを削除するとは6/home/bookiノード番号 ファイル名82490 Documents33795498 Desktop51812769 DownloadsDocumentsDesktopDownloads
Linuxでファイル・ディレクトリを削除するとは7/home/bookiノード番号 ファイル名82490 Documents33795498 Desktop51812769 DownloadsDocumentsDesktopDownloadsディレクトリエントリ(台帳)から消すだけそのため「迷子」になる
応用編 - 消しちまった! でも別のアプリで開いてるシナリオ1. Documents/secrets.txt をlessで見ていた2. [Documents] フォルダごと消してしまった$ rm -rf Documents3. lessがopenしているFD(File Discriptor)を/procから探してコピーする4. 復旧!参考: https://mag.osdn.jp/06/11/23/04512518
91. ~/Documents/secrets.txt を開いている状態で……2. Documentsフォルダごと消します
101. lessコマンドのプロセスIDを調べて2. lsofコマンドでファイルを開いているFD(File Descriptor)を探します
111. プロセスID=11523, FD=4 をコピーします2. ファイル復旧できた!
12lessコマンドを終了させてしまうと、ファイルは完全に見えなくなります(ただし直後は台帳から消えただけでディスク上に残っているので、復旧できる可能性は高いです)