如何在Linux中找到最大的目录
当需要整理 Linux 系统上的硬盘时,无论是为了释放空间还是为了变得更有条理,找到系统上最大的目录会很有帮助。换句话说,消耗最多存储空间的目录。
在本教程中,我们将向您展示如何通过命令行(通过 du 命令)以及 GUI 应用程序查找 Linux 上最大的目录。
在本教程中您将学习:
如何使用
du
命令示例查找最大目录如何使用磁盘使用分析器 GUI 实用程序查找最大的目录
如何通过命令行查找最大的目录
df 和 du 命令行实用程序是我们在 Linux 上测量磁盘消耗的两个最佳工具。要查找 Linux 上最大的目录,du 命令特别有用。
当在没有任何额外选项的情况下运行 du 时,请记住,它将单独检查每个子目录的总磁盘使用情况。根据文件夹结构的深度,这可能是大量目录,并且您的终端将充斥着大量输出。
在下面的示例中,我们在一个充满 Linux ISO 文件的目录上运行 du
,但它只有一个目录深。我们将附加 -h
(人类可读)选项,以便更轻松地查看这些目录占用的空间类型。
$ du -h
11G ./AlmaLinux
671M ./Arch Linux
14G ./CentOS
349M ./Debian
1.9G ./Fedora
415M ./Gentoo
6.5G ./Kali Linux
9.4G ./Ubuntu
44G .
我们可以看到 AlmaLinux 文件夹使用了 11 GB,而 Debian 文件夹仅使用了 349 MB。所有这些文件夹的总大小为 44 GB,如最后一行所示。
让我们看看如果我们有更深的文件夹结构会发生什么。
$ du -h
671M ./Arch Linux
6.5G ./Debian-based/Kali Linux
9.4G ./Debian-based/Ubuntu
17G ./Debian-based
415M ./Gentoo
11G ./RHEL-based/AlmaLinux
14G ./RHEL-based/CentOS
1.9G ./RHEL-based/Fedora
27G ./RHEL-based
44G .
如您所见,“Debian-based”和“RHEL-based”目录分别有两个和三个子目录。这使我们能够更详细地了解每个子目录使用了多少空间。如果您有深层结构,我们可以使用 --max-depth=N
标志来告诉 du
它应该遍历多少个子目录深度。
$ du -h --max-depth=1
671M ./Arch Linux
17G ./Debian-based
415M ./Gentoo
27G ./RHEL-based
44G .
要按大小对这些目录进行排序,以便轻松识别哪些目录占用的空间最多,我们可以将 du
命令通过管道传递给 sort
实用程序。如果您在 du
上使用 -h
选项,请确保在 sort
上也使用它。
$ du -h | sort -h
415M ./Gentoo
671M ./Arch Linux
1.9G ./RHEL-based/Fedora
6.5G ./Debian-based/Kali Linux
9.4G ./Debian-based/Ubuntu
11G ./RHEL-based/AlmaLinux
14G ./RHEL-based/CentOS
17G ./Debian-based
27G ./RHEL-based
44G .
OR:
$ du -h --max-depth=1 | sort -h
415M ./Gentoo
671M ./Arch Linux
17G ./Debian-based
27G ./RHEL-based
44G .
在这些示例中,我们一直在当前工作目录中运行 du
。请记住,您可以使用该命令指定任何目录 - 您不必实际位于您正在检查的目录中。
$ du -h /home/linuxconfig
如果您尝试在根目录上运行 du
以查看整个磁盘的存储空间,请记住,您需要使用 root 权限执行该命令,并且应该将标准错误重定向到 /dev/null
因为你会在输出中收到很多“权限被拒绝”的垃圾邮件。
$ sudo du -h --max-depth=1 / | sort -h 2> /dev/null
du 和 sort 命令以及我们已经讨论过的选项应该足以帮助您找到系统上最大的目录。如需更多帮助,您可能还想查看有关使用 find 命令查找 Linux 上最大文件的指南。
如何通过 GUI 查找最大的目录
有时,如果我们使用 GUI 实用程序,更容易可视化磁盘使用情况。其中一个应用程序称为“磁盘使用分析器”,但默认情况下您的 Linux 发行版上可能不会安装它。使用下面适当的命令通过系统的包管理器安装它。
要在 Ubuntu、Debian 和 Linux Mint 上安装磁盘使用分析器:
$ sudo apt install baobab
要在 Fedora、CentOS、AlmaLinux 和 Red Hat 上安装磁盘使用分析器:
$ sudo dnf install baobab
要在 Arch Linux 和 Manjaro 上安装磁盘使用分析器:
$ sudo pacman -S baobab
安装后,搜索并打开该应用程序。
当程序打开时,它会询问您是否要扫描主目录或整个磁盘。您还可以单击选项菜单(三叠线)来扫描特定文件夹。
做出选择后,实用程序将开始扫描文件。一旦完成内容扫描,它将为您提供硬盘空间如何分配到系统上各个目录的完整读数。还有一个图形表示,您可以将鼠标光标移到上面以获得更好的想法。它按大小列出目录,因此您可以快速确定占用磁盘空间最多的目录。
结束语
在本教程中,我们了解了如何通过命令行示例和 GUI 应用程序查找 Linux 上最大的目录。 GUI 和命令行都能够为我们提供存储使用情况的快速摘要,或者系统上各个目录如何使用存储空间的详细分类。