我使用过的Linux命令之df - 查看磁盘空间占用情况

我使用过的Linux命令之df - 查看磁盘空间占用情况

本文链接:http://codingstandards.iteye.com/blog/786522    (转载请注明出处)

用途说明

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]#

扫描二维码关注公众号,回复: 1414461 查看本文章

示例四

[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

#!/bin/sh

# file: checkdisk.sh

if df -t ext3 | grep '[0789].%'; then
	echo "warning: disk space usage is very dangerous"
	# TODO: fix your alarm action
fi

 

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

问题思考

1. 各种文件系统的大致特点是什么?

2. 怎样使磁盘空间监控脚本定期运行?

相关资料

【1】网络教程站 Linux查看硬盘空间命令df用法

【2】51CTO 详细分析Linux df命令的使用方法

【3】IBM Unix/Linux 系统自动化管理: 磁盘管理篇

返回 我使用过的Linux命令系列总目录

猜你喜欢

转载自codingstandards.iteye.com/blog/786522