写点什么

Linux 之 du 命令

用户头像
入门小站
关注
发布于: 3 小时前

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 显示版本信息并退出

显示目录的大小

du0       ./lib12      ./bin/rumenz12      ./bin0       ./sbin/doc0       ./sbin/info4       ./sbin0       ./doc/js0       ./doc/css0       ./doc/html/rumenz0       ./doc/html/rumenzz4       ./doc/html4       ./doc0       ./rumenz/lib/test0       ./rumenz/lib/info0       ./rumenz/lib0       ./rumenz52      ./one104     .
复制代码


只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的 104 为当前目录的总大小

显示指定文件所占的磁盘空间

> du rumenz.txt
复制代码

查看指定目录的所占空间

> du src0       src/lib12      src/bin/rumenz12      src/bin0       src/sbin/doc0       src/sbin/info4       src/sbin0       src/doc/js0       src/doc/css0       src/doc/html/rumenz0       src/doc/html/rumenzz4       src/doc/html4       src/doc0       src/rumenz/lib/test0       src/rumenz/lib/info0       src/rumenz/lib0       src/rumenz52      src/one104     src/
复制代码


最后一行是整个目录src所占的磁盘空间

查看指定目录的所占空间,提高信息的可读性

> du -h src0       src/lib12K     src/bin/rumenz12K     src/bin0       src/sbin/doc0       src/sbin/info4.0K    src/sbin0       src/doc/js0       src/doc/css0       src/doc/html/rumenz0       src/doc/html/rumenzz4.0K    src/doc/html4.0K    src/doc0       src/rumenz/lib/test0       src/rumenz/lib/info0       src/rumenz/lib0       src/rumenz52K     src/one104K    src/
复制代码


最后一行是整个目录src所占的磁盘空间,加上了单位,可读性变强

显示多个文件所占的空间

> du  a.log b.log0       a.log0       b.log
复制代码

只显示目录的总大小

> du -s /root826036  /root
复制代码


统计总用量(-s代表summarize

只显示目录的总大小,提高可读性

> du -sh /root/807M    /root/
复制代码

文件和目录的大小都显示

> du -ah src/0       src/lib0       src/bin/rumenz/5.txt0       src/bin/rumenz/3.txt8.0K    src/bin/rumenz/5.txt~4.0K    src/bin/rumenz/1.txt12K     src/bin/rumenz12K     src/bin0       src/sbin/doc0       src/sbin/info4.0K    src/sbin/rumenz.txt4.0K    src/sbin0       src/doc/js0       src/doc/css4.0K    src/doc/html/1.sh0       src/doc/html/1.txt0       src/doc/html/2.txt0       src/doc/html/rumenz/1.txt0       src/doc/html/rumenz/2.txt0       src/doc/html/rumenz0       src/doc/html/rumenzz/1.txt~0       src/doc/html/rumenzz/1.txt0       src/doc/html/rumenzz0       src/doc/html/1_link.txt4.0K    src/doc/html0       src/doc/rumenz.txt4.0K    src/doc0       src/rumenz/lib/test0       src/rumenz/lib/info0       src/rumenz/lib0       src/rumenz4.0K    src/InfiniteLoop$1.class4.0K    src/InfiniteLoop.class12K     src/nohup.out4.0K    src/InfiniteLoop.java4.0K    src/rumenz.txt4.0K    src/Rumenz.txt0       src/ABC1.png0       src/AB2.png0       src/ABC123.png0       src/A123.png0       src/b.log4.0K    src/one/rumenz.tar.gz0       src/one/1.txt0       src/one/2.txt48K     src/one/etc.tar.gz52K     src/one4.0K    src/a.log108K    src/
复制代码

显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和

> du -c a.log b.log 4       a.log0       b.log4       total
复制代码


加上-c 选项后,du 不仅显示两个目录各自占用磁盘空间的大小,还在最后一行统计它们的总和。

按照空间大小排序

> du -ah src | sort -nr108K    ./src108K    .52K     ./src/one48K     ./src/one/etc.tar.gz12K     ./src/nohup.out12K     ./src/bin/rumenz12K     ./src/bin8.0K    ./src/bin/rumenz/5.txt~4.0K    ./src/sbin/rumenz.txt4.0K    ./src/sbin4.0K    ./src/Rumenz.txt4.0K    ./src/rumenz.txt4.0K    ./src/one/rumenz.tar.gz4.0K    ./src/InfiniteLoop.java4.0K    ./src/InfiniteLoop.class4.0K    ./src/InfiniteLoop$1.class4.0K    ./src/doc/html/1.sh4.0K    ./src/doc/html4.0K    ./src/doc4.0K    ./src/bin/rumenz/1.txt4.0K    ./src/a.log0       ./src/sbin/info0       ./src/sbin/doc0       ./src/rumenz/lib/test0       ./src/rumenz/lib/info0       ./src/rumenz/lib0       ./src/rumenz0       ./src/one/2.txt0       ./src/one/1.txt0       ./src/lib0       ./src/doc/rumenz.txt0       ./src/doc/js0       ./src/doc/html/rumenzz/1.txt~0       ./src/doc/html/rumenzz/1.txt0       ./src/doc/html/rumenzz0       ./src/doc/html/rumenz/2.txt0       ./src/doc/html/rumenz/1.txt0       ./src/doc/html/rumenz0       ./src/doc/html/2.txt0       ./src/doc/html/1.txt0       ./src/doc/html/1_link.txt0       ./src/doc/css0       ./src/b.log0       ./src/bin/rumenz/5.txt0       ./src/bin/rumenz/3.txt0       ./src/ABC1.png0       ./src/ABC123.png0       ./src/AB2.png0       ./src/A123.png
复制代码

输出当前目录下各个子目录所使用的空间

> du -h --max-depth src0       src/lib12K     src/bin4.0K    src/sbin4.0K    src/doc0       src/rumenz52K     src/one108K    src
复制代码


原文链接:https://rumenz.com/rumenbiji/linux-du.html

微信公众号:入门小站

发布于: 3 小时前阅读数: 5
用户头像

入门小站

关注

还未添加个人签名 2020.01.18 加入

还未添加个人简介

评论

发布
暂无评论
Linux之du命令