Ubuntu
使用命令行界面從內部刪除目錄
想像 /home/user/ 目錄中的下一個簡單文件結構:
/home/user |--dir0 |--dir1 |--file1
我的目前目錄是“dir1”,我使用以下命令從內部刪除目錄:
rm -r ../dir1
之後(並且在終端上沒有出現任何錯誤),工作目錄仍然是相同的,當使用命令pwd時,輸出是:
user@ubuntu:~/dir0/dir1$ pwd /home/user/dir0/dir1 user@ubuntu:~/dir0/dir1$
如果已經從文件系統中刪除了工作目錄,為什麼作業系統會返回工作目錄是“dir1”?
我認為
pwd
您執行的是內置的 bash shell。它只是列印出它在記憶體中保存的路徑,而不查找文件系統。$ type pwd pwd is a shell builtin $ /bin/pwd /bin/pwd: couldn't find directory entry in '..' with matching i-node
為什麼電影被刪了還能繼續看?
因為文件描述符可能已經消失了,但 inode 仍然存在!只有當 inode 被刪除時,文件才會永遠消失!
因此,在您的情況下:當您關閉該樹
cd
中/
的所有文件時,inode 將被回收並且該目錄將永遠消失¹…請記住:這不是 Windows,這是專業的作業系統!
;-)
¹除非它在被回收之前被取消刪除。