Linux之du命令
du命令的作用是估计文件系统的磁盘已使用量,常用于查看文件或者目录所占的磁盘量。du命令 也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。命令语法
du [选项][文件]命令选项-a, --all 显示目录中个别文件的大小。-B, --block-size=大小 使用指定字节数的块-b, --bytes 显示目录或文件大小时,以byte为单位。-c, --total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。-D, --dereference-args 显示指定符号链接的源文件大小。-H, --si 与-h参数相同,但是K,M,G是以1000为换算单位。-h, --human-readable 以K,M,G为单位,提高信息的可读性。-k, --kilobytes 以KB(1024bytes)为单位输出。-l, --count-links 重复计算硬件链接的文件。-m, --megabytes 以MB为单位输出。-L<符号链接>, --dereference<符号链接> 显示选项中所指定符号链接的源文件大小。-P, --no-dereference 不跟随任何符号链接(默认)-0, --null 将每个空行视作0 字节而非换行符-S, --separate-dirs 显示个别目录的大小时,并不含其子目录的大小。-s, --summarize 仅显示总计,只列出最后加总的值。-x, --one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。-X<文件>, --exclude-from=<文件> 在<文件>指定目录或文件。–apparent-size 显示表面用量,而并非是磁盘用量;虽然表面用量通常会小一些,但有时它会因为稀疏文件间的"洞"、内部碎片、非直接引用的块等原因而变大。–files0-from=F 计算文件F中以NUL结尾的文件名对应占用的磁盘空间如果F的值是"-",则从标准输入读入文件名–exclude=<目录或文件> 略过指定的目录或文件。–max-depth=N 显示目录总计(与–all 一起使用计算文件)当N为指定数值时计算深度为N,等于0时等同–summarize–si 类似-h,但在计算时使用1000 为基底而非1024–time 显示目录或该目录子目录下所有文件的最后修改时间–time=WORD 显示WORD时间,而非修改时间:atime,access,use,ctime 或status–time-style=样式 按照指定样式显示时间(样式解释规则同"date"命令):full-iso,long-iso,iso,+FORMAT–help 显示此帮助信息并退出–version 显示版本信息并退出显示目录的大小du 0 ./lib 12 ./bin/rumenz 12 ./bin 0 ./sbin/doc 0 ./sbin/info 4 ./sbin 0 ./doc/js 0 ./doc/css 0 ./doc/html/rumenz 0 ./doc/html/rumenzz 4 ./doc/html 4 ./doc 0 ./rumenz/lib/test 0 ./rumenz/lib/info 0 ./rumenz/lib 0 ./rumenz 52 ./one 104 .
只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的104为当前目录的总大小显示指定文件所占的磁盘空间> du rumenz.txt 查看指定目录的所占空间> du src 0 src/lib 12 src/bin/rumenz 12 src/bin 0 src/sbin/doc 0 src/sbin/info 4 src/sbin 0 src/doc/js 0 src/doc/css 0 src/doc/html/rumenz 0 src/doc/html/rumenzz 4 src/doc/html 4 src/doc 0 src/rumenz/lib/test 0 src/rumenz/lib/info 0 src/rumenz/lib 0 src/rumenz 52 src/one 104 src/
最后一行是整个目录src所占的磁盘空间查看指定目录的所占空间,提高信息的可读性> du -h src 0 src/lib 12K src/bin/rumenz 12K src/bin 0 src/sbin/doc 0 src/sbin/info 4.0K src/sbin 0 src/doc/js 0 src/doc/css 0 src/doc/html/rumenz 0 src/doc/html/rumenzz 4.0K src/doc/html 4.0K src/doc 0 src/rumenz/lib/test 0 src/rumenz/lib/info 0 src/rumenz/lib 0 src/rumenz 52K src/one 104K src/
最后一行是整个目录src所占的磁盘空间,加上了单位,可读性变强显示多个文件所占的空间> du a.log b.log 0 a.log 0 b.log 只显示目录的总大小> du -s /root 826036 /root
统计总用量(-s代表summarize)只显示目录的总大小,提高可读性> du -sh /root/ 807M /root/ 文件和目录的大小都显示> du -ah src/ 0 src/lib 0 src/bin/rumenz/5.txt 0 src/bin/rumenz/3.txt 8.0K src/bin/rumenz/5.txt~ 4.0K src/bin/rumenz/1.txt 12K src/bin/rumenz 12K src/bin 0 src/sbin/doc 0 src/sbin/info 4.0K src/sbin/rumenz.txt 4.0K src/sbin 0 src/doc/js 0 src/doc/css 4.0K src/doc/html/1.sh 0 src/doc/html/1.txt 0 src/doc/html/2.txt 0 src/doc/html/rumenz/1.txt 0 src/doc/html/rumenz/2.txt 0 src/doc/html/rumenz 0 src/doc/html/rumenzz/1.txt~ 0 src/doc/html/rumenzz/1.txt 0 src/doc/html/rumenzz 0 src/doc/html/1_link.txt 4.0K src/doc/html 0 src/doc/rumenz.txt 4.0K src/doc 0 src/rumenz/lib/test 0 src/rumenz/lib/info 0 src/rumenz/lib 0 src/rumenz 4.0K src/InfiniteLoop$1.class 4.0K src/InfiniteLoop.class 12K src/nohup.out 4.0K src/InfiniteLoop.java 4.0K src/rumenz.txt 4.0K src/Rumenz.txt 0 src/ABC1.png 0 src/AB2.png 0 src/ABC123.png 0 src/A123.png 0 src/b.log 4.0K src/one/rumenz.tar.gz 0 src/one/1.txt 0 src/one/2.txt 48K src/one/etc.tar.gz 52K src/one 4.0K src/a.log 108K src/ 显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和> du -c a.log b.log 4 a.log 0 b.log 4 total
加上-c选项后,du不仅显示两个目录各自占用磁盘空间的大小,还在最后一行统计它们的总和。按照空间大小排序> du -ah src | sort -nr 108K ./src 108K . 52K ./src/one 48K ./src/one/etc.tar.gz 12K ./src/nohup.out 12K ./src/bin/rumenz 12K ./src/bin 8.0K ./src/bin/rumenz/5.txt~ 4.0K ./src/sbin/rumenz.txt 4.0K ./src/sbin 4.0K ./src/Rumenz.txt 4.0K ./src/rumenz.txt 4.0K ./src/one/rumenz.tar.gz 4.0K ./src/InfiniteLoop.java 4.0K ./src/InfiniteLoop.class 4.0K ./src/InfiniteLoop$1.class 4.0K ./src/doc/html/1.sh 4.0K ./src/doc/html 4.0K ./src/doc 4.0K ./src/bin/rumenz/1.txt 4.0K ./src/a.log 0 ./src/sbin/info 0 ./src/sbin/doc 0 ./src/rumenz/lib/test 0 ./src/rumenz/lib/info 0 ./src/rumenz/lib 0 ./src/rumenz 0 ./src/one/2.txt 0 ./src/one/1.txt 0 ./src/lib 0 ./src/doc/rumenz.txt 0 ./src/doc/js 0 ./src/doc/html/rumenzz/1.txt~ 0 ./src/doc/html/rumenzz/1.txt 0 ./src/doc/html/rumenzz 0 ./src/doc/html/rumenz/2.txt 0 ./src/doc/html/rumenz/1.txt 0 ./src/doc/html/rumenz 0 ./src/doc/html/2.txt 0 ./src/doc/html/1.txt 0 ./src/doc/html/1_link.txt 0 ./src/doc/css 0 ./src/b.log 0 ./src/bin/rumenz/5.txt 0 ./src/bin/rumenz/3.txt 0 ./src/ABC1.png 0 ./src/ABC123.png 0 ./src/AB2.png 0 ./src/A123.png 输出当前目录下各个子目录所使用的空间> du -h --max-depth src 0 src/lib 12K src/bin 4.0K src/sbin 4.0K src/doc 0 src/rumenz 52K src/one 108K src
原文链接:https://rumenz.com/rumenbiji/linux-du.html