为什么在截图中显示的文件大小有所不同,即ls -lh下的文件总大小是44k,而文件夹的大小只有4k? 我读错了吗? 
是的,你读错了。 4.0K是磁盘上/tmp文件夹条目占用的大小。 它通常总是4k(虽然可能会增加取决于某些因素)。 ls也不占用子文件夹内容占用的空间。
你真正想看的是du命令,以获得总磁盘空间的良好感觉。
gbeech@ny-man01:~$ ls -lh total 3.6G
VS
gbeech@ny-man01:~$ du -sh 36G .
ls -lh给你的/tmp内容的大小。 ls -ldh /tmp给你目录文件/tmp的大小,它包含/tmp内容的信息。
在Linux / Unix下,一个目录只是一个文件,其中包含d开关所说的列出directoy条目的信息,而不是内容。
编辑
如果你想知道(大约)一组文件占用了多less磁盘空间,那么du -h会给你这个空间。 如果你想知道文件大小的总和,那么du -b会更准确。
例如
du -h 56K ./vmware-root 12K ./.font-unix 8.0K ./.ICE-unix 164K . du -b 28474 ./vmware-root 4096 ./.font-unix 4096 ./.ICE-unix 68798 .
du -b的输出对应于输出
find . -ls | awk '{total += $7} END {print total}' 68798
这是文件大小的总和。