如何使用 Linux 打印目录树 -
Linux 系统上的目录树是一种查看所提供的文件系统路径中的所有目录和子目录的方法。在本教程中,您将学习如何在 Linux 终端和 GUI 中打印目录树。
这种类型的概述可能很难在 GUI 文件浏览器中或通过简单地在命令行上更改目录来实现。但是 Linux 中有一些工具可以让我们鸟瞰目录及其内容的结构。
在本教程中,您将看到在 Linux 系统上使用命令行或 GUI 打印目录树的各种方法。
在本教程中您将学习:
如何使用
tree
命令及其选项如何使用
ls
、du
和find
命令打印目录树如何安装树和猴面包树
如何使用磁盘使用分析器 GUI 实用程序
Linux 上使用 tree 命令打印目录树
让我们直接探讨最适合这项工作的工具。 Linux 发行版中默认情况下通常不包含 tree
命令,但它很容易安装,并且非常适合列出任何路径的目录树。
如果您还没有访问该命令的权限,您可以使用下面相应的命令通过系统的包管理器安装树。
要在 Ubuntu、Debian 和 Linux Mint 上安装树:
$ sudo apt install tree
要在 Fedora、CentOS、AlmaLinux 和 Red Hat 上安装树:
$ sudo dnf install tree
要在 Arch Linux 和 Manjaro 上安装树:
$ sudo pacman -S tree
现在您可以使用 tree
命令,请参阅下面的一些示例以了解其工作原理。
打印目录树的最简单方法是使用
tree
命令和您想要打印目录树的路径。如果在不指定目录的情况下使用,它将打印当前工作目录的结构。如果您的目录包含许多文件和子目录,我们建议将输出传输到less
。$ tree | less
如果您只想列出目录,请使用
-d
选项。$ tree -d
如果您希望限制
tree
仅显示一定数量的目录深度,请使用-L
选项和您想要tree
的子目录数量来穿越。例如,此命令会将tree
限制为 3 个子目录深度。$ tree -L 3
如果要在
tree
输出中包含隐藏文件和目录,请附加-a
选项。$ tree -a
如果您想在
tree
输出中包含文件的大小,请添加-h
选项。$ tree -h
在 Linux 上使用 du、ls 和 find 命令打印目录树
虽然 tree
必须是列出目录树的理想命令,但 Linux 附带了一些也可以完成这项工作的默认命令,即 du
、ls
和<代码>查找。请参阅下面的一些示例,了解如何使用这些命令列出目录树。
find 命令将列出给定路径中的所有文件和目录。要搜索当前工作目录,只需使用
.
。$ find .
如果您只想让
find
命令列出目录和子目录,请使用-type d
选项。$ find . -type d
使用
-maxdepth
选项将find
限制为仅遍历指定数量的子目录深度。此命令将find
限制为两个子目录深度。$ find . -maxdepth 2
每个人都知道在 Linux 上列出文件的
ls
命令,但它还可以使用-R
(递归)选项列出子目录及其内容,从而有效地为我们提供了目录树。$ ls -R
du 命令也可用于打印目录树。 du 命令的主要用途是列出文件大小和目录大小,因此我们的树也将包含该信息。通常您需要添加
-h
选项以使尺寸易于阅读。$ du -h
在 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 上打印目录树。 tree
命令是我们最好的推荐,因为它专门用于此目的,并且加载了很多选项。但 Linux 还包含默认的 ls
、find
和 du
命令,这些命令同样有用。
如果您不想摆弄命令行,那么磁盘使用分析器不仅可以打印目录树,还可以显示每个目录消耗了多少空间。