du    查看文件或目录的使用大小

-h  人性化显示大小

-s   查看指定文件或目录的大小


#列出这个目录下所有文件和目录的大小

[root@wy ~]# du /etc/


#查看这个目录的大小

[root@wy ~]# du -sh /etc/

28M /etc/

[root@wy ~]# du -sh /etc/init.d/iptables

12K /etc/init.d/iptables

[root@wy ~]# ls -lh /etc/init.d/iptables

-rwxr-xr-x. 1 root root 11K 11月 23 2013 /etc/init.d/iptables

查看同样的文件,这两个命令显示的大小结果不一样,用b单位来显示:

[root@wy ~]# du -sb /etc/init.d/iptables

10688 /etc/init.d/iptables

[root@wy ~]# ls -lb /etc/init.d/iptables

-rwxr-xr-x. 1 root root 10688 11月 23 2013 /etc/init.d/iptables

解释说明:

这时候结果相同了,以k为单位是有一定区别的,为什么有区别,这就牵扯一个磁盘的块,因为我们格式化一个磁盘的时候,划分区的时候,它会把这个磁盘化分成一些小的单位,比如说一小块一小块,每一个小块默认是4k,关于在磁盘上去存储这个文件,它有一个特性,一个块里面只能放一个文件(虽然文件没有4k,它只占用了这个块的一小部分);有时候一个文件很大,一个块占不下,它就应该放在多个块里面;结论:du -sh查看的是占用磁盘空间的大小,ls -lh 是文件本身的大小。du -sb可以查看真实大小。