★linux磁盘已满,查看哪个文件占用多

总结

*更新:或者使用下边三个方法:

方法一:

使用 du -h --max-depth=1 /path/to/start | grep -E '[0-9]+G|[0-9]+T' | sort -rh(查看当前目录下一级子文件和子目录占用的磁盘容量)


解释:

  du: 磁盘使用情况命令。
  -h: 以人类可读的格式显示(例如,自动使用K、M、G作为大小单位)。
  --max-depth=1: 限制输出结果至一级子目录。
  /path/to/start: 你想要开始搜索的目录路径。
  grep -E '[0-9]+G': 过滤输出结果,只显示包含G单位的行(例如10G,而非1024M)。
  sort -rh: 按人类可读的数字大小进行逆序排序。

 

 

方法二:

使用 sudo du -lh --max-depth=1 /data(查看当前目录下一级子文件和子目录占用的磁盘容量)

 

方法三:

使用du命令结合find命令来查找系统中的大于10GB的文件

find . -type f -size +10G -exec du -h {} +

解释:

  . 表示当前目录。
  -type f 表示查找文件。
  -size +10G 表示查找大于10GB的文件。
  -exec du -h {} + 对匹配到的每个文件执行du -h命令,以易读的格式显示文件大小。

 

 

 

1.使用df -h查看磁盘空间占用情况

2.使用sudo du -s -h /* | sort -nr命令查看那个目录占用空间大

3.然后那个目录占用多 再通过sudo du -s -h /var/* | sort -nr 一层层排查,找到占用文件多的地方。

我这里是jenkins项目太多,有一些不常用的,将 "丢弃旧的构建项目" 的值设置的小一些

(可以使用du -h --max-depth=1查看当前目录下文件夹大小情况,具体命令引用自: https://blog.csdn.net/xiaoxinyu316/article/details/43269881)

 

4.如果通过以上方法没有找到问题所在,那么可以使用 lsof | grep deleted 命令,看看是否删除掉的文件仍然被进程占用而没有进行实际删除。

(命令详情参考: https://www.cnblogs.com/ftl1012/p/9247223.html)

 

5. 找到占用文件很大的进程,停止进程。之后重新启动,就OK了。

 

posted @ 2019-07-15 16:23  iSunXiaoXiao  阅读(14112)  评论(0编辑  收藏  举报