ls
與flag 一起使用時的順序-U
與我在 C 中使用 dirent.h 庫並在循環中顯示文件名時得到的順序相同。當我顯示結構體d_off
成員時dirent
,數字似乎按升序排列。
d_off
文件順序的原因是什麼?我看到它被描述為文件偏移量,但我不確定這意味著什麼。
先致謝
答案1
從man 3 readdir
:
脫
d_off 中傳回的值與目錄流中的目前位置呼叫telldir(3) 傳回的值相同。請注意,儘管有其類型和名稱,d_off 欄位很少是現代檔案系統上的任何類型的目錄偏移量。應用程式應將此欄位視為不透明值,對其內容不做任何假設;另請參見telldir(3)。
換句話說,d_off
以及順序是同一件事;它是檔案系統為該目錄傳回的目錄條目的編號。
因此,順序是由檔案系統本身定義的 - 這可能很簡單(例如,在 FAT12 目錄中)或非常複雜(例如,某些複雜檔案系統上的 OverlayFS)。