如何列出 Docker 容器
2024年3月17日安装和配置 Webmin 以以图形方式远程管理 Linux 服务器
2024年3月17日这是一个快速教程,向您展示如何使用一些您可能已经熟悉的 du、sort 和 head 命令来查找 Linux 计算机上最大的文件。
这是一个快速总结:
要查找当前目录中最大的 10 个文件夹:
du -h | sort -hr | head -n 10
要查找当前目录中最大的 10 个文件和文件夹:
du -ah | sort -hr | head -n 10
阅读本文的其余部分以获取这些命令的详细说明。
如何找到Linux中最大的文件夹?
du 命令用于获取磁盘使用情况。排序命令根据您的要求对数据进行排序。head命令显示文本输入源的顶行。
这只是在 Linux 命令行中获取最大文件和目录的一种组合。可以有多种其他方法来达到相同的结果。
![](https://www.alaica.com/wp-content/uploads/linux-50.jpg)
如果在没有选项的情况下一起运行这三个命令会发生什么?您的输出可能不会很有用。
当您运行这些命令时,除非使用 du 指定,否则所有内容都将使用当前工作目录作为源文件自动运行。
不带选项的排序按数字顺序排列项目,但这种行为有点奇怪。100 被认为小于 12,因为 2 > 0。这绝对不是我们想要的。
Head Here 默认显示前 10 项。根据您要分析的目录,您可以对其进行定制以快速查找大文件。
christopher@linuxhandbook:~$ du | sort | head
100 ./.local/share/evolution/addressbook
108 ./.mozilla/firefox/jwqwiz97.default-release/datareporting
112 ./.local/share/gvfs-metadata
12 ./.cache/fontconfig
12 ./.cache/gnome-software/screenshots/112x63
12 ./.cache/thumbnails/fail
12 ./.config/dconf
12 ./.config/evolution
12 ./.config/gnome-control-center/backgrounds
12 ./.config/ibus
添加选项
那么让我们看看哪些可能是更典型的选项。
添加-n
排序命令意味着项目将按数值排序。添加-r
意味着结果将相反。这就是我们在寻找最大数时想要的。
我还将添加-5
更多内容来限制我们的结果,使其超出 head 的默认值。您应该根据您对系统的了解来决定该值。
您可能希望将该值扩展为大于 10 的数字,或者如果您尝试过滤许多大文件,则完全忽略该值。否则,您可能会运行它,删除多个文件,但仍然存在空间问题。
好吧,让我们把它们放在一起,看看会发生什么。
christopher@linuxhandbook:~$ du | sort -nr | head -5
1865396 .
1769532 ./Documents
76552 ./.cache
64852 ./.cache/mozilla
64848 ./.cache/mozilla/firefox
更好的是,您可以快速查看最大的文件在哪里。不过,你可以做得更好。让我们用更多选项来清理它。
![](https://www.alaica.com/wp-content/uploads/linux-337.png)
人类可读的输出
某些命令的人类选项有助于以我们熟悉的方式呈现数字。让我们尝试将其添加到 du 命令中。
christopher@linuxhandbook:~$ du -h | sort -nr | head -5
980K ./.local/share/app-info
976K ./.local/share/app-info/xmls
824K ./.cache/thumbnails
808K ./.cache/thumbnails/large
804K ./.local/share/tracker
更正的人类可读输出
等一下……这些数字没有任何意义。不,他们不会,因为您只是将 du 命令的内容更改为人类可读的。Sort 有自己的内置函数,可以使用 -h 进行人类可读的数字排序。必须使用两者才能获得所需的输出。在 Linux 中您经常会遇到此类问题。
在以特定方式使用命令之前,进行试验并确保结果“有意义”非常重要。
让我们再试一次。
christopher@linuxhandbook:~$ du -h | sort -hr | head -5
1.8G .
1.7G ./Documents
75M ./.cache
64M ./.cache/mozilla/firefox/jwqwiz97.default-release
64M ./.cache/mozilla/firefox
这还差不多。
最大的文件在哪里?
您可以从输出中看出 Documents 文件夹包含一些较大的文件,但如果切换到该文件夹并再次运行我们的命令,您将不会获得最大的文件。你得到这个:
christopher@linuxhandbook:~/Documents$ du -h | sort -hr | head -5
1.7G .
这只是告诉我们您已经知道的事情。当前目录(称为 ).
包含 1.7G 的文件。如果您试图查找单个异常大的文件,这没有帮助。
您需要为 du 添加另一个标志来完成此任务。使用选项 -a,您可以获得我们正在寻找的输出。我们来试试吧。
christopher@linuxhandbook:~/Documents$ du -ah | sort -hr | head -5
1.7G .
1.1G ./1gig-file.file
699M ./doc.tar
2.9M ./photo-of-woman-wearing-turtleneck-top-277789ucaifslkcfuvmosolwdslgivbjdulius.jpg
1.4M ./semi-opened-laptop-computer-turned-on-on-table-204790mbhcybkrcxfngliawfrvntmnmfgbjntd.jpg
结论
您喜欢本在 Linux 中查找大文件的指南吗?我希望所有这些技巧都能教会您一些新东西。
如果您喜欢本指南,请在社交媒体上分享。如果您有任何意见或问题,请在下面留下。