标签:du
du用来查看某个目录或文件所占空间大小。
语法:du [-abckmsh][文件或目录名]
常用的参数有:
-a:全部文件与目录大小都列出来。如果不加任何选项和参数只列出目录(包含子目录)大小。
如果du不指定单位的话,默认显示单位为K。
-b:列出的值以bytes为单位输出。
-k:以KB为单位输出,和默认不加任何选项的输出值是一样的。
-m:以MB为单位输出。
- h:系统自动调节单位;例如文件大小就几K,那么就以K单位显示,如果大到几G,则就以G单位显示。
[root@qiangzi ~]# du -b /etc/passwd
1295 /etc/passwd
[root@qiangzi ~]# du -k /etc/passwd
4 /etc/passwd
[root@qiangzi ~]# du -m /etc/passwd
1 /etc/passwd
[root@qiangzi ~]# du -h /etc/passwd
4.0K /etc/passwd
-c:选项为最后加总,(这个选项不常用)
[root@qiangzi ~]# du -c dirb
4 dirb
4 总用量
[root@qiangzi ~]# du dirb
4 dirb
-s:只列出总和,这个是用的最多。
[root@qiangzi ~]# du -s dirb
4 dirb
一般用du -sh filename(文件名)这样的形式。
[root@qiangzi ~]# du -sh dirb
4.0K dirb
du -sh 和ls -lh 的原因
对于同一个文件,一般du -sh 出来的比ls -lh 的要大,这是由于k引起来的。
原因是:
在格式化磁盘分区时,磁盘会被分割成一个个的block块,一个block是4K大小,且一个block只能放一个文件,如果这个文件很大,如大于4K,一个block是放不了的,需要另放在其他的块里;如果一个文件很小,不到4K,这个快也不会再放其他的文件了,这样du -sh其实是读取文件的block的大小,ls -lh读取的是文件本身大小。如果一个文件的大小正好是4K或者4K的倍数,则du -sh 和ls -lh读取的大小是一样的
本文出自 “12350027” 博客,谢绝转载!
标签:du
原文地址:http://12360027.blog.51cto.com/12350027/1934533