linux命令详解之du命令

左手的ㄟ右手 2022-06-17 06:06 429阅读 0赞

du命令概述

du命令作用是估计文件系统的磁盘已使用量,常用于查看文件或目录所占磁盘容量。
du命令与df命令不同,df命令是统计磁盘使用情况,详见linux命令详解之df命令。
du命令会直接到文件系统内查找所有文件数据,所以命令执行时会耗费一点儿时间。
在默认情况下,输出结果大小是以KB为单位的。如果想以MB为单位,使用-m参数即可,如果只想知道目录占了多少容量,使用-s参数即可。

du命令语法

du [选项] [文件或目录名称]
参数:
-a--all, 列出所有的文件和目录容量大小而不仅仅列出目录容量大小,默认情况只是统计目录的容量大小,参考示例1。
-B--block-size=SIZE,指定单位大小。
-b--bytes,以字节为单位列出文件和目录的容量大小。
-c--total,除了列出文件和目录的容量大小外,列出总的容量大小,参考示例2。
-h--human-readable,以人们易读的方式(KB,MB,GB)显示容量大小,参考示例3。
--si:和-h参数类似,但是单位换算时是以1000进行换算,而不是1024。
-k:和--block-size=1k类似,以KB为单位。
-m:和--block-size=1m类似,以MB为单位。
-s--summarize,仅列出总量,而不列出每个目录和文件的大小,参考示例4。
-S--separate-dirs,和-s参数类似,但是统计时不包含子目录的容量大小。
--max-depth=N:类似于默认情况的du,但是,递归显示时的递归深度小于等于N。如果--max-depth=0,就相当于-s参数,只统计总量而已,参考示例4。如果--max-depth=1,就相当于du -s 目录/*,参考示例5。

du命令示例

test目录里的内容如下:

  1. test/dir1
  2. /dir1-dira
  3. /dir1-dira-file1
  4. /dir1-file1
  5. /dir1-file2
  6. /dir2
  7. /file1
  8. /file2
  9. [root@localhost test]# ll -R # test目录下所有文件
  10. .:
  11. total 216
  12. drwxr-xr-x 3 root root 4096 Apr 18 05:47 dir1
  13. drwxr-xr-x 2 root root 4096 Apr 18 05:44 dir2
  14. -rwxr-xr-x 1 root root 91272 Apr 18 05:45 file1 -rwxr-xr-x 1 root root 91272 Apr 18 05:46 file2
  15. ./dir1:
  16. total 864
  17. drwxr-xr-x 2 root root 4096 Apr 18 05:48 dir1-dira
  18. -rwxr-xr-x 1 root root 55472 Apr 18 05:46 dir1-file1 -rwxr-xr-x 1 root root 801528 Apr 18 05:47 dir1-file2
  19. ./dir1/dir1-dira:
  20. total 4
  21. -rw-r--r-- 1 root root 0 Apr 18 05:48 dir1-dira-file1
  22. ./dir2:
  23. total 0

示例1:列出目录下所有文件和目录的容量大小

  1. [root@localhost test]# du #默认情况下,只统计目录的容量大小。
  2. 8 ./dir2
  3. 12 ./dir1/dir1-dira
  4. 876 ./dir1
  5. 1092 .
  6. [root@localhost test]# du -a #统计目录和文件的容量大小。
  7. 100 ./file2
  8. 8 ./dir2
  9. 100 ./file1
  10. 4 ./dir1/dir1-dira/dir1-dira-file1
  11. 12 ./dir1/dir1-dira
  12. 792 ./dir1/dir1-file2
  13. 64 ./dir1/dir1-file1
  14. 876 ./dir1
  15. 1092 .

示例2:统计各文件的大小,并显示总大小

  1. [root@localhost test]# du /home/test/ # 默认,不显示总大小
  2. 8 /home/test/dir2
  3. 12 /home/test/dir1/dir1-dira
  4. 876 /home/test/dir1
  5. 1092 /home/test/
  6. [root@localhost test]# du -c /home/test/ #最下面显示总大小total
  7. 8 /home/test/dir2
  8. 12 /home/test/dir1/dir1-dira
  9. 876 /home/test/dir1
  10. 1092 /home/test/
  11. 1092 total

示例3:以易读的方式显示容量大小

  1. [root@localhost test]# du -h /home/test
  2. 8.0K /home/test/dir2
  3. 12K /home/test/dir1/dir1-dira
  4. 876K /home/test/dir1
  5. 1.1M /home/test

示例4:仅显示目录的总大小

  1. [root@localhost test]# du -s /home #通过-s参数只统计总量
  2. 3208 /home
  3. [root@localhost test]# du --max-depth=0 /home #通过指定递归深度方式
  4. 3208 /home

示例5:显示指定目录下每个文件或目录的容量大小

  1. [root@localhost test]# du -s /* #使用-s参数
  2. 8320 /bin
  3. 6659 /boot
  4. 152 /dev
  5. 170328 /etc
  6. 3208 /home
  7. 142868 /lib
  8. 25868 /lib64
  9. 16 /lost+found
  10. 8 /media
  11. 0 /misc
  12. 16 /mnt
  13. 0 /net
  14. 16 /opt
  15. 0 /proc
  16. 200 /root
  17. 36680 /sbin
  18. 0 /selinux
  19. 8 /srv
  20. 0 /sys
  21. 436 /tmp
  22. 2498560 /usr
  23. 72792 /var
  24. [root@localhost test]# du --max-depth=1 / #使用指定递归深度方式
  25. 436 /tmp
  26. 142868 /lib
  27. 0 /net
  28. 16 /opt
  29. 6659 /boot
  30. 0 /sys
  31. 8 /srv
  32. 8 /media
  33. 16 /mnt
  34. 25868 /lib64
  35. 36680 /sbin
  36. 2498560 /usr
  37. 170328 /etc
  38. 16 /lost+found
  39. 72792 /var
  40. 0 /selinux
  41. 8320 /bin
  42. 0 /proc
  43. 0 /misc
  44. 200 /root
  45. 3208 /home
  46. 152 /dev
  47. 2966147 /

示例6:显示指定目录下每个文件或目录的容量大小,并且以易读方式显示(常用)。

  1. [root@localhost test]# du -sh /*
  2. 8.2M /bin
  3. 6.6M /boot
  4. 152K /dev
  5. 167M /etc
  6. 3.2M /home
  7. 140M /lib
  8. 26M /lib64
  9. 16K /lost+found
  10. 8.0K /media
  11. 0 /misc
  12. 16K /mnt
  13. 0 /net
  14. 16K /opt
  15. 0 /proc
  16. 200K /root
  17. 36M /sbin
  18. 0 /selinux
  19. 8.0K /srv
  20. 0 /sys
  21. 436K /tmp
  22. 2.4G /usr
  23. 72M /var

注:本系列内容主要参考《鸟哥的linux私房菜》和CentOS系统自带的帮助文档以及网上相关资料,示例都是基于CentOS。

发表评论

表情:
评论列表 (有 0 条评论,429人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Linux命令du

    一、du介绍 Linux du (disk usage)命令:用于显示目录或文件的大小 du 会显示指定的目录或文件所占用的磁盘空间 二、语法 `du [-a

    相关 Linux命令du和df

    du du为英文disk usage缩写,含义为磁盘空间使用情况。 功能 逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况,如果没有指定目录,则

    相关 du命令详解

    du命令介绍 `du`命令(disk usage)用来展示磁盘使用量的统计信息。`du`和`df`算是一对同门师兄弟,`du`侧重在文件夹和文件的磁盘占用方面,而`df`

    相关 Linux命令du

    du命令是系统运维常用命令之一,其目的是统计文件目录占用量 \-a 显示所有文件及目录大小,递归显示 \--apparent-size 显示文件及目录展现大小,而非磁盘占用