df命令
linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
命令介绍
-
命令格式: df [选项] [文件]
-
命令功能: 显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示。
-
命令参数:
必要参数:-a 全部文件系统列表,包括虚拟文件系统 -B:--block-size,指定单位大小。比如1k,1m等 -h 方便阅读方式显示GB、MB、KB等格式显示 -H 等于“-h”,但是计算式,1K=1000,而不是1K=1024 -i 不用硬盘容量,显示inode信息 -k 以KB的容量显示各文件系统 -l --local 只显示本地文件系统 -m 区块为1048576字节 --no-sync 忽略 sync 命令 -P --portability 输出格式为POSIX --sync 在取得磁盘信息前,先执行 sync命令 -T --print-type 文件系统类型 -t:--type=TYPE,只显示指定类型的文件系统 -x:--exclude-type=TYPE,不显示指定类型的文件系统。 --version:显示版本信息
选择参数:
--block-size=<区块大小> 指定区块大小 -t<文件系统类型> 只显示选定文件系统的磁盘信息 -x<文件系统类型> 不显示选定文件系统的磁盘信息 --help 显示帮助信息 --version 显示版本信息 “df -h”这条命令再熟悉不过。以更易读的方式显示目前磁盘空间和使用情况。 “df -i” 以inode模式来显示磁盘使用情况。 df -h 和df -i的区别是什么?同样是显示磁盘使用情况,为什么显示占用百分比相差甚远? df -h的比较好解释,就是查看磁盘容量的使用情况。 至于df -i,先需要去理解一下inode 以博客主的个人理解,最简单的说法,inode包含的信息:文件的字节数,拥有者id,组id,权限,改动时间,链接数,数据block的位置。相反是不表示文件大小。这就是为什么df -h和df -i 显示的结果是不一样的原因。 ps:在df -h 和df -i 显示使用率100%,基本解决方法都是删除文件。 df -h 是去删除比较大无用的文件-----------大文件占用大量的磁盘容量。 df -i 则去删除数量过多的小文件-----------过多的文件占用了大量的inode号。
df命令示例
示例1:查看包含给定文件磁盘空间使用情况
[root@localhost ~]# df /home #指定一个文件夹,查看该文件夹所在磁盘的使用情况
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
[root@localhost ~]# df /bin/ls #指定一个文件
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
[root@localhost ~]# df /bin/ls /home #指定多个文件或文件夹
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda2 16036224 2749160 12459316 19% /
[root@localhost ~]# df /bin/ls /home /usr/ #指定多个文件或文件夹
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda2 16036224 2749160 12459316 19% /
[root@localhost ~]# df # 默认情况
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
输出结果列说明:
- Filesystem:代表该文件系统时哪个分区,所以列出的是设备名称。
- 1K-blocks:说明下面的数字单位是1KB,可利用-h或-m来改变单位大小,也可以用-B来设置。
- Used:已经使用的空间大小。
- Available:剩余的空间大小。
- Use%:磁盘使用率。如果使用率在90%以上时,就需要注意了,避免磁盘容量不足出现系统问题,尤其是对于文件内容增加较快的情况(如/home、/var/spool/mail等)。
- Mounted on:磁盘挂载的目录,即该磁盘挂载到了哪个目录下面。
示例2:查看所有文件系统
[root@localhost ~]# df -a #包括虚拟文件系统
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
none 0 0 0 - /proc/sys/fs/binfmt_misc
none 0 0 0 - /proc/fs/vmblock/mountPoint
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
[root@localhost ~]# df # 默认
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
说明:系统里面存在很多特殊的文件系统,这些比较特殊的文件系统几乎都是在内存当中,(如/proc挂载点),所以,这些特殊文件系统都不会占据硬盘空间。
示例3:指定单位大小
[root@localhost ~]# df -B 1k #1k为单位
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
[root@localhost ~]# df --block-size 1m #1M为单位
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sda2 15661 2685 12168 19% /
/dev/sda1 289 17 258 7% /boot
tmpfs 1005 0 1005 0% /dev/shm
示例4:以人们易读的方式显示
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 16G 2.7G 12G 19% /
/dev/sda1 289M 17M 258M 7% /boot
tmpfs 1005M 0 1005M 0% /dev/shm
示例5:以inode的数量显示
[root@localhost ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 4141216 101279 4039937 3% /
/dev/sda1 76304 35 76269 1% /boot
tmpfs 257068 1 257067 1% /dev/shm
示例6:使用POSIX格式显示
[root@localhost ~]# df -P #使用POSIX格式显示
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
示例7:只显示类型为ext3的文件系统
[root@localhost ~]# df -t ext3
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
示例8:显示出每个文件系统的类型
[root@localhost ~]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda2 ext3 16036224 2750464 12458012 19% /
/dev/sda1 ext3 295561 16911 263390 7% /boot
tmpfs tmpfs 1028272 0 1028272 0% /dev/shm
示例9:显示出每个文件系统的类型
[root@localhost ~]# df #默认情况是1024
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
[root@localhost ~]# export POSIXLY_CORRECT=true #设置POSIXLY_CORRECT为true
[root@localhost ~]# df #POSIXLY_CORRECT为true时默认512
Filesystem 512B-blocks Used Available Use% Mounted on
/dev/sda2 32072448 5500928 24916024 19% /
/dev/sda1 591122 33822 526780 7% /boot
tmpfs 2056544 0 2056544 0% /dev/shm
[root@localhost ~]# unset POSIXLY_CORRECT #取消设置POSIXLY_CORRECT
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm