关于ls命令下显示的total问题

来源:互联网 发布:数值是优化算法与理论 编辑:程序博客网 时间:2024/04/29 03:46
這個 total 應該是『實際佔用硬碟的空間,單位為 Kbytes』
也就是當您使用 ls 時,所顯示出來的資料的總容量。

開始解說之前,您得先知道:
1. filesystem 在格式化的時候就規範好了 block 的大小,在 ext2/ext3 的環境下,這個 block 不變;
2. 每一個 block 僅能容納一個檔案,所以如果 block 大小為 4K ,而單一檔案只有 1K ,則會有 3K 的空間被浪費。而那個 total 會記錄的則是 4K 的容量;

依據這個說明,來看看鳥哥的環境:
代碼:
[vbird@linux wol]$ ls -ls
total 32
12 -rwxr-xr-x  1 vbird vbird 11120 Jul 28  2006 ether-wake
12 -rw-r--r--  1 vbird vbird 11107 Jul 28  2006 ether-wake.c
 4 -rw-r--r--  1 vbird vbird    70 Jul 28  2006 Makefile
 4 -rw-r--r--  1 vbird vbird    44 Jul 28  2006 wol.test.sh
注意了,鳥哥的 partition 使用的 Block 大小為 4K 的情況!
所以每個檔案的說明如下:
ether-wake 容量 11120 ,佔用 3 個 block ,所以總共耗去 12Kbytes
ether-wake.c 容量 11107,佔用 3 個 block ,所以耗去 12Kbyes
Makefile 容量 70 ,佔用 1 個 block ,所以耗去 4Kbytes
wol.test.sh 容量 44 ,佔用 1 個 block ,所以耗去 4Kbytes ,
最後將這些資料總計一下,結果就得到 total 為 32 Kbytes 了。
但檔案的總容量為: (11120+11107+70+44)/1024=11.067K,
因此硬碟空間浪費多少? 32K-11.06K=20K 左右的空間。
原创粉丝点击