在本文中,我将分享一些实用的命令和技巧,帮助你查找、管理和删除 /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
以下是这个命令的解释:
lsof +L1:列出所有链接数小于1的文件(即已删除但仍被进程占用的文件)。awk '{print $2}':从lsof的输出中提取第二列,即进程ID。tail -n +2:跳过lsof输出的标题行。xargs -r kill -9:将提取到的进程ID传递给kill -9命令,以强制终止这些进程。
请注意,使用 kill -9 会强制终止进程,这可能会导致数据丢失或其他问题。建议在执行此命令前备份重要数据,并确保这些进程可以安全地被终止。



5450

被折叠的 条评论
为什么被折叠?



