博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux磁盘容量占比
阅读量:5941 次
发布时间:2019-06-19

本文共 914 字,大约阅读时间需要 3 分钟。

记一次磁盘容量报警的排查心得。

收到磁盘报警提示某个目录下已占用85%的存储空间,对于开发来说这个时候就会要去看下具体是些什么文件占用了磁盘空间,在排查的过程中用到的相关命令记录在此。

1、文件系统空间使用情况

df -h查看所有的文件系统空间使用情况。

2、确定是目录下哪些文件占用的空间比较多

find /data -type f -size +800M -print0 | xargs -0 ls -lh查看占用空间大于800M的文件列表。

xargs从stdin读入数据,而|管道操作符是将前一个命令的输出作为后一个命令的输入。

echo "--help" | catecho "--help"| xargs cat

通过这两个命令就能看出xargs和管道操作命令的区别了。

这里需要说明下-print0和xargs -0这两个参数:

默认情况下-print会对每个文件进行换行输出,

clipboard.png

xargs默认会将空白符、换行符转化为空白符,所以上面的"file 1.xml"就会被解析成为file、1.xml两个文件了。

clipboard.png

而为了避免这种问题就提供了自定'\0'来替换find命令的默认换行符,xargs在解析的时候同样通过'\0'来进行反解析所以就能得到正常的输出

clipboard.png

当然在进行大文件查找的时候可能会有非常多的文件,而需要结合sort head等命令来进行排序.

clipboard.png

这里用到了du(disk usage)其实最主要是利用他的-m参数来使文件大小更易读的方式进行排序(单位为1M)。

3、du

上面提到du这个命令,其实主要是查看文件夹占用的容量大小,加上-a参数也能查看文件占用的容量。具体可以在使用的过程中查看帮助文档。

4、代码行数统计

我们经常会好奇写了多少行的代码,这时find xargs命令就派上用场了
find . -type f -name "*.xml" -print0 | xargs -0 wc -l | awk -F " " '{sum+=$0};END {print sum}'

"file 1.xml"文件中有5行数据

clipboard.png

用上面命令统计结果。将*.xml换成*.java不就统计出来java代码的行数了嘛。

clipboard.png

转载地址:http://mjqtx.baihongyu.com/

你可能感兴趣的文章
node.js Linux下安装
查看>>
linux编程综合案例
查看>>
【转】VC++ MFC文件的移动复制删除更名遍历操作
查看>>
win7-64系统安装oracle 11G客户端
查看>>
python的__new__方法和__del__方法
查看>>
创建私有CA及私有CA的使用
查看>>
我的友情链接
查看>>
【AR】开始使用Vuforia开发iOS(2)
查看>>
Eclipse中使用Git
查看>>
关于js中"window.location.href"、"location.href" 等如何跳转
查看>>
angularjs定义对集合进行过滤的过滤器
查看>>
军规13 降低流量和电量消耗
查看>>
详解Jedis连接池报错处理
查看>>
我的友情链接
查看>>
克隆Centos 无法上网
查看>>
我的友情链接
查看>>
Android 广播的生命周期
查看>>
Vim使用帮助
查看>>
Call && apply 用法
查看>>
Ora - 20005
查看>>