df
df用于显示文件系统的整体磁盘使用量。
基本用法
df [选项] [目录/文件]
其常用选项如下所示:
选项 | 说明 |
---|---|
-a, --all | 显示所有文件系统,包括/proc等虚拟文件系统 |
-h, --human-readable | 以易读的形式进行显示 |
-k | 以KB为单位显示各文件系统 |
-m | 以MB为单位显示各文件系统 |
-t, --type=TYPE | 仅显示指定文件系统类型的文件系统 |
-T, --print-type | 显示各文件系统的类型 |
-x, --exclude-type=TYPE | 显示排除指定的文件系统类型 |
示例用法
1、显示磁盘整体使用量和对应的文件系统类型
[root@localhost ~]# df -h -T
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 275G 23G 253G 9% /
devtmpfs devtmpfs 63G 0 63G 0% /dev
tmpfs tmpfs 63G 4.0K 63G 1% /dev/shm
tmpfs tmpfs 63G 324M 63G 1% /run
tmpfs tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/sda1 vfat 500M 9.8M 490M 2% /boot/efi
/dev/sdb1 xfs 15T 4.2G 15T 1% /home/data
/dev/loop0 ext4 1.9G 6.1M 1.7G 1% /srv/node/swiftloopback
tmpfs tmpfs 13G 32K 13G 1% /run/user/1000
tmpfs tmpfs 13G 36K 13G 1% /run/user/0
tmpfs tmpfs 13G 12K 13G 1% /run/user/42
以上这种用法也常用来查看系统的挂载点。,另外也可以使用命令lsblk
2、排除文件类型为tmpfs的文件系统类型
[root@localhost ~]# df -h -x tmpfs
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 275G 23G 253G 9% /
devtmpfs 63G 0 63G 0% /dev
/dev/sda1 500M 9.8M 490M 2% /boot/efi
/dev/sdb1 15T 4.2G 15T 1% /home/data
/dev/loop0 1.9G 6.1M 1.7G 1% /srv/node/swiftloopback
3、仅指定类型的文件系统
[root@localhost ~]# df -h -t xfs
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 275G 23G 253G 9% /
/dev/sdb1 15T 4.2G 15T 1% /home/data
du
du全称disk usage,用于显示文件系统的硬盘使用量,而最常见的功能是用查看目录使用量。
基本用法
du [选项] [目录/文件]
其常用选项如下所示:
选项 | 说明 |
---|---|
-a, --all | 显示所有文件与文件夹容量 |
-c, --total | 除显示目录或文件大小外,也显示所有目录或文件的总和 |
-h, --human-readable | 以易读的形式进行显示 |
-k | 以KB形式进行显示 |
-m | 以MB形式进行显示 |
-s, --summarize | 仅显示总容量,而不显示每个子目录的占用量 |
--exclude=PATTERN | 显示时排除指定的文件或目录 |
--max-depth=N | 仅显示指定目录层级的文件或目录大小 |
示例用法
1、显示当前下各目录的磁盘使用量
[root@localhost ~]# du -sh *
4.4G CentOS-6.6-x86_64-bin-DVD1.iso
3.7G CentOS-6.9-x86_64-bin-DVD1.iso
4.2G CentOS-7.5-x86_64-DVD-1804.iso
4.0K CentOS7-Base-163.repo
34M dbeaver-ce-5.1.2-x86_64-setup.exe
35M docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
16K epel-release-latest-7.noarch.rpm
163M jdk-8u181-linux-x64.rpm
218M Remmina
[root@localhost ~]# du -ch *.iso
4.4G CentOS-6.6-x86_64-bin-DVD1.iso
3.7G CentOS-6.9-x86_64-bin-DVD1.iso
4.2G CentOS-7.5-x86_64-DVD-1804.iso
# 使用-c选项在最后显示了总用量,相当于将三个ISO文件的使用量做了加法
13G 总用量
2、文件和文件夹是存在层级和嵌套关系的,如果我们只想显示指定层级的使用量信息,就需要使用选项--max-depth。这个选项在查找系统某个目录使用量比较大的时候,超级有用
[root@localhost ~]# du -h --max-depth=1 /
136M /boot
0 /dev
324M /run
0 /sys
52M /etc
48M /root
2.4G /var
988K /tmp
4.8G /usr
17G /home
0 /media
0 /mnt
0 /opt
101M /srv
25G /
3、默认情况下,du只显示目录的容量,而不显示单个文件大小,这个时候就需要用到-a选项
[root@localhost sysconfig]# du -h .
8.0K ./cbq
0 ./console
8.0K ./modules
268K ./network-scripts
532K .
[root@localhost sysconfig]# du -ah .
4.0K ./ip6tables-config
4.0K ./iptables-config
4.0K ./cbq/avpkt
4.0K ./cbq/cbq-0000.example
4、在使用-a选项后,会将隐藏文件也显示出来,而如果不想显示隐藏文件,需要作用--exclude
[root@localhost ~]# du -ah . | more
4.0K ./.bash_logout
4.0K ./.bash_profile
4.0K ./.bashrc
4.0K ./.cshrc
[root@localhost ~]# du -ah --exclude="*/.*" .
4.0K ./anaconda-ks.cfg
4.0K ./initial-setup-ks.cfg
4.0K ./keystonerc_demo
5、结合sort命令可对du输出信息进行排序
[root@localhost ~]# du -h --max-depth=1 / | sort -hr
25G /
17G /home
4.8G /usr
2.4G /var
324M /run
136M /boot
101M /srv
52M /etc
48M /root
988K /tmp
0 /sys
0 /proc
0 /opt
0 /mnt
0 /media
0 /dev
本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注: