Linux系统之du命令的基本使用
  OBCxRew8HiW1 2023年11月02日 39 0

(Linux系统之du命令的基本使用)

一、du命令介绍

du命令是用于显示目录或文件占用的磁盘空间。

二、du命令帮助

1. du命令的help帮助信息

在Linux中的du命令中的help帮助信息

[root@jeven ~]# du --help
Usage: du [OPTION]... [FILE]...
  or:  du [OPTION]... --files0-from=F
Summarize disk usage of each FILE, recursively for directories.

Mandatory arguments to long options are mandatory for short options too.
  -0, --null            end each output line with 0 byte rather than newline
  -a, --all             write counts for all files, not just directories
      --apparent-size   print apparent sizes, rather than disk usage; although
                          the apparent size is usually smaller, it may be
                          larger due to holes in ('sparse') files, internal
                          fragmentation, indirect blocks, and the like
  -B, --block-size=SIZE  scale sizes by SIZE before printing them; e.g.,
                           '-BM' prints sizes in units of 1,048,576 bytes;
                           see SIZE format below
  -b, --bytes           equivalent to '--apparent-size --block-size=1'
  -c, --total           produce a grand total
  -D, --dereference-args  dereference only symlinks that are listed on the
                          command line
  -d, --max-depth=N     print the total for a directory (or file, with --all)
                          only if it is N or fewer levels below the command
                          line argument;  --max-depth=0 is the same as
                          --summarize
      --files0-from=F   summarize disk usage of the
                          NUL-terminated file names specified in file F;
                          if F is -, then read names from standard input
  -H                    equivalent to --dereference-args (-D)
  -h, --human-readable  print sizes in human readable format (e.g., 1K 234M 2G)
      --inodes          list inode usage information instead of block usage
  -k                    like --block-size=1K
  -L, --dereference     dereference all symbolic links
  -l, --count-links     count sizes many times if hard linked
  -m                    like --block-size=1M
  -P, --no-dereference  don't follow any symbolic links (this is the default)
  -S, --separate-dirs   for directories do not include size of subdirectories
      --si              like -h, but use powers of 1000 not 1024
  -s, --summarize       display only a total for each argument
  -t, --threshold=SIZE  exclude entries smaller than SIZE if positive,
                          or entries greater than SIZE if negative
      --time            show time of the last modification of any file in the
                          directory, or any of its subdirectories
      --time=WORD       show time as WORD instead of modification time:
                          atime, access, use, ctime or status
      --time-style=STYLE  show times using STYLE, which can be:
                            full-iso, long-iso, iso, or +FORMAT;
                            FORMAT is interpreted like in 'date'
  -X, --exclude-from=FILE  exclude files that match any pattern in FILE
      --exclude=PATTERN    exclude files that match PATTERN
  -x, --one-file-system    skip directories on different file systems
      --help     display this help and exit
      --version  output version information and exit

Display values are in units of the first available SIZE from --block-size,
and the DU_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.
Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).

SIZE is an integer and optional unit (example: 10M is 10*1024*1024).  Units
are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'du invocation'

2. du命令选项解释

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命令的基本使用

1. 显示目录的总和大小

显示目录总的所占大小

[root@jeven ~]# du -sh /etc/sysconfig/
464K	/etc/sysconfig/

2. 显示目录下各文件所占大小

查看指定目录下文件所占的空间。

[root@jeven ~]# du -sh /etc/sysconfig/*
4.0K	/etc/sysconfig/anaconda
4.0K	/etc/sysconfig/atd
4.0K	/etc/sysconfig/authconfig
4.0K	/etc/sysconfig/autofs
8.0K	/etc/sysconfig/cbq
4.0K	/etc/sysconfig/cgred
4.0K	/etc/sysconfig/chronyd
0	/etc/sysconfig/console
4.0K	/etc/sysconfig/cpupower
4.0K	/etc/sysconfig/crond
4.0K	/etc/sysconfig/ebtables-config
4.0K	/etc/sysconfig/fcoe
4.0K	/etc/sysconfig/firewalld
0	/etc/sysconfig/grub
4.0K	/etc/sysconfig/init
4.0K	/etc/sysconfig/ip6tables-config
4.0K	/etc/sysconfig/iptables-config
4.0K	/etc/sysconfig/irqbalance
4.0K	/etc/sysconfig/kdump
4.0K	/etc/sysconfig/kernel
4.0K	/etc/sysconfig/ksm
4.0K	/etc/sysconfig/libvirtd
4.0K	/etc/sysconfig/lm_sensors
4.0K	/etc/sysconfig/man-db
0	/etc/sysconfig/modules
4.0K	/etc/sysconfig/netconsole
4.0K	/etc/sysconfig/network
272K	/etc/sysconfig/network-scripts
4.0K	/etc/sysconfig/nfs
4.0K	/etc/sysconfig/ntpd
4.0K	/etc/sysconfig/ntpdate
4.0K	/etc/sysconfig/qemu-ga
4.0K	/etc/sysconfig/radvd
4.0K	/etc/sysconfig/raid-check
4.0K	/etc/sysconfig/rdisc
4.0K	/etc/sysconfig/readonly-root
4.0K	/etc/sysconfig/rpcbind
4.0K	/etc/sysconfig/rpc-rquotad
4.0K	/etc/sysconfig/rsyncd
4.0K	/etc/sysconfig/rsyslog
0	/etc/sysconfig/run-parts
4.0K	/etc/sysconfig/samba
4.0K	/etc/sysconfig/saslauthd
0	/etc/sysconfig/selinux
4.0K	/etc/sysconfig/smartmontools
4.0K	/etc/sysconfig/sshd
4.0K	/etc/sysconfig/sysstat
8.0K	/etc/sysconfig/sysstat.ioconf
4.0K	/etc/sysconfig/virtlockd
4.0K	/etc/sysconfig/virtlogd
4.0K	/etc/sysconfig/wpa_supplicant

3. 只显示指定目录下子目录的大小

查看指定目录下子目录的大小

[root@jeven ~]# du -sh /etc/sysconfig/*/
8.0K	/etc/sysconfig/cbq/
0	/etc/sysconfig/console/
0	/etc/sysconfig/modules/
272K	/etc/sysconfig/network-scripts/

四、du命令的日常使用

1. 将文件从大到小排序

将目录下的文件从大到小进行排序。

[root@jeven ~]# du -sh /etc/sysconfig/*  |sort -rh
272K	/etc/sysconfig/network-scripts
8.0K	/etc/sysconfig/sysstat.ioconf
8.0K	/etc/sysconfig/cbq
4.0K	/etc/sysconfig/wpa_supplicant
4.0K	/etc/sysconfig/virtlogd
4.0K	/etc/sysconfig/virtlockd
4.0K	/etc/sysconfig/sysstat
4.0K	/etc/sysconfig/sshd
4.0K	/etc/sysconfig/smartmontools
4.0K	/etc/sysconfig/saslauthd
4.0K	/etc/sysconfig/samba
4.0K	/etc/sysconfig/rsyslog
4.0K	/etc/sysconfig/rsyncd
4.0K	/etc/sysconfig/rpc-rquotad
4.0K	/etc/sysconfig/rpcbind
4.0K	/etc/sysconfig/readonly-root
4.0K	/etc/sysconfig/rdisc
4.0K	/etc/sysconfig/raid-check
4.0K	/etc/sysconfig/radvd
4.0K	/etc/sysconfig/qemu-ga
4.0K	/etc/sysconfig/ntpdate
4.0K	/etc/sysconfig/ntpd
4.0K	/etc/sysconfig/nfs
4.0K	/etc/sysconfig/network
4.0K	/etc/sysconfig/netconsole
4.0K	/etc/sysconfig/man-db
4.0K	/etc/sysconfig/lm_sensors
4.0K	/etc/sysconfig/libvirtd
4.0K	/etc/sysconfig/ksm
4.0K	/etc/sysconfig/kernel
4.0K	/etc/sysconfig/kdump
4.0K	/etc/sysconfig/irqbalance
4.0K	/etc/sysconfig/iptables-config
4.0K	/etc/sysconfig/ip6tables-config
4.0K	/etc/sysconfig/init
4.0K	/etc/sysconfig/firewalld
4.0K	/etc/sysconfig/fcoe
4.0K	/etc/sysconfig/ebtables-config
4.0K	/etc/sysconfig/crond
4.0K	/etc/sysconfig/cpupower
4.0K	/etc/sysconfig/chronyd
4.0K	/etc/sysconfig/cgred
4.0K	/etc/sysconfig/autofs
4.0K	/etc/sysconfig/authconfig
4.0K	/etc/sysconfig/atd
4.0K	/etc/sysconfig/anaconda
0	/etc/sysconfig/selinux
0	/etc/sysconfig/run-parts
0	/etc/sysconfig/modules
0	/etc/sysconfig/grub
0	/etc/sysconfig/console

2. 显示文件修改时间

显示目录或该目录子目录下所有文件的最后修改时间

[root@jeven ~]# du -sh /etc/sysconfig/*  --time
4.0K	2022-02-02 04:18	/etc/sysconfig/anaconda
4.0K	2018-10-31 01:10	/etc/sysconfig/atd
4.0K	2022-02-02 04:18	/etc/sysconfig/authconfig
4.0K	2018-10-31 08:17	/etc/sysconfig/autofs
8.0K	2022-02-02 04:13	/etc/sysconfig/cbq
4.0K	2018-10-31 07:26	/etc/sysconfig/cgred
4.0K	2018-04-13 01:37	/etc/sysconfig/chronyd
0	2018-10-31 06:57	/etc/sysconfig/console
4.0K	2018-11-09 07:49	/etc/sysconfig/cpupower
4.0K	2018-04-11 09:48	/etc/sysconfig/crond
4.0K	2018-04-11 10:44	/etc/sysconfig/ebtables-config
4.0K	2017-08-08 09:46	/etc/sysconfig/fcoe
4.0K	2018-10-31 06:46	/etc/sysconfig/firewalld
0	2022-02-02 04:14	/etc/sysconfig/grub
4.0K	2018-10-31 06:57	/etc/sysconfig/init
4.0K	2018-11-05 01:03	/etc/sysconfig/ip6tables-config
4.0K	2018-11-05 01:03	/etc/sysconfig/iptables-config
4.0K	2018-04-11 04:31	/etc/sysconfig/irqbalance
4.0K	2018-11-05 01:10	/etc/sysconfig/kdump
4.0K	2022-02-02 04:18	/etc/sysconfig/kernel
4.0K	2018-10-31 02:36	/etc/sysconfig/ksm
4.0K	2018-10-31 08:16	/etc/sysconfig/libvirtd
4.0K	2019-08-06 21:44	/etc/sysconfig/lm_sensors
4.0K	2018-10-30 22:55	/etc/sysconfig/man-db
0	2018-10-31 06:57	/etc/sysconfig/modules
4.0K	2018-10-31 06:57	/etc/sysconfig/netconsole
4.0K	2022-02-02 04:18	/etc/sysconfig/network
272K	2023-05-10 16:25	/etc/sysconfig/network-scripts
4.0K	2018-11-08 00:56	/etc/sysconfig/nfs
4.0K	2018-04-11 04:29	/etc/sysconfig/ntpd
4.0K	2018-04-11 04:29	/etc/sysconfig/ntpdate
4.0K	2018-10-30 22:53	/etc/sysconfig/qemu-ga
4.0K	2018-10-31 01:54	/etc/sysconfig/radvd
4.0K	2018-10-30 22:55	/etc/sysconfig/raid-check
4.0K	2017-08-04 16:01	/etc/sysconfig/rdisc
4.0K	2018-10-31 06:57	/etc/sysconfig/readonly-root
4.0K	2018-10-31 07:00	/etc/sysconfig/rpcbind
4.0K	2018-04-11 04:29	/etc/sysconfig/rpc-rquotad
4.0K	2018-04-11 10:00	/etc/sysconfig/rsyncd
4.0K	2018-10-30 22:49	/etc/sysconfig/rsyslog
0	2014-06-10 06:14	/etc/sysconfig/run-parts
4.0K	2018-10-31 06:32	/etc/sysconfig/samba
4.0K	2018-04-11 04:21	/etc/sysconfig/saslauthd
0	2022-02-02 04:14	/etc/sysconfig/selinux
4.0K	2018-04-11 04:42	/etc/sysconfig/smartmontools
4.0K	2018-04-11 12:21	/etc/sysconfig/sshd
4.0K	2018-10-31 04:04	/etc/sysconfig/sysstat
8.0K	2018-10-31 04:04	/etc/sysconfig/sysstat.ioconf
4.0K	2018-10-31 08:16	/etc/sysconfig/virtlockd
4.0K	2018-10-31 08:16	/etc/sysconfig/virtlogd
4.0K	2018-10-31 07:03	/etc/sysconfig/wpa_supplicant

3. 查看系统中占用空间较大的文件

查看系统中占用空间较大的文件,并进行排序。

[root@jeven ~]# du  --max-depth=3 -h / |sort -rh  |head -n 20
du: cannot access ‘/proc/22348/task/22348/fd/3’: No such file or directory
du: cannot access ‘/proc/22348/task/22348/fdinfo/3’: No such file or directory
du: cannot access ‘/proc/22348/fd/4’: No such file or directory
du: cannot access ‘/proc/22348/fdinfo/4’: No such file or directory
29G	/
20G	/var
18G	/var/lib/docker
18G	/var/lib
4.1G	/usr
2.5G	/root
2.4G	/data
2.3G	/root/dockerdata/overlay2
2.3G	/root/dockerdata
1.6G	/var/cache/yum
1.6G	/var/cache
1.4G	/usr/share
1.1G	/usr/lib64
763M	/data/odc
742M	/usr/lib
563M	/data/nging
444M	/usr/bin
426M	/usr/share/locale
398M	/usr/libexec
333M	/data/vanblog

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  bYdMetjCLs2g   2023年11月28日   25   0   0 bash
  wwLZeziuqjLR   2023年12月08日   103   0   0 Dockercentosbash
  mjtHZIki74si   2023年12月06日   32   0   0 ubuntubash
  hHWnOnebRjW2   2023年11月27日   25   0   0 PostgreSQLsqlbash
  vxoexqgjyiCS   2023年11月25日   23   0   0 linuxbash数组
  O3FLR83nwSoe   2023年11月22日   29   0   0 nginxHTTPbash
  vxoexqgjyiCS   2023年11月22日   23   0   0 linuxvimbash
OBCxRew8HiW1