我使用过的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]#
[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.shif df -t ext3 | grep '[0789].%'; thenecho "warning: disk space usage is very dangerous"# TODO: fix your alarm actionfi?
特别要注意的是,上面的匹配模式中,[0789.%中的0是用来匹配100%的。这个脚本已经在前面的例子中得到了验证。这个脚本也可以做些修改,比如在大于80%才告警,只能是10%的整数倍,否则就不能适应了。
问题思考1. 各种文件系统的大致特点是什么?
2. 怎样使磁盘空间监控脚本定期运行?
相关资料【1】网络教程站 Linux查看硬盘空间命令df用法
【2】51CTO 详细分析Linux df命令的使用方法
【3】IBM Unix/Linux 系统自动化管理: 磁盘管理篇
?
返回 我使用过的Linux命令系列总目录
?