网站搜索

面向初学者的 Linux“tree 命令”用法示例


tree 是一个小型的跨平台命令行程序,用于以树状格式递归列出或显示目录的内容。它输出每个子目录中的目录路径和文件以及子目录和文件总数的摘要。

另请阅读:dutree – 用于分析彩色输出中磁盘使用情况的 CLI 工具

tree 程序可在 Unix 和类 Unix 系统(例如 Linux)以及 DOS、Windows 和许多其他操作系统中使用。它具有用于输出操作的各种选项,从文件选项、排序选项到图形选项,并支持 XML、JSON 和 HTML 格式的输出。

在这篇短文中,我们将通过示例展示如何使用 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 in tree 	 #openSUSE

安装后,您可以通过示例进一步了解树命令的用法,如下所示。

1. 要以树状格式列出目录内容,请导航到所需目录并运行不带任何选项或参数的 tree 命令,如下所示。请记住调用 sudo 在需要 root 用户访问权限的目录中运行树。

tree
OR
sudo tree

它将递归地显示工作目录的内容,显示子目录和文件,以及子目录和文件总数的摘要。您可以使用 -a 标志启用隐藏文件的打印。

sudo tree -a

2. 要列出目录内容以及每个子目录和文件的完整路径前缀,请使用 -f,如图所示。

sudo tree -f

3.您还可以使用-d选项指示tree仅打印子目录,减去其中的文件。如果与 -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.shcatalina.bat 等文件将被列出。将被列出。

sudo tree -f -P cata*

6. 您还可以通过添加 --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)、太字节 (TB) 的大小字母(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了解更多用法和选项。如果您有任何问题或想法要分享,请使用下面的反馈表与我们联系。