Filesystems
為什麼 。和 .. 的文件大小分別為 4 kB 和 12 kB?
如
ls -al
所示,例如:drwxr-xr-x 9 jb jb 4.0K Mar 8 18:05 ./ drwx------ 49 jb jb 12K Mar 17 14:15 ../
我假設這是儲存 inode 的元數據所需的最小空間量,例如返回的
stat
,但我不完全確定。
.
(dot
ford
,d
for directory) 是指向其包含目錄的硬連結。你會注意到:ls -di . "$PWD"
返回相同的 inode 編號。它的大小是它需要(或可能曾經需要)儲存其內容的字節數,即它引用的文件列表(連結到它,順便包括
.
和..
)
..
(d
目錄的d
目錄)是到父目錄的硬連結,這是唯一引用該目錄的目錄(目錄只能有一個連結,如果我們不考慮.
和..
條目)。所以:
ls -di -- .. "$(dirname -- "$(pwd -P)")"
也將返回相同的 inode 編號。
所以在你的情況下
..
大於.
. 它可能包含更多條目(或者在那些分配給目錄的空間從未回收的文件系統上,..
曾經有那麼多條目需要 12kB 來儲存它們,而.
從來不需要超過 4kB)。