是否可以列出我的硬盘上最大的文件?我经常用来df -H
显示我的磁盘使用情况,但这只能提供已满百分比、剩余 GB 等。
我做了很多数据密集型计算,有大量的小文件和极少量的非常大的文件。由于我使用的大部分磁盘空间都在极少数文件中,因此很难追踪这些大文件的位置。删除 1 kB 文件不会释放太多空间,但删除 100 GB 文件却可以。有没有办法按照硬盘上的文件大小对文件进行排序?
谢谢。
答案1
使用标准可用工具:
列出当前目录中前 10 个最大的文件:du . | sort -nr | head -n10
要列出当前目录中最大的目录:du -s * | sort -nr | head -n10
更新这些天我通常使用更具可读性的形式(正如 Jay Chakra 在另一个答案中解释的那样,并省略| head -n10
,只需让它滚动到屏幕之外。最后一行有最大的文件或目录(树)。
有时,例如。当当前目录中有很多挂载点时,将文件系统挂载到未使用的挂载点(而不是使用-x
or 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 中每个文件和目录的大小:
应用 > 配件 > 磁盘使用分析仪
在此窗口中单击工具栏上的“扫描文件系统”按钮。短时间(几秒)后,您将获得每个目录和文件的磁盘使用情况。