1
在文件及其父目錄下面有ls -l
命令的四個輸出。從檢查ls -l輸出中刪除文件的能力
四種場景中的哪一種可以刪除file1? (答案是紅色的)
我不明白爲什麼答案是紅色的,而且在ls -l
輸出中意味着什麼只有-
而不是權限部分中的其他內容?這只是說沒有人有權限使用這個文件,如果有的話,它爲什麼仍然是答案?
在文件及其父目錄下面有ls -l
命令的四個輸出。從檢查ls -l輸出中刪除文件的能力
四種場景中的哪一種可以刪除file1? (答案是紅色的)
我不明白爲什麼答案是紅色的,而且在ls -l
輸出中意味着什麼只有-
而不是權限部分中的其他內容?這只是說沒有人有權限使用這個文件,如果有的話,它爲什麼仍然是答案?
刪除一個文件不是在文件的操作,但在目錄中。這是因爲目錄中的「文件」項是而不是文件;它只是對文件的引用(語義很奇怪,因爲「文件」一詞的重載意義以及常見用法的不精確性。)爲了刪除文件(例如,刪除對它的引用),您只需要執行並讀取該文件所在目錄的權限。因此情況爲1。
請注意,刪除引用(「鏈接」)到一個目錄中的文件只會導致刪除該文件,如果這是文件系統中的最後一個引用。該引用計數在ls -l
輸出的第2列中給出,因此在您的情況下,目錄「directory1」中名稱爲「file1」的鏈接文件將被文件系統垃圾收集。 (例如,數據將被刪除。)
當然,如果文件被覆蓋或截斷,數據也可以被刪除,所以我的整個答案基於假設您使用「已刪除」表示「未鏈接「或」刪除「。不準確的語言猖獗!