关于linux:Linux之du命令

31次阅读

共计 4251 个字符,预计需要花费 11 分钟才能阅读完成。

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/…
微信公众号: 入门小站

正文完
 0