该树是一个很小的跨平台命令行程序,用于以树状格式递归列出或显示目录的内容 。 它输出每个子目录中的目录路径和文件,以及子目录和文件总数的摘要。
该树形程序可用于Unix和类似Unix的系统(例如Linux)以及DOS,Windows和许多其他操作系统。 它具有用于输出操作的各种选项,从文件选项,排序选项到图形选项,并支持XML,JSON和HTML格式的输出。
在这篇简短的文章中,我们将展示如何在示例中使用tree命令,以递归方式列出Linux系统上目录的内容。
学习tree命令用法示例
如果不是大多数Linux发行版,则tree命令在所有Linux发行版上都可用,但是,如果默认情况下未安装它,请使用默认的程序包管理器来安装它,如图所示。# yum install tree #RHEL/CentOS 7
# dnf install tree #Fedora 22+ and /RHEL/CentOS 8
$ sudo apt install tree #Ubuntu/Debian
# sudo zypper tree #openSUSE
安装后,您可以通过以下示例进一步学习tree命令的用法。
1.要以树状格式列出目录内容,请导航至所需目录,然后运行不带任何选项或参数的tree命令,如下所示。 记住要调用sudo在需要root用户访问权限的目录中运行树。# tree
OR
$ sudo tree
它将以递归方式显示子目录和文件以及子目录和文件总数的摘要来显示工作目录的内容。 您可以使用-a标志启用隐藏文件的打印。$ sudo tree -a
以树格式列出目录内容
2.要列出每个子目录和文件的目录内容以及完整路径前缀,请使用-f ,如图所示。$ sudo tree -f
列出目录内容和位置
3.您还可以使用-d选项指示树仅打印子目录减去其中的文件。 如果与-f选项一起使用,树将显示完整的目录路径,如图所示。$ sudo tree -d
OR
$ sudo tree -df
列出子目录路径
4.您可以使用-L选项指定目录树的最大显示深度。 例如,如果您希望深度为2 ,请运行以下命令。$ sudo tree -f -L 2
设置目录列表深度
这是关于将目录树的最大显示深度设置为3的另一个示例。$ sudo tree -f -L 3
设置最大目录列表深度
5.要仅显示与通配符模式匹配的文件,请使用-P标志并指定您的模式。 在此示例中,该命令将仅列出与cata*匹配的文件,因此将列出诸如Catalina.sh , catalina.bat等文件。$ sudo tree -f -P cata*
按通配符模式列出文件
6.您还可以通过添加--prune选项,告诉树从输出中--prune空目录,如图所示。$ sudo tree -f --prune
7.树还支持一些有用的文件选项,例如-p ,它以与ls -l命令类似的方式打印每个文件的文件类型和权限。$ sudo tree -f -p
打印文件类型和权限
8.此外,要打印每个文件的用户名 (如果没有可用的用户名,则为UID ),请使用-u选项,而-g选项将打印组名(如果没有可用的组名,则为GID )。 您可以结合使用-p , -u和-g选项来执行长列表,类似于ls -l命令 。$ sudo tree -f -pug
与所有者一起打印文件类型和权限
9.您还可以使用-s选项以字节为单位打印每个文件的大小以及名称。 要以更易于理解的格式打印每个文件的大小,请使用-h标志,并为千字节(K),兆字节(M),千兆字节(G),太字节(T)等指定大小字母。$ sudo tree -f -s
OR
$ sudo tree -f -h
打印文件大小
10.要显示每个子目录或文件的最后修改时间,请使用-D选项,如下所示。$ sudo tree -f -pug -h -D
显示上次修改时间的日期
11.另一个有用的选项是--du ,它报告每个子目录的大小,作为其所有文件和子目录(及其文件等)的大小的累积。$ sudo tree -f --du
12.最后但并非最不重要的一点,您可以使用-o选项将树的输出发送或重定向到文件名,以供以后分析。$ sudo tree -o direc_tree.txt
使用tree命令就可以了 ,运行man tree可以了解更多用法和选项。 如果您有任何问题或想法要分享,请使用下面的反馈表与我们联系。