首页 / 操作系统 / Linux / Linux命令教程:du命令 查看磁盘空间
du命令,即disk usage,可以计算文件或目录所占的磁盘空间。
命令格式:
du [选项][文件]
du [OPTION]… [FILE]…没有指定任何选项时,它会测量当前工作目录与其所有子目录,分别显示各个目录所占的空间,最后显示工作目录所占总空间。
命令选项:
-a, –all
包括了所有的文件,而不只是目录
-B, –block-size=SIZE use SIZE-byte blocks
-b, –bytes 以字节为计算单位
-k, 以千字节(KB)为计算单位
-m, 以兆字节(M)为计算单位
-c, –total 最后加上一个总计(系统缺省)
-D, –dereference-args
dereference FILEs that are symbolic links
-H 跟 - -si效果一样。
-h, –human-readable 以比较阅读的方式输出文件大小信息 (例如,1K 234M 2G)。注:该选项在很多其他命令(df, ls)中也有效。
–si 跟-h 效果一样,只是以1000为换算单位
-l, –count-links 计算所有的文件大小,对硬链接文件,则计算多次。
-L, –dereference 显示选项中所指定符号连接的源文件大小。
-P, –no-dereference 不跟随任何的符号连接(缺省)
-S, –separate-dirs 计算目录所占空间时不包括子目录的大小。
-s, –summarize 只显示工作目录所占总空间
-x, –one-file-system 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X FILE, –exclude-from=FILE 排除掉指定的FILE
–exclude=PATTERN 排除掉符合样式的文件,Pattern就是普通的Shell样式,?表示任何一个字符,*表示任意多个字符。
–max-depth=N
只列出深度小于max-depth的目录和文件的信息 –max-depth=0 的时候效果跟–s是 一样使用实例:
实例1:显示目录或者文件所占空间 命令:du输出:[root@localhost test]# du608 ./test6308 ./test44 ./scf/lib4 ./scf/service/deploy/product4 ./scf/service/deploy/info12./scf/service/deploy16./scf/service4 ./scf/doc4 ./scf/bin32./scf8 ./test31288.说明:只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的1288为当前目录的总大小实例2:显示指定文件所占空间命令:du log2012.log输出:[root@localhost test]# du log2012.log 300 log2012.log[root@localhost test]#实例3:查看指定目录的所占空间命令:du scf输出:[root@localhost test]# du scf4 scf/lib4 scf/service/deploy/product4 scf/service/deploy/info12scf/service/deploy16scf/service4 scf/doc4 scf/bin32scf[root@localhost test]#实例4:显示多个文件所占空间命令:du log30.tar.gz log31.tar.gz输出:[root@localhost test]# du log30.tar.gz log31.tar.gz 4 log30.tar.gz4 log31.tar.gz[root@localhost test]#实例5:只显示总和的大小命令:du -s输出:[root@localhost test]# du -s1288.[root@localhost test]# du -s scf32scf[root@localhost test]# cd ..[root@localhost soft]# du -s test1288test[root@localhost soft]# 实例6:方便阅读的格式显示命令:du -h test输出:[root@localhost soft]# du -h test608Ktest/test6308Ktest/test44.0Ktest/scf/lib4.0Ktest/scf/service/deploy/product4.0Ktest/scf/service/deploy/info12K test/scf/service/deploy16K test/scf/service4.0Ktest/scf/doc4.0Ktest/scf/bin32K test/scf8.0Ktest/test31.3Mtest[root@localhost soft]# 实例7:文件和目录都显示命令:输出:[root@localhost soft]# du -ah test4.0Ktest/log31.tar.gz4.0Ktest/test13.tar.gz0 test/linklog.log0 test/test6/log2014.log300Ktest/test6/linklog.log0 test/test6/log2015.log4.0Ktest/test6/log2013.log300Ktest/test6/log2012.log0 test/test6/log2017.log0 test/test6/log2016.log608Ktest/test60 test/log2015.log0 test/test4/log2014.log4.0Ktest/test4/log2013.log300Ktest/test4/log2012.log308Ktest/test44.0Ktest/scf/lib4.0Ktest/scf/service/deploy/product4.0Ktest/scf/service/deploy/info12K test/scf/service/deploy16K test/scf/service4.0Ktest/scf/doc4.0Ktest/scf/bin32K test/scf4.0Ktest/log2013.log300Ktest/log2012.log0 test/log2017.log0 test/log2016.log4.0Ktest/log30.tar.gz4.0Ktest/log.tar.bz24.0Ktest/log.tar.gz0 test/test3/log2014.log4.0Ktest/test3/log2013.log8.0Ktest/test34.0Ktest/scf.tar.gz1.3Mtest[root@localhost soft]# 实例8:显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和命令:du -c log30.tar.gz log31.tar.gz输出:[root@localhost test]# du -c log30.tar.gz log31.tar.gz 4 log30.tar.gz4 log31.tar.gz8 总计[root@localhost test]#说明:加上-c选项后,du不仅显示两个目录各自占用磁盘空间的大小,还在最后一行统计它们的总和。实例9:按照空间大小排序命令:du|sort -nr|more输出:[root@localhost test]# du|sort -nr|more1288.608 ./test6308 ./test432./scf16./scf/service12./scf/service/deploy8 ./test34 ./scf/service/deploy/product4 ./scf/service/deploy/info4 ./scf/lib4 ./scf/doc4 ./scf/bin[root@localhost test]# 实例10:输出当前目录下各个子目录所使用的空间命令:du -h --max-depth=1输出:[root@localhost test]# du -h--max-depth=1608K./test6308K./test432K ./scf8.0K./test31.3M.[root@localhost test]#本文永久更新链接地址