df
- 一、字段解释
- 二、显示单位
- 三、汇总显示
- 四、指定目录
- 五、指定显示字段
- 六、du和df结果不一样
df(disk free)命令用来查看系统磁盘空间使用情况。
参数:
-h
:(可读性)显示单位,换算单位1024字节-H
:(可读性)显示单位,换算单位1000字节-k
:以KB为单位,显示磁盘大小-m
:以MB为单位,显示磁盘大小--total
:汇总-i
:列出inode信息而非块使用量-T
:显示文件系统类型-t
:查看指定文件类型的磁盘使用情况,如 df -t tmpfs-x
:查看处指定文件类型外的磁盘使用情况,即 -t 的反选。-a
:显示所有文件系统
一、字段解释
不加参数默认显示所有磁盘占用情况,不显示单位。
字段从左到右依次是:
- Filesystem:磁盘使用的文件系统
- 1K-blocks:磁盘的总内存,以1K为单位(1K=1024字节)
- Used:已使用的内存
- Available:可用内存
- Use%:磁盘使用百分比
- Mounted on:磁盘文件系统的挂载点
二、显示单位
df -h
以容易阅读的格式显示大小单位,自动转换为 G(千兆字节)、M(兆字节)、K(千字节)。
也是工作中,最常用的一种方式。
df -H
和 df -h 很像,不同的是,-h 每1024字节转化为1KB,-H 每1000字节转化为1KB。
df -k
以K为单位显示文件大小,但不显示单位,也就是默认的显示格式。注:1K=1-24字节
df -m
以M为单位显示文件大小,但不显示单位。注:1M=1024K=1048576字节
三、汇总显示
df --total
可以汇总磁盘的使用情况,在最下方插入一行,显示每一列的总和。
四、指定目录
查看指定目录的挂载点和所在磁盘的使用情况。
比如:df -h /root
查看/root 目录挂载到哪个磁盘,及磁盘的使用情况。
五、指定显示字段
自定义结果输出的字段,字段名之间使用逗号分隔。
例:只显示文件系统、使用百分比、挂载点这三个字段 df --output=source,pcent,target
可选择的字段有:‘source’, ‘fstype’, ‘itotal’, ‘iused’, ‘iavail’, ‘ipcent’, ‘size’, ‘used’, ‘avail’, ‘pcent’, ‘file’ and ‘target’
六、du和df结果不一样
du 和 df 命令都可以查看磁盘使用情况,但有些时候两者的查询结果会不一样,比如:
df -h 显示/boot磁盘使用了145M
进入/boot目录后,du -sh显示只用了113M
du 基于文件获取数据,可以跨分区;
df 基于分区的块信息获取数据,只能针对整个分区;
当用户删除文件后,du将无法获取这些文件的数据,这个时候,如果还有进程持有被删除文件的句柄,文件就不会被真正的删除,分区的块信息就还保存文件信息,df 统计的时候也会算上这个文件的磁盘占用空间。
lsof 可以查看这种被删除状态的文件,也就是 deleted 状态。
进入/boot目录,lsof | grep deleted 查看 deleted 状态的文件。
kill PID 结束进程或重启对应的服务。
重启服务器也会结束进程,释放掉被删除文件的句柄。