Linux tree命令教程:查看和导航目录结构(附案例详解和注意事项)

发布时间:2024年01月22日

Linux tree命令介绍

tree是一个递归的目录列表程序,它可以生成一份文件和目录的深度缩进列表。无论何时你需要查看目录和子目录的结构,tree命令就是你需要的工具。tree命令还能够列出仅目录,隐藏文件,包括文件路径,根据级别列出文件和目录,列出具有权限的文件,并获取每个文件的文件大小和修改情况。

Linux tree命令适用的Linux版本

tree命令几乎在所有的Linux发行版中都可以使用,包括 Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora 和 Raspbian。在一些默认没有安装tree的Linux发行版中,我们可以通过包管理器来进行安装。

在Debian,Ubuntu 或 Raspbian上,你可以使用如下的命令进行安装:

[linux@bashcommandnotfound.cn ~]$ sudo apt-get install tree

对于使用Alpine的用户,可以使用apk进行安装:

[linux@bashcommandnotfound.cn ~]$ sudo apk add tree

如果你在使用RedHat(RHEL)、CentOS 7、或者 Fedora,你可以使用yum进行安装:

[linux@bashcommandnotfound.cn ~]$ sudo yum install tree

对于CentOS 8+或者其他使用了dnf工具的版本,可以使用如下命令安装:

[linux@bashcommandnotfound.cn ~]$ sudo dnf install tree

在Arch Linux 或者 Kali Linux上,你需要使用pacman进行安装:

[linux@bashcommandnotfound.cn ~]$ sudo pacman -S tree

Linux tree命令的基本语法

tree命令的基本语法如下:

tree [参数]... [目录]...

在这个语法中,“[参数]…” 表示可以接受一或多个可选参数, “[目录]…” 表示可以接受一或多个目录名。如果没有指定目录名,那么就会使用当前所在目录。

Linux tree命令的常用选项或参数说明

以下是tree命令中一些常用选项的说明:

选项详细说明
-a显示所有文件和目录。
-d仅显示目录。
-f在每个文件或目录前,都显示完整的相对路径。
-i不显示缩进和线条,只显示文件和目录的名称。
-l按照文件和目录的修改时间进行排序,最近的在前面。
-r将文件或目录的显示顺序反转。
-s显示文件和目录的大小。
-x完全地展开目录树,包括那些符号链接到其他部分的目录。

Linux tree命令实例详解

实例1:查看当前目录的结构

使用 tree 命令而不带任何的参数,能够输出当前目录(也就是你执行这个命令的位置)的结构。

[linux@bashcommandnotfound.cn ~]$ tree

实例2:显示所有文件和目录

如果你想让 tree 命令显示所有的文件和目录,包括隐藏文件,你可以使用-a选项。

[linux@bashcommandnotfound.cn ~]$ tree -a

实例3:只列出目录

如果你只对目录的层级结构感兴趣,而不想在输出中看到任何文件,你可以使用 -d 选项。

[linux@bashcommandnotfound.cn ~]$ tree -d

实例4:显示文件和目录的大小

tree 命令默认并不会显示文件或者目录的大小,但是通过 -s 选项,你就能让 tree 在每个文件名和目录名的后面显示它们的大小。

[linux@bashcommandnotfound.cn ~]$ tree -s

实例5:根据文件和目录的修改时间排序

如果你想让 tree 命令根据文件和目录的修改时间进行排序,而不是根据名字进行排序,那么你可以使用 -t 选项。

[linux@bashcommandnotfound.cn ~]$ tree -t

实例6:指定显示层级深度

在某些情况下,你可能只对某一层级的目录结构感兴趣,这时候你可以使用 -L 选项来指定 tree 只显示到某一层级。例如,下面的命令让 tree 只显示到三层目录:

[linux@bashcommandnotfound.cn ~]$ tree -L 3

实例7:只显示特定类型的文件

如果你只想列出特定类型的文件,那么你可以使用-P选项来指定一个模式。例如,下面的命令只会显示所有的.txt文件及其所在的目录:

[linux@bashcommandnotfound.cn ~]$ tree -P "*.txt" 

实例8:排除特定类型的文件

相反,如果你想排除特定类型的文件,那么你可以使用-I选项来指定一个模式。例如,下面的命令将忽视所有的.txt文件:

[linux@bashcommandnotfound.cn ~]$ tree -I "*.txt" 

实例9:将结果输出到文件

tree命令可以通过-o参数将结果输出到一个文件中,比如:

[linux@bashcommandnotfound.cn ~]$ tree -o output.txt 

此命令将当前目录结构输出到名为"output.txt"的文件中。

实例10:显示文件和目录的权限

你可以使用-p选项让 tree 在每个文件名和目录名的前面显示它们的权限,格式与 ls -l 命令相同。

[linux@bashcommandnotfound.cn ~]$ tree -p 

实例11:根据大小排序

-S参数可以使文件和目录按大小排序,如下所示:

[linux@bashcommandnotfound.cn ~]$ tree -S

实例12:包含目录中的空目录

使用 -E 选项会使 tree 在列出目录时包含空目录。例如:

[linux@bashcommandnotfound.cn ~]$ tree -E

实例13:不展开目录,只显示顶层的内容

使用 -n 选项可以让 tree 不展开目录,只显示顶层的内容。例如:

[linux@bashcommandnotfound.cn ~]$ tree -n

实例14:忽略特定的目录

通过 -I 参数,我们可以指定要忽略哪些目录。例如,下面的命令将忽略名为 “temp” 的目录:

[linux@bashcommandnotfound.cn ~]$ tree -I "temp"

实例15:按最后修改时间排序

使用 -D 选项可以使 tree 按照最后修改时间排序:

[linux@bashcommandnotfound.cn ~]$ tree -D

实例16:添加文件和目录的颜色标记

-C 参数使 tree 命令添加颜色以区分文件和目录:

[linux@bashcommandnotfound.cn ~]$ tree -C

Linux tree命令的注意事项

  • 你无法使用 tree 命令来查看远程主机的目录结构,因为 tree 命令只能查询本地磁盘上的文件和目录。
  • 尝试查看权限不足的目录,会提示 “Permission denied” 错误。
  • 如果你在一个大型目录(比如 / 目录)中运行 tree 命令可能会需要很长时间,并且输出会非常的长。
  • 注意:如果你在尝试使用tree命令并得到了bash: tree: command not found 的提示,那么你可以参考上面的步骤进行安装。

Linux tree相关命令

文章来源:https://blog.csdn.net/u012964600/article/details/135693989
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。