du(diskusage)命令可以计算文件或目录所占的磁盘空间。没有指定任何选项时,它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作目录所占总快数。
命令用途
du(diskusage)命令可以计算文件或目录所占的磁盘空间。没有指定任何选项时,它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作目录所占总快数。
命令格式
du[OPTION][FILE]
-a,–all
包括了所有的文件,而不只是目录
–apparent-size
printapparentsizes,ratherthandiskusage; althoughtheapparentsizeisusuallysmaller,itmaybelargerdue
toholesin(’sparse’)files,internalfragmentation,indirectblocks,andthelike
-B,–block-size=SIZEuseSIZE-byteblocks
-b,–bytes以字节为计算单位
-k以千字节(KB)为计算单位
-m以兆字节(M)为计算单位
-c,–total最后加上一个总计(系统缺省)
-D,–dereference-args
dereferenceFILEsthataresymboliclinks
-H跟--si效果一样。
-h,–human-readable以比较阅读的方式输出文件大小信息(例如,1K234M2G)。注:该选项在很多其他命令(df,ls)中也有效。
–si跟-h效果一样,只是以1000为换算单位
-l,–count-links计算所有的文件大小,对硬链接文件,则计算多次。
-L,–dereference显示选项中所指定符号连接的源文件大小。
-P,–no-dereference不跟随任何的符号连接(缺省)
-S,–separate-dirs计算目录所占空间时不包括子目录的大小。
-s,–summarize只显示工作目录所占总空间
-x,–one-file-system以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-XFILE,–exclude-from=FILE排除掉指定的FILE
–exclude=PATTERN排除掉符合样式的文件,Pattern就是普通的Shell样式,?表示任何一个字符,*表示任意多个字符。
–max-depth=N
只列出深度小于max-depth的目录和文件的信息–max-depth=0的时候效果跟–s是一样
使用案例
root@ubuntu:/#cd/home/web/
root@ubuntu:/home/web#du-s
793832.–不指定FILE名字计算出当前目录所占用的空间大小。
root@ubuntu:/#$du-sh
776M.–不指定FILE名字计算出当前目录所占用的空间大小。-h选项使得输出结果跟容易阅读(跟上例比较)
root@ubuntu:/#$du–max-depth=1-h
–输出当前目录下各个子目录所使用的空间
83M./java
87M./build
197M./jboss
128M./lib
1.1M./bin
52K./synclogs
4.8M./sql
920K./conf
52K./logs
20K./mail_group
56K./.svn
144M./htdocs
56K./jboss-conf
2.7M./auto-conf
8.0K./.mule
23M./classes
43M./templates
144K./project
776M.
找出大文件
磁盘空间被耗尽的时候,免不了要清理一下,比如说/home目录太大,就可以使用下面命令看看到底是谁:
du-s/home/*|sort-nr