您已经熟悉 Linux 中的目录结构。 它就像一棵树的根。
这正是 tree 命令的概念。 它以树状方式显示当前目录及其子目录的内容。
在展示 tree 命令的示例之前,让我快速讨论一下如何安装它。
安装树
大多数 Linux 发行版中都没有预装 tree 实用程序。 但是您可以在官方存储库中找到它并轻松安装它。
对于 Debian/Ubuntu 基础:
sudo apt install tree
对于 RHEL 基础:
sudo yum install tree
对于基于 Arch 的发行版:
sudo pacman -S tree
完成后,您需要做的就是将目录或目录路径附加到 tree
命令,它将以树的方式显示文件内容:
tree target_directory
但是 tree 命令不仅仅可以在 Linux 中列出文件。 这里有一些例子。
仅列出目录
如果只想列出指定位置的目录,可以使用 -d
选项。
tree -d target_directory

列出隐藏文件
默认情况下,树命令不会列出隐藏文件,但可以使用 -a
选项。
tree -a target_directory
在这里,我比较了它与默认方式(没有任何选项)一起使用时的不同之处:

包含文件路径
如果你想获取每个文件的路径,你需要做的就是使用 -f
选项,它会为您提供每个文件的路径:
tree -f directory

但是如何获得完整路径呢? 好吧,您只需附加一个目录的完整路径(从主目录到目标目录),如下所示:
tree -f /home/sagar/Directory
而且很长。 所以让我分享一个简洁的方法。
在这种情况下,您可以利用该值 pwd
拥有完整路径的价值。 因此,更改要使用树命令的目录。
并使用以下命令,它将为您提供该目录中存在的每个文件的完整路径:
tree -f "$(pwd)"

根据级别列出文件和目录
所以如果目录有数百个子目录,而你只想列出第一个某些级别,比如想包含前一个或两个子目录,你可以使用这个功能。
您可以通过将级别(以数字表示)附加到 -L
选项:
tree -L Level
为了 example,在这里,我列出了级别 2 的文件:
tree -L 2

你可以看到不同之处 在左侧,它显示了所有存在的文件 而在 右侧(我使用第 2 级的地方),它只带来了第 2 级的文件和目录.
列出具有权限的文件
要为每个文件附加文件权限,您需要做的就是附加 -p
选项:
tree -p TargetDirectory
但为了方便起见,我建议将它与 -h
选项以获得更好的可读性。
为了 example在这里我列出了目录中存在的每个文件 MUSIC
目录:
tree -ph MUSIC

使用 tree 命令获取目录的文件大小
tree 命令可以显示指定位置的每个文件和目录的大小,最后还会为您求和。
为此,您将不得不使用 --df
选项,我建议将它与 -h
为了更好的可读性:
tree --df -h TargetDirectory

使用树命令列出基于最后修改的文件
根据修改对文件进行排序有两种方式:
- 首次修改
- 最后修改
根据第一次修改对文件进行排序
要根据修改对文件进行排序,您必须使用 -c
选项,默认情况下它将对最先修改的文件进行排序。
在这里,我还将使用 -D
获取修改日期和时间的选项:
tree -cD TargetDirectory

根据最后修改对文件进行排序
在这种情况下,您将不得不更改 -c
选项将根据第一次修改列出文件。
与 -r
选项将扭转的影响 -c
选项:
tree -cDr TargetDirectory

你已经为你整理好了!
总结
您可以看到使用 tree 命令可视化嵌套目录结构是多么容易。
自从我第一次安装它以来,它一直是我的 Linux 命令库中不可或缺的一部分。 我希望您也开始广泛使用它。