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

这个 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 左右的空间。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章