之前也介绍过 di disk information,不过系统默认不带,需要自己安装,如果遇到没有权限安装时,就可以使用 df 来查看当前机器剩余磁盘空间。
df 全称 disk filesystem,用于显示 Linux 系统磁盘利用率,通常也用来查看磁盘占用空间。
命令格式
df [OPTIONS] [FILE]
直接使用不加任何参数会显示所有当前被挂载的文件系统的可用空间。默认会以 1KB 为单位显示。
选项:
-a 全部文件系统列表
-h 方便阅读方式显示
-H 等于“-h”,但是计算式,1K=1000,而不是 1K=1024
-i 显示 inode 信息
-k 区块为 1024 字节
-l 只显示本地文件系统
-m 区块为 1048576 字节
--no-sync 忽略 sync 命令
-P 输出格式为 POSIX
--sync 在取得磁盘信息前,先执行 sync 命令
-T 展示文件系统类型,比如 ext4, tmpfs, 等等
使用实例
直接使用
直接使用 df
,显示设备名称、总块数、总磁盘空间、已用磁盘空间、可用磁盘空间和文件系统上的挂载点。
Filesystem 1K-blocks Used Available Use% Mounted on
udev 8126360 0 8126360 0% /dev
tmpfs 1629376 75432 1553944 5% /run
/dev/sdb1 240230912 185617700 42387064 82% /
tmpfs 8146864 546884 7599980 7% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 8146864 0 8146864 0% /sys/fs/cgroup
/dev/loop1 83712 83712 0 100% /snap/core/4206
/dev/loop4 259584 259584 0 100% /snap/electronic-wechat/7
cgmfs 100 0 100 0% /run/cgmanager/fs
tmpfs 1629376 72 1629304 1% /run/user/1000
/dev/sda3 723180576 70584 686351464 1% /media/user/add8bd89-da2a-4573-ac6e-7ec44f8c5414
/dev/loop5 84096 84096 0 100% /snap/core/4327
/dev/loop3 95872 95872 0 100% /snap/slack/6
/dev/loop6 88704 88704 0 100% /snap/core/4407
df 命令输出:
- 第一列是文件系统对应的设备文件路径名,一般是硬盘分区名
- 第二列是分区包含的数据块数目
- 第三、四列分别表示已用和可用的数据块数目,三、四列块数之和不等于第二列块数,缺省每个分区都会预留少量空间给系统管理员使用
- 第五列,Use% 表示普通用户空间占用百分比
- 最后一列,表示文件系统挂载点
优化输出,以更加易读的方式输出结果
df -h
可以显示比较友好的输出
Filesystem Size Used Avail Use% Mounted on
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 74M 1.5G 5% /run
/dev/sdb1 230G 178G 41G 82% /
tmpfs 7.8G 534M 7.3G 7% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/loop1 82M 82M 0 100% /snap/core/4206
/dev/loop4 254M 254M 0 100% /snap/electronic-wechat/7
cgmfs 100K 0 100K 0% /run/cgmanager/fs
tmpfs 1.6G 72K 1.6G 1% /run/user/1000
/dev/sda3 690G 69M 655G 1% /media/mi/add8bd89-da2a-4573-ac6e-7ec44f8c5414
/dev/loop5 83M 83M 0 100% /snap/core/4327
/dev/loop3 94M 94M 0 100% /snap/slack/6
/dev/loop6 87M 87M 0 100% /snap/core/4407
df -hT
其中 -T
参数显示文件类型 ext4 等等
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs tmpfs 1.6G 74M 1.5G 5% /run
/dev/sdb1 ext4 230G 178G 41G 82% /
说明:
-h
目前磁盘空间和使用情况 以更易读的方式显示-H
和上面的 -h 参数相同,换算时采用 1000 而不是 1024 进行容量转换-k
以单位 1K 显示磁盘的使用情况
用 inode 方式显示磁盘使用情况
使用 -i
参数
df -i
输出结果为
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 2031887 539 2031348 1% /dev
tmpfs 2036709 941 2035768 1% /run
/dev/sdb1 15269888 1896147 13373741 13% /
tmpfs 2036709 497 2036212 1% /dev/shm
tmpfs 2036709 4 2036705 1% /run/lock
tmpfs 2036709 18 2036691 1% /sys/fs/cgroup
/dev/loop0 28782 28782 0 100% /snap/electronic-wechat/7
cgmfs 2036709 14 2036695 1% /run/cgmanager/fs
tmpfs 2036709 132 2036577 1% /run/user/1000
/dev/loop8 12810 12810 0 100% /snap/core/6034
/dev/sda1 14082048 1673302 12408746 12% /media/mi/3d1b7e3e-c184-4664-9555-2b088997f2c8
/dev/sda3 45932544 11 45932533 1% /media/mi/8803a3c6-1561-4957-b9b3-e60d5688d1a6
/dev/sdc 12229708 20 12229688 1% /media/mi/data
inode (index node) 是一个在类 Unix 文件系统下用来描述文件系统对象(文件或者目录)的数据结构。每一个 indoe 保存对象数据的属性和磁盘块地址。文件类型对象属性包括 metadata(修改时间,访问属性等)和文件的所有者以及文件权限。
df -ih
显示 inodes
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 2.0M 520 2.0M 1% /dev
tmpfs 2.0M 888 2.0M 1% /run
/dev/sdb1 15M 1.8M 13M 12% /
输出磁盘文件系统
常见的文件系统有 Windows 下的 FAT32,NTFS,Unix 系统下的 ext3, ext4,添加 -T
参数在输出结果中增加一列来表示当前分区的文件系统。
df -T
而如果要在结果中筛选特定文件系统的分区可以使用 -t ext4
,比如要过滤出只显示 ext4 分区
df -t ext4
相关
查看磁盘占用 du
外延
假如你的 250G 的系统盘即将存满,下面的方式可以缓解一下硬盘压力。
移除不再使用的 package
sudo apt autoremove
sudo apt-get autoclean
查看系统日志占用:
journalctl --disk-usage
sudo journalctl --vacuum-time=3d
查看 SNAP 占用
du -h /var/lib/snapd/snaps
snap list --all
snap remove some-package
reference
- man df