经常遇到磁盘满或者文件节点满的情况,整理如下

查找大文件

  1. 查找超过某个大小的文件, 如1G
find . -type f -size -size +1G
  1. 查找文件大小的时候,现实文件属性
find . -type f -size -size +1G -print0 | xargs -0 ls -l
  1. 显示具体大小并排序
find . -type f -size -size +1G -print0 | xargs -0 du -h | sort -nr

查找大目录并排序

du -h --max-depth=1 | sort -n

索引节点(inode)爆满情况处理

背景

存储设备分为两部分,inode和block,block存数据,inode存储数据的信息,系统指令通过inode迅速找到block的位置,所以,如果inode被用完,那么即使存储设备还有空余空间,仍旧无法写入新数据。

所以,这种情况很可能是因为有大量的小文件所致,大量的小文件,可能存在在单个目录下,也可能存在在大量的目录下

少量目录有大量小文件

通过以下命令找出目录(文件越多,目录越大)

find / -type d -size +10M

大量目录有大量小文件

find */ ! -type l | cut -d / -f 1 | uniq -c

命令反复执行,直至找出具体的目录

删除方法

  1. 直接删除目录
find . -type f -exec rm {} \;
  1. 安装文件inode节点删除文件
find . -inum 342137 -exec rm -i {} \;

版权声明:本文为shenlinken原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/shenlinken/p/9886103.html