logo头像

老陕小张学技术接地气

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

方法一:

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

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

du -s -h /* | sort -nr

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

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

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

方法二:

当我们需要查找并显示一个目录中每个文件的大小时,可以使用finddu的强大组合。这对于找到最大的文件或目录非常有帮助。在本篇博客中,我们将介绍如何使用这两个命令来完成这个任务。

首先,我们使用find命令来搜索指定路径下的文件。在这个例子中,我们将路径替换为实际的目标路径:

find /path/to/directory -type f

这将列出目标目录下的所有文件。接下来,我们使用-exec选项来执行du命令,计算每个文件的大小,并以人类可读的格式显示:

-exec du -h {} +

这里,{}表示find找到的每个文件,+表示将所有文件作为参数一次性传递给du,以提高效率。

最后,我们通过管道将结果传递给sort命令,以便按文件大小进行逆序排序:

| sort -rh

这里,-r表示逆序,-h表示以人类可读的格式排序,即考虑文件大小的单位。

最终,我们使用head命令限制结果的数量,只显示前10个最大的文件或目录:

| head -n 10

整个命令的组合如下:

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

这个命令将输出目标目录中最大的10个文件或目录,以人类可读的格式显示它们的大小。

通过这个强大的finddu组合,我们能够轻松地定位目录中的最大文件或目录,为磁盘空间管理提供了有力的工具。

支付宝打赏 微信打赏

赞赏是不耍流氓的鼓励

-->