2017-10-29 54 views
1

在許多,大多數或所有Unix文件系統下,如果遍歷目錄中的鏈接,通常至少會有兩個,一個指向當前目錄(「./」),另一個指向 - 指向父目錄(「../」)。除了可能只有這兩個鏈接中的第一個的根。是否有一個始終存在的,已知的Unix路徑字符串保證命名總是空目錄?

但是,在一些聲稱與大多數Unix慣例(但並不完全)兼容的其他文件系統中,這可能並非如此。

Unix文件系統中的某個目錄是否存在保證始終爲空目錄,並且可以使用stat()等同的方式讀取鏈接數?

如果是這樣,可以檢查鏈接數量,並期望它是2.或者可能是其他的東西,這將允許程序相應地調整其行爲。

+0

」除了根,只有這兩個鏈接中的第一個。「這不是真的,即使根目錄有一個「..」,但它指向自己。 – tkausl

回答

1

沒有標準的目錄永遠是空的 - 但你可以創建一個,如果你需要的話。一個簡單的方法就是使用mkdtemp()函數。

但是,並不能保證所有的目錄將使用相同的文件系統。例如,如果安裝了FAT文件系統,則與該文件系統相對應的目錄可能與其他文件系統的行爲不同。 「

相關問題