Directory

ls 報告的目錄大小

  • January 19, 2019

我了解報告的大小ls與目錄中的 inode 數量相對應,而不是它們的實際大小。

我注意到在使用ls. 以下是如何快速重現它:

首先創建空目錄,報告的大小ls為4096(如預期)

mkdir test
ll -d test/
drwx------ 2 root root 4,096  2015-Dec-29  22:22:36  test/

在裡面創建 10,000 個文件。報告的大小現在是 167,936

touch test/{1..9999}
ll -d test/
drwx------ 2 root root 167,936  2015-Dec-29  22:23:24  test/

刪除所有文件。大小應減小回 4096

rm test/*
ll -d test/
drwx------ 2 root root 167,936  2015-Dec-29  22:23:59  test/

但該大小仍報告為 167,936。

為什麼?

有人可以解釋一下嗎?

通常,目錄文件不會被清理——它們的空間通常足夠小(與其內容相比),這樣做是無效的(特別是當它們可能再次增長時)。找到一個權威的答案可能很難……論壇評論很容易:

引用自:https://unix.stackexchange.com/questions/252238