查找占用磁盘空间最多的文件

查找占用磁盘空间最多的文件

是否可以列出我的硬盘上最大的文件?我经常用来df -H显示我的磁盘使用情况,但这只能提供已满百分比、剩余 GB 等。

我做了很多数据密集型计算,有大量的小文件和极少量的非常大的文件。由于我使用的大部分磁盘空间都在极少数文件中,因此很难追踪这些大文件的位置。删除 1 kB 文件不会释放太多空间,但删除 100 GB 文件却可以。有没有办法按照硬盘上的文件大小对文件进行排序?

谢谢。

答案1

使用标准可用工具:

列出当前目录中前 10 个最大的文件:du . | sort -nr | head -n10

要列出当前目录中最大的目录:du -s * | sort -nr | head -n10

更新这些天我通常使用更具可读性的形式(正如 Jay Chakra 在另一个答案中解释的那样,并省略| head -n10,只需让它滚动到屏幕之外。最后一行有最大的文件或目录(树)。

有时,例如。当当前目录中有很多挂载点时,将文件系统挂载到未使用的挂载点(而不是使用-xor multiple )会更方便(--exclude=PATTERN经常 /mnt)并从那里开始工作。

请注意,在处理大型 (NFS) 卷时,在运行du大量(子)目录时可能会对存储后端(文件管理器)造成大量负载。在这种情况下,最好考虑设置quota音量。

答案2

添加到 jippie 的答案

以人类可读的格式列出当前目录中最大的目录:

du -sh * | sort -hr | head -n10

样本:

[~]$ du -sh * | sort -hr | head -n10
48M app
11M lib
6.7M    Vendor
1.1M    composer.phar
488K    phpcs.phar
488K    phpcbf.phar
72K doc
16K nbproject
8.0K    composer.lock
4.0K    README.md

这样阅读起来更方便:)

答案3

尝试ncdu,因为它可以为您提供磁盘使用情况的概述。从其网站:

带有 ncurses 接口的磁盘使用分析器,旨在在远程服务器上运行,您没有完整的间隙设置,但必须使用简单的 SSH 连接。 ncdu 的目标是快速、简单且易于使用,并且应该能够在安装了 ncurses 的任何最小的类似 POSIX 的环境中运行。

答案4

有一个简单有效的方法来查找 Ubuntu 中每个文件和目录的大小:

应用 > 配件 > 磁盘使用分析仪

在此窗口中单击工具栏上的“扫描文件系统”按钮。短时间(几秒)后,您将获得每个目录和文件的磁盘使用情况。

相关内容