Linux 中的 tree 命令示例
你已经熟悉了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
列出隐藏文件
默认情况下,tree 命令不会列出隐藏文件,但可以使用-a
选项改变此行为。
tree -a target_directory
这里我比较了与默认方式(没有任何选项)使用时的不同之处:
包含文件路径
如果您想获取每个文件的路径,您需要做的就是使用该-f
选项,它会获取每个文件的路径:
tree -f directory
但是如何获取完整路径呢?好吧,你只需要附加目录的完整路径(从主目录到目标目录),如下所示:
tree -f /home/sagar/Directory
而且很长。所以让我分享一个简洁的方法。
在这种情况下,您可以使用包含完整路径的值 pwd
。因此,更改要使用 tree 命令的目录。
使用以下命令,它将获取该目录中每个文件的完整路径:
tree -f "$(pwd)"
根据级别列出文件和目录
因此,如果目录有数百个子目录,并且您只想列出前某些级别(例如想要包含前一个或两个子目录),则可以使用此功能。
您可以通过将级别(以数字形式)附加到选项来指定级别-L
:
tree -L Level
例如,这里我列出了级别 2 的文件:
tree -L 2
您可以看到区别:在左侧,它显示了存在的每个文件,而在右侧(我使用了级别 2),它仅显示位于级别 2 的文件和目录。
列出具有权限的文件
要为每个文件附加文件权限,您需要做的就是附加以下-p
选项:
tree -p TargetDirectory
但为了方便起见,我建议将其与-h
选项配对以提高可读性。
例如,这里我列出了MUSIC
目录中存在的每个文件:
tree -ph MUSIC
使用 tree 命令获取目录的文件大小
tree 命令可以显示指定位置的每个文件和目录的大小,并且最后还会为您计算出总大小。
为此,您必须使用--df
选项,并且我建议将其与-h
更好的可读性配对:
tree --df -h TargetDirectory
使用 tree 命令根据上次修改列出文件
根据修改对文件进行排序有两种方法:
- 首次修改
- 上次修改时间
根据首次修改对文件进行排序
要根据修改对文件进行排序,您必须使用该-c
选项,它将默认对首先修改的文件进行排序。
在这里,我还将使用-D
选项来获取修改的日期和时间:
tree -cD TargetDirectory
根据上次修改对文件进行排序
在这种情况下,您将必须改变该-c
选项的默认效果,该选项将根据第一次修改列出文件。
-r
当与将逆转选项效果的选项配对时,可以轻松改变它-c
:
tree -cDr TargetDirectory
你已经把它们整理好了!
总结
您可以看到,使用 tree 命令来可视化嵌套目录结构是多么容易。
自从我第一次安装它以来,它就一直是我 Linux 命令库中不可或缺的一部分。我希望你也能开始广泛使用它。