請註意,事實上,Linux下的目錄大小並不都是4096。
那麽為什麽大多數目錄的大小都是4096呢?這需要從Linux文件的存儲機制來解釋。
文件存儲在硬盤上,硬盤的最小存儲單位稱為扇區。每個扇區存儲512字節(相當於0.5KB)。
操作系統讀取硬盤時,不會壹次讀取壹個扇區,效率太低。相反,它將壹次連續讀取多個扇區,即壹次讀取壹個“塊”。這個由多個扇區組成的“塊”是文件訪問的最小單位。“塊”最常見大小是4KB,即八個連續扇區形成壹個塊。
文件數據存儲在“塊”中,因此顯然,我們還必須找到壹個存儲文件元信息的地方,例如文件的創建者、文件的創建日期、文件的大小等等。這個用於存儲文件元信息的區域稱為inode,中文翻譯為“索引節點”。
每個文件都有壹個對應的inode,其中包含壹些與文件相關的信息。
在Linux系統中,目錄也是壹種文件。打開壹個目錄實際上就是打開壹個目錄文件。目錄文件的結構非常簡單,只是壹系列目錄條目的列表。每個目錄條目由兩部分組成:所包含文件的文件名和與文件名對應的inode號。
因此ls -al命令實際上顯示了目錄文件的大小。因為操作系統定義的最小文件訪問單位“塊”是4KB,所以目錄通常顯示為4096B。
如果您需要查看目錄的總大小,可以使用du命令,樓上有詳細介紹。
PS: OS系統塊的大小可以修改。