一天一条Linux指令-df

用途说明

df命令是用来查看磁盘空间的使用情况的。另外一个相关的命令就是du,请参考本系列--我使用过的Linux命令之du 。

常用参数

-T 打印文件系统类型。

-h 以友好格式显示数值。

-H 也是以友好方式显示数值,但1K是以1000计算的,而不是1024。

-l 只显示本地文件系统。

-a 显示全部文件系统。

使用示例

示例一

[root@jfht ~]# df 
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
                     966221844  25615464 890733484   3% /
/dev/cciss/c0d0p1       493891     16888    451504   4% /boot
tmpfs                  2074392         0   2074392   0% /dev/shm
[root@jfht ~]# df -T 
文件系统      类型     1K-块        已用     可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
              ext3   966221844  25615932 890733016   3% /
/dev/cciss/c0d0p1
              ext3      493891     16888    451504   4% /boot
tmpfs        tmpfs     2074392         0   2074392   0% /dev/shm
[root@jfht ~]# df -h 
文件系统              容量  已用 可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
                      922G   25G  850G   3% /
/dev/cciss/c0d0p1     483M   17M  441M   4% /boot
tmpfs                 2.0G     0  2.0G   0% /dev/shm
[root@jfht ~]# df -H 
文件系统               容量   已用  可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
                       990G    27G   913G   3% /
/dev/cciss/c0d0p1      506M    18M   463M   4% /boot
tmpfs                  2.2G      0   2.2G   0% /dev/shm
[root@jfht ~]# df /root 
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
                     966221844  25616084 890732864   3% /
[root@jfht ~]# df -t ext3 | grep '[0789].%' 
[root@jfht ~]# if df -t ext3 | grep '[0789].%'; then 
echo "warning: disk space usage is very dangerous" 
fi 
[root@jfht ~]#

示例二

[root@web ~]# df 
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
                     467747952  86724560 356879932  20% /
/dev/hda1               101086     12081     83786  13% /boot
tmpfs                  2037708         0   2037708   0% /dev/shm
/setup/os/rhel55.iso   3038672   3038672         0 100% /mnt/rhel55
[root@web ~]# df -T 
文件系统      类型     1K-块        已用     可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
              ext3   467747952  86727892 356876600  20% /
/dev/hda1     ext3      101086     12081     83786  13% /boot
tmpfs        tmpfs     2037708         0   2037708   0% /dev/shm
/setup/os/rhel55.iso
           iso9660     3038672   3038672         0 100% /mnt/rhel55
[root@web ~]# df -aT 
文件系统      类型     1K-块        已用     可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
              ext3   467747952  86728364 356876128  20% /
proc          proc           0         0         0   -  /proc
sysfs        sysfs           0         0         0   -  /sys
devpts      devpts           0         0         0   -  /dev/pts
/dev/hda1     ext3      101086     12081     83786  13% /boot
tmpfs        tmpfs     2037708         0   2037708   0% /dev/shm
none   binfmt_misc           0         0         0   -  /proc/sys/fs/binfmt_misc
sunrpc  rpc_pipefs           0         0         0   -  /var/lib/nfs/rpc_pipefs
/setup/os/rhel55.iso
           iso9660     3038672   3038672         0 100% /mnt/rhel55
[root@web ~]# df -t ext3 | grep '[0789].%' 
[root@web ~]# if df -t ext3 | grep '[0789].%'; then 
echo "warning: disk space usage is very dangerous" 
fi 
[root@web ~]#

 

示例三 只显示本地文件系统

[root@web186 root]# df 
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/hda2             77649156  54442380  19262420  74% /
/dev/hda1               101089      9204     86666  10% /boot
none                    251928         0    251928   0% /dev/shm
192.168.1.181:/vmsnfs
                     503964488 112052408 366312104  24% /nas/vmsnfs181
[root@web186 root]# df -l 
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/hda2             77649156  54442020  19262780  74% /
/dev/hda1               101089      9204     86666  10% /boot
none                    251928         0    251928   0% /dev/shm
[root@web186 root]# df -t ext3 | grep '[0789].%' 
/dev/hda2             77649156  54442360  19262440  74% /
[root@web186 root]# if df -t ext3 | grep '[0789].%'; then 
echo "warning: disk space usage is very dangerous" 
fi 
/dev/hda2             77649156  54442484  19262316  74% /
warning: disk space usage is very dangerous
[root@web186 root]#

示例四

[root@sunrise root]# df 
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/sda8             99928856  95226128         0 100% /
/dev/sda1               497829     19131    452996   5% /boot
/dev/sda6              2045712         0   2045712   0% /dev/shm
none                   2045712         0   2045712   0% /dev/shm
/dev/sda5            302382384  39366680 247655560  14% /usr
/dev/sda3            503964484 146915172 331449336  31% /var
/dev/sda2            503964484 112052720 366311788  24% /vmsnfs
[root@sunrise root]# df -t ext3 | grep '[0789].%' 
/dev/sda8             99928856  95226128         0 100% /

[root@sunrise root]# if df -t ext3 | grep '[0789].%'; then 
echo "warning: disk space usage is very dangerous" 
fi 
/dev/sda8             99928856  95226128         0 100% /
warning: disk space usage is very dangerous
[root@sunrise root]# du --max-depth=1 | sort -nr 
84503604        .
60447684        ./work181
6766240 ./db
2279532 ./vms20061231
1119136 ./work181.b20071106
1039964 ./work181.b20071024
653792  ./disk3
643104  ./disk2
273960  ./work181.before20070209
258468  ./setup
179800  ./work181.before20061231
163980  ./disk1
83388   ./data
48      ./backup
20      ./log
16      ./.ssh
8       ./.gstreamer
4       ./.gconfd
[root@sunrise root]#

示例五 编写一个磁盘空间监控的脚本

监控要求:当某个分区的已用百分比大于等于70%时就告警。

文件:checkdisk.sh

Bash代码   收藏代码
  1. #!/bin/sh  
  2.   
  3. # file: checkdisk.sh  
  4.   
  5. if df -t ext3 | grep '[0789].%'; then  
  6.     echo "warning: disk space usage is very dangerous"  
  7.     # TODO: fix your alarm action  
  8. fi  
 

特别要注意的是,上面的匹配模式中,[0789.%中的0是用来匹配100%的。这个脚本已经在前面的例子中得到了验证。这个脚本也可以做些修改,比如在大于80%才告警,只能是10%的整数倍,否则就不能适应了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值