查找Linux上最大的前10个文件和目录

有时,重要的是要找出正在吸收哪些文件或目录,Linux上的所有磁盘区域。同样,我们应该能够发现文件系统上的特定目录位置,例如/ tmp /或/ var /或/ domestic /。本文将帮助您使用Unix和Linux命令在文件系统上查找最重要或最大的文件或目录。

尽管没有快捷命令可用于发现Linux / UNIX / BSD文件系统上最大的文档/目录,但是有可能我们向您展示。

通过汇总以下三个命令(使用管道),可以帮助您轻松地发现Linux计算机上最大文档的列表。

  • du命令:估计文件空间使用情况

  • sort命令:对文本文件或给定的输入数据进行排序

  • head命令:输出文件的第一部分,即显示前10个最大的文件

  • find命令:它在Linux机器上搜索文件

使用以下命令查找Linux系统上最大的前10个文件和目录–

$ sudo du -a /var | sort -n -r | head -n 10

样本输出应如下所示–

1128132      /var
779176       /var/cache
629292       /var/cache/apt
541020       /var/cache/apt/archives
327212       /var/lib
172180       /var/lib/apt
172024       /var/lib/apt/lists
130084       /var/cache/apt-xapian-index
130080       /var/cache/apt-xapian-index/index.1
87556        /var/lib/dpkg

要查看人类可读的输出,请使用以下命令–

$ du -hsx * | sort -rh | head -10

样本输出应如下所示–

4.4G   Desktop
3.8G   Downloads
149M   en-GB
146M   Apache_OpenOffice_4.1.1_Linux_x86-64_install-deb_en-GB.tar.gz
95M   scala-2.11.4.deb
20M   gawk-4.1.1
4.5M   linux-dash
3.9M   yii-1.1.13.e9e4a0.tar.gz.1
3.9M   yii-1.1.13.e9e4a0.tar.gz

通过以下解释可以更好地理解上述命令–

  • du command -h选项:以人类可读的格式显示大小(例如1K,234M,2G)。

  • du command -s选项:它仅显示每个参数的总数(摘要)。

  • du command -x option:跳过不同文件系统上的目录。

  • sort命令-r选项:反转比较结果。

  • sort命令-h选项:比较人类可读的数字。这仅是GNU排序特定的选项。

  • head命令-10 OR -n 10选项:显示前10行。

上面的命令适用于安装在Linux上的GNU / sort,其他类似Unix的操作系统使用以下命令–

$find /path/to/dir/ -printf '%s %p\n'| sort -nr | head -10
$find . -printf '%s %p\n'| sort -nr | head -10

样本输出应如下所示–

185016320 ./Desktop/gdb-7.9.tar
153300495 ./Downloads/apache-storm-1.0.0.tar.gz
152847886 ./Apache_OpenOffice_4.1.1_Linux_x86-64_install-deb_en-GB.tar.gz
98756608 ./scala-2.11.4.deb
96477184 ./.cache/chromium/Default/Cache/data_3
88088576 ./.cache/google-chrome/Default/Cache/data_3
66586000 ./Downloads/Apache24.zip
61919701 ./Downloads/apache-storm-1.0.0/external/flux/flux-examples-1.0.0.jar
55678503 ./Downloads/apache-storm-1.0.0/examples/storm-starter/storm-starter-topologies-1.0.0.jar

要跳过目录并仅显示文件,请使用以下命令

$ find /path/to/search/ -type f -printf '%s %p\n'| sort -nr | head -10

要么

$ find /path/to/search/ -type f -iname "*.mp4" -printf '%s %p\n'| sort -nr | head -10

用鸭子搜寻磁盘空间猪

使用以下bash shell命令,如下所示

$ alias ducks='du -cks * | sort -rn | head'

使用以下命令获取占用磁盘空间的前10个文件/目录-

$ ducks

样本输出应如下所示–

5994400   total
4559508   Desktop
673712    Downloads
151596    en-GB
149268    Apache_OpenOffice_4.1.1_Linux_x86-64_install-deb_en-GB.tar.gz
96444     scala-2.11.4.deb
20024     gawk-4.1.1
4544      linux-dash
3952      yii-1.1.13.e9e4a0.tar.gz.1

恭喜你!现在,您知道“如何在Linux上找到最大的前10个文件和目录”。在我们的下一篇Linux文章中,我们将详细了解这些类型的命令。继续阅读!