Linux命令-案例:过滤出磁盘使用率超过80%的目录

作为运维会用到很多的命令如磁盘空间查看等:

本次记录查看linux 系统磁盘大于80% 的方法及简单介绍:

磁盘查看命令:

  df -h

Linux命令-案例:过滤出磁盘使用率超过80%的目录

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属于排序类的方法,不做叙述