破洛洛手机网
当前位置: 首页 > 服务器 > Linux > 正文

LINUX的磁盘管理du命令详解

作者:佚名 来源:网络整理 2015-8-5

   命令用途

  du(disk usage)命令可以计算文件或目录所占的磁盘空间。没有指定任何选项时,它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作目录所占总快数。

  命令格式

  du [OPTION]… [FILE]…

  -a, –all

  包括了所有的文件,而不只是目录

  –apparent-size

  print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due

  to holes in (’sparse’) files, internal fragmentation, indirect blocks, and the like

  -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是 一样

  使用案例

  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

推荐阅读