【Linux】一步一步学Linux——du命令(78)

00. 目录

01. 命令概述

du - 报告磁盘空间使用情况

du命令**的英文全称是“Disk Usage”,即用于查看磁盘占用空间的意思。但是与df命令不同的是du命令是对文件和目录磁盘使用的空间的查看,而不是某个分区。

02. 命令格式

用法:du [选项]... [文件]...
 或:du [选项]... --files0-from=F

03. 常用选项

POSIX 选项
       -a     显示对涉及到的所有文件的统计,而不只是包含子目录。
       -k     用1024字节作为计数单位,替代缺省时512字节的计数单位。
       -x     只输出指定参数的实际使用空间,而不包括其下的子目录。
       -s     只统计指定参数的在同一设备上所使用的空间。

GNU 选项
       -a, --all
              显示对所有文件的统计,而不只是包含子目录。
       -b, --bytes
              输出以字节为单位的大小,替代缺省时1024字节的计数单位。
       --block-size=size
              输出以块为单位的大小,块的大小为 size  字节。(  file-  utils-4.0
              的新选项)
       -c, --total
              在处理完所有参数后给出所有这些参数的总计。这个选项被
              用给出指定的一组文件或目录使用的空间的总和。
       -D, --dereference-args
              引用命令行参数的符号连接。但不影响其他的符号连接。    这对找出象
              /usr/tmp          这样的目录的磁盘使用量有用,          /usr/tmp
              等通常是符号连接。  译住:例如在  /var/tmp   下建立一个目录test,
              而/usr/tmp  是指向  /var/tmp  的符号连接。du  /usr/tmp  返回一项
              /usr/tmp , 而 du - D /usr/tmp 返回两项 /usr/tmp,/usr/tmp/test。
       --exclude=pattern
              在递归时,忽略与指定模式相匹配的文件或子目录。模式    可以是任何
              Bourne shell 的文件 glob 模式。( file- utils-4.0 的新选项)
       -h, --human-readable
              为每个数附加一个表示大小单位的字母,象用M表示二进制 的兆字节。
       -H, --si
              与    -h    参数起同样的作用,只是使用法定的    SI    单位(   用
              1000的幂而不是  1024  的幂,这样  M   代表的就是1000000   而不是
              1048576)(fileutils-4.0 的新选项)
       -k, --kilobytes
              输出以1024字节为计数单位的大小。
       -l, --count-links
              统计所有文件的大小,包括已经被统计过的(作为一个硬连接)。
       -L, --dereference
              引用符号连接(不是显示连接点本身而是连接指向的文件或
              目录所使用的磁盘空间)。
       -m, --megabytes
              输出以兆字节的块为计数单位的大小(就是 1,048,576 字节)。
       --max-depth=n
              只输出命令行参数的小于等于第n层的目录的总计。--max-depth=0的作用同于-s选项。(fileutils-4.0的新选项)
       -s, --summarize
              对每个参数只显示总和。
       -S, --separate-dirs
              单独报告每一个目录的大小,不包括子目录的大小。
       -x, --one-file-system
              忽略与被处理的参数不在同一个文件系统的目录。
       -X file, --exclude-from=file
              除了从指定的文件中得到模式之外与         --exclude        一样。
              模式以行的形式列出。如果指定的文件是'-',那么从标准输
              入中读出模式。(fileutils-4.0 的新选项) GNU 标准选项
       --help 在标准输出上输出帮助信息后正常退出。
       --version
              在标准输出上输出版本信息后正常退出。
       --     终结选项列表

04. 参考示例

4.1 显示当前目录所使用的磁盘空间

[deng@redhat test]$ du 
4       .
[deng@redhat test]$ 

**说明:**只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的1288为当前目录的总大小

4.2 显示指定文件所占空间

[deng@redhat ~]$ du oracle_client_11gR2.tar.gz 
56280   oracle_client_11gR2.tar.gz
[deng@redhat ~]$ 

4.3 查看指定目录的所占空间

[deng@redhat ~]$ du -sh bak
4.3M    bak
[deng@redhat ~]$ 

4.4 显示多个文件所占空间

[deng@redhat ~]$ du scott_data.sql  oracle_client_11gR2.tar.gz 
4       scott_data.sql
56280   oracle_client_11gR2.tar.gz
[deng@redhat ~]$ 

4.5 只显示总和的大小

[deng@redhat ~]$ du -s bj34
5976    bj34
[deng@redhat ~]$ du -s bak
4348    bak
[deng@redhat ~]$ 

4.6 方便阅读的格式显示

[deng@redhat ~]$ du -h oracle_client_11gR2.tar.gz 
55M     oracle_client_11gR2.tar.gz
[deng@redhat ~]$ 

4.7 文件和目录都显示

[deng@redhat ~]$ du -ah bak
12K     bak/5th/1client/poolsocket.c
4.0K    bak/5th/1client/socketlog.c
4.0K    bak/5th/1client/socketlog.h
20K     bak/5th/1client/socketutil.c
4.0K    bak/5th/1client/socketutil.h
4.0K    bak/5th/1client/Makefile
4.0K    bak/5th/1client/client.c

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

[deng@redhat ~]$ du -c test
4       test
4       总用量
[deng@redhat ~]$ 

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

4.9 按照空间大小排序

[deng@redhat ~]$ du bak/ | sort -nr 

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

[deng@redhat ~]$ du -h bak --max-depth=1
204K    bak/5th
284K    bak/6th
1.0M    bak/7th
1.4M    bak/8th
1.4M    bak/9th
4.3M    bak
[deng@redhat ~]$ 

4.11 显示最后的修改时间

[deng@redhat ~]$ du --time test.c
4       2019-07-30 10:04        test.c
[deng@redhat ~]$ 

4.12 显示最后访问时间

[deng@redhat ~]$ du --time=use test.c
4       2019-07-30 10:04        test.c
[deng@redhat ~]$ 

4.13 显示最后状态修改时间

[deng@redhat ~]$ du --time=status test.c
4       2019-07-30 10:04        test.c
[deng@redhat ~]$ 

4.14 以Mb为单位显示

[deng@redhat ~]$ du -m oracle_client_11gR2.tar.gz 
55      oracle_client_11gR2.tar.gz

注意:不足1M的按照1M处理。

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值