排查Linux占用磁盘文件并删除 查找和管理 /home 目录下占用磁盘空间最大的文件

在本文中,我将分享一些实用的命令和技巧,帮助你查找、管理和删除 /home 目录下占用磁盘空间最大的文件。这些方法可以帮助你快速识别大文件,并在需要时安全地删除它们,从而有效地管理磁盘空间。

查找 /home 目录下占用磁盘空间最大的前十个文件或目录,可以使用以下命令:

du -ah /home | sort -rh | head -n 10

这个命令会显示 /home 目录下所有文件和目录的大小,并按大小排序,然后显示前十个占用空间最大的项。

如果只想查找 /home 目录下占用磁盘空间最大的前十个文件(不包括目录),可以使用以下命令:

find /home -type f -exec du -h {} + | sort -rh | head -n 10

这个命令会查找 /home 目录下所有文件,并按大小排序,然后显示前十个占用空间最大的文件。

可以删除占用前十的文件

find /home -type f -exec du -h {} + | sort -rh | head -n 10 | awk '{print $2}'

查找并显示前十个文件的大小和路径:

find /home -type f -exec du -h {} + | sort -rh | head -n 10

提取文件路径:

find /home -type f -exec du -h {} + | sort -rh | head -n 10 | awk '{print $2}'

删除这些文件:

find /home -type f -exec du -h {} + | sort -rh | head -n 10 | awk '{print $2}' | xargs rm -f

可以使用以下一行命令来找到所有占用已删除文件的进程并终止已删除文件的进程:

lsof | grep '(deleted)' | awk '{print $2}' | sort -u | xargs -r kill -9

以下是这个命令的解释:

  1. lsof +L1:列出所有链接数小于1的文件(即已删除但仍被进程占用的文件)。
  2. awk '{print $2}':从 lsof 的输出中提取第二列,即进程ID。
  3. tail -n +2:跳过 lsof 输出的标题行。
  4. xargs -r kill -9:将提取到的进程ID传递给 kill -9 命令,以强制终止这些进程。

请注意,使用 kill -9 会强制终止进程,这可能会导致数据丢失或其他问题。建议在执行此命令前备份重要数据,并确保这些进程可以安全地被终止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值