df 命令

2018/02/10 df 命令

df命令

linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

命令介绍

  1. 命令格式: df [选项] [文件]

  2. 命令功能: 显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示。

  3. 命令参数:
    必要参数:

    -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

Search

    欢迎关注我的微信公众号

    晨枫

    alex0227

    Table of Contents