Linux 基础教程 40-df和du命令
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,或扫描下面的二维码添加关注:
作者: Surpassme
来源: http://www.jianshu.com/u/28161b7c9995/
http://www.cnblogs.com/surpassme/
声明:本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文链接 ,否则保留追究法律责任的权利。如有问题,可发送邮件 联系。让我们尊重原创者版权,共同营造良好的IT朋友圈。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现