Answers:
使用标准可用工具:
要列出当前目录中前十大文件: du . | sort -nr | head -n10
要列出当前目录中最大的目录: du -s * | sort -nr | head -n10
更新这些天,我通常使用一种更具可读性的格式(正如Jay Chakra在另一个答案中解释的那样,并保留| head -n10
,只需将其滚动出屏幕即可。最后一行包含最大的文件或目录(树)。
有时,例如。当您在当前目录中有很多挂载点时,而不是使用-x
或Multiple --exclude=PATTERN
,则将文件系统挂载在未使用的挂载点(通常是 /mnt
)上并从那里开始工作比较方便。
请注意,在使用大(NFS)卷时,du
在许多(子)目录上运行时,可能会给存储后端(filer)造成很大的负担。在这种情况下,最好考虑设置quota
音量。
ls -Sl | head
?
du
遍历整个目录树,而ls -S仅检查当前目录。
添加到吉普的答案
要以人类可读的格式列出当前目录中最大的目录:
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
它使阅读更加方便:)
(牛羚)
du -max /dir | sort -n
将显示大文件以及大目录,可用于标识需要在何处进行一些清理。
du -max | sort -n | tail -1000
...
46632 ./i386/update/SuSE-SLES/8/rpm/i586/kernel-source-2.4.21-138.i586.rpm
49816 ./UnitedLinux/apt/i386/RPMS.updates/k_debug-2.4.21-138.i586.rpm
679220 ./UnitedLinux/apt/i386/RPMS.updates
679248 ./UnitedLinux/apt/i386
679252 ./UnitedLinux/apt
691820 ./UnitedLinux/i586
691836 ./i386/update/SuSE-SLES/8/rpm/i586
695192 ./i386/update/SuSE-SLES/8/rpm
695788 ./i386/update/SuSE-SLES/8
695792 ./i386/update/SuSE-SLES
695804 ./i386/update
695808 ./i386
1390184 ./UnitedLinux
(我知道那是一棵很老的树:p)
如果您更喜欢图形工具,则有https://github.com/shundhammer/qdirstat
您可以尝试使用此命令,它将列出所有大于20Mb的文件。
find / -type f -size +20000k -exec ls -lh {} \; 2> /dev/null \
| awk '{ print $NF ": " $5 }' | sort -hrk 2,2
ls -lh
然后sort
?? ls -s
或者stat -c %b
可能更好。
键入以下命令
cd /
然后输入
du -sh * | grep G
上面的命令显示了哪个目录使用了多少内存。之后,您必须确定要删除的目录或文件