当前位置:首页>Linux>Linux命令每日一清单018:df--磁盘空间查看命令速查表

Linux命令每日一清单018:df--磁盘空间查看命令速查表

  • 2026-10-10 19:48:05
Linux命令每日一清单018:df--磁盘空间查看命令速查表

df(disk free)是Linux系统中用于查看文件系统磁盘空间使用情况的标准工具。它能够显示已挂载文件系统的总容量、已用空间、可用空间、使用百分比等关键信息,是系统管理员监控磁盘空间、预防磁盘满问题的重要工具。

与du(disk usage)命令不同,df从文件系统层面报告整体使用情况,而非单个目录的占用。df支持多种输出格式,可以按字节、KB、MB、GB等不同单位显示,还可以查看inode使用情况(Linux中每个文件/目录占用一个inode)。掌握df是进行磁盘空间管理和容量规划的基础技能。

1. 基本用法

命令说明
df
显示所有已挂载文件系统的磁盘使用情况
df /home
显示指定路径所在文件系统的使用情况
df -h
人类可读格式(K、M、G,基于1024)
df -H
人类可读格式(K、M、G,基于1000,SI单位)
df -a
包含所有文件系统(包括伪文件系统和重复项)
df --total
在底部添加总计行

2. 大小显示格式

选项说明
-h
自动缩放,使用1024进制(K、M、G)
-H
自动缩放,使用1000进制(SI单位)
-k
以1K块为单位显示(大多数系统默认)
-m
以1M块为单位显示
-B G
 或 --block-size=G
以1G块为单位显示
-B 512
 或 --block-size=512
以512字节块为单位显示
-BM
以1M块为单位显示(-B M的简写)

3. 输出列说明

默认df输出各列含义:

列名说明
Filesystem
文件系统的设备名或远程路径
1K-blocks
 或 Size
文件系统的总大小
Used
已使用的空间
Available
可用的空间
Use%
已使用空间的百分比
Mounted on
文件系统的挂载点目录

4. 文件系统类型过滤

命令说明
df -T
显示文件系统类型列
df -t ext4
仅显示ext4类型的文件系统
df -t xfs
仅显示xfs类型的文件系统
df -x tmpfs
排除tmpfs类型的文件系统
df -x squashfs
排除squashfs(快照文件系统)
df -l
仅显示本地文件系统(排除网络挂载)
df -Th
显示类型列,使用人类可读格式

常用组合:

df -Th                # 显示类型+人类可读
df -t ext4 -h         # 仅显示ext4,人类可读
df -x tmpfs -x devtmpfs -h   # 排除临时文件系统

5. Inode使用情况

inode是Linux文件系统中存储文件元数据的结构,inode耗尽会导致无法创建新文件:

命令说明
df -i
显示所有文件系统的inode使用情况
df -ih
显示inode使用情况,人类可读格式
df -i /home
显示指定路径所在文件系统的inode使用情况
df -i -t ext4
显示ext4文件系统的inode使用情况

inode列说明:

列名说明
Inodes
文件系统总的inode数量
IUsed
已使用的inode数量
IFree
可用的inode数量
IUse%
inode使用百分比

6. 自定义输出字段

使用--output选项选择要显示的字段:

字段名说明
source
文件系统设备名
fstype
文件系统类型
size
总大小
used
已用空间
avail
可用空间
pcent
已用百分比
iused
已用inode数
iavail
可用inode数
ipcent
inode使用百分比
target
挂载点

示例:

命令说明
df --output=source,size,used,avail,pcent,target -h
显示自定义字段(人类可读)
df --output=target,pcent -h | sort -k2 -n
按使用百分比排序
df --output=source,fstype,target
仅显示设备和挂载点

7. 实用组合模式

命令说明
df -h | grep -v "loop"
排除loop设备(snap等)
df -h --total | tail -1
仅显示总计行
df -h /home /var /tmp
同时查看多个目录所在分区
df -Th | sort -k2
按文件系统类型排序
df -h | awk '$5 > 80 {print $5, $6}'
显示使用率超过80%的分区
df -i | awk '$5 > 80 {print $5, $6}'
显示inode使用率超过80%的分区
df -h | grep "^/dev/"
仅显示物理设备(排除tmpfs等)

8. 常用选项速查

选项完整名称说明
-h
--human-readable
人类可读格式(1024进制)
-H
--si
人类可读格式(1000进制)
-T
--print-type
显示文件系统类型
-t
--type
仅显示指定类型的文件系统
-x
--exclude-type
排除指定类型的文件系统
-i
--inodes
显示inode使用情况
-l
--local
仅显示本地文件系统
-a
--all
包含所有文件系统
--total
-
显示总计行
--output
-
自定义输出字段
-B
--block-size
指定块大小

9. 故障排查

问题解决方法
磁盘空间显示满但du显示空间未用
文件可能被删除但仍被进程占用,使用lsof | grep deleted查找
Use%显示100%但Available还有空间
inode耗尽,使用df -i检查;或预留空间(5%默认预留)
df命令卡住
可能是网络文件系统(NFS)挂载点不可达,使用df -l跳过网络挂载
显示大小与实际不符
注意-h和-H的区别(1024 vs 1000);检查是否有配额限制
loop设备占用过多输出
使用grep -v loop过滤,或df | grep -E "^/dev/"
无法显示某些挂载点
检查是否有权限;使用sudo执行

10. 与其他命令配合

命令说明
watch -n 5 df -h /
每5秒监控根分区磁盘使用情况
df -h && du -sh /var/log
查看整体和指定目录空间
df -i /var
检查inode使用情况(邮件服务器常见问题)
df -h | mail -s "磁盘使用报告" admin@example.com
发送磁盘报告邮件

温馨提示: 定期监控磁盘使用率是系统管理的基本任务。建议设置80%为告警阈值,90%为紧急阈值。当磁盘空间不足时,使用du -sh *查找大目录,结合find查找大文件。注意inode耗尽同样会导致无法写入新文件,尤其常见于邮件服务器、缓存目录等小文件多的场景。使用df -T可以快速了解文件系统类型,便于选择相应的管理策略。

本文PDF格式下载:

  关注公众号(haopython),请回复: LLTDF

最新文章

随机文章