Linux命令-案例:过滤出磁盘使用率超过80%的目录
作为运维会用到很多的命令如磁盘空间查看等:
本次记录查看linux 系统磁盘大于80% 的方法及简单介绍:
磁盘查看命令:
df -h
1.命令格式:
df [选项] [文件]
2.命令功能:
显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示
3.命令参数:
必要参数:
-a 全部文件系统列表
-h 方便阅读方式显示
-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
-i 显示inode信息
-k 区块为1024字节
-l 只显示本地文件系统
-m 区块为1048576字节
--no-sync 忽略 sync 命令
-P 输出格式为POSIX
--sync 在取得磁盘信息前,先执行sync命令
-T 文件系统类型
选择参数:
--block-size=<区块大小> 指定区块大小
-t<文件系统类型> 只显示选定文件系统的磁盘信息
-x<文件系统类型> 不显示选定文件系统的磁盘信息
--help 显示帮助信息
--version 显示版本信息
查询80% 的命令,方法有很多根据个人习惯及用法即可:
df -h| awk '{if(NR != 1){split($5,a,"%");if(a[1]>70){print $5,$6}}}' | sort -t '%' -k1 -nr| egrep '[8-9][0-9]%|100%'
命令解释:
NR 已经读出的记录数,就是行号,从1开始
awk的内建函数split允许你把一个字符串分隔为单词并存储在数组中。
整理理解就是:如果df -h 输出的结果不等于1且分割df 输出的第5列以%号分隔,并且判断第5个分割出来的数据大于70%的,打印出df 命令输出的第5和6列。后面的sort属于排序类的方法,不做叙述