Linux 中的tree命令和示例
在 UNIX/LINUX 系统以及 MS-DOS 和 Microsoft Windows 中,tree
是一个递归目录列表程序,用于生成深度缩进的文件列表。在没有参数的情况下,树列出当前目录中的文件。当给出目录参数时,树会依次列出在给定目录中找到的所有文件或目录。
它将目录显示为 Braches,将文件显示为 leaves,这使用户可以轻松地可视化给定路径中文件和目录的组织。
在 Linux 中安装tree
命令
默认情况下,Linux 并没有安装 tree 命令。输入以下命令进行安装
在 RHEL / CentOS / Fedora Linux 中安装
版本小于或等于 Rhel8
请注意,在高于 RHEL 8 的版本中,我们需要 dnf 命令。
例如,在 RHEL 9 中的安装中。
在 Debian / Mint / Ubuntu Linux 中安装
1
| sudo apt-get install tree
|
在 Apple OS X 中安装
Linux 中 Tree
命令的基本语法

这里的 ‘tree’ 命令将从当前目录开始输出目录结构。
Linux 中“tree”命令中可用的选项
Options |
Description |
**–help ** |
帮助 |
–version |
输出tree 的版本。 |
-a or –all |
包括隐藏文件和目录。 |
-d or `–dirs-only |
仅列出目录。 |
-f or –full-path |
打印每个文件的完整路径前缀。 |
-i or –ignore-case |
对文件名进行排序时忽略大小写。 |
-x |
仅保留在当前文件系统上,就像 find -xdev 一样。 |
-I |
不要列出与通配符模式匹配的文件。 |
-p or –prune |
从tree 中省略指定的目录。 |
**–filelimit ** |
不要下降包含超过 # 个条目的目录。 |
-t |
按上次修改时间对输出进行排序,而不是按字母顺序排序。 |
**–noreport ** |
省略树列表末尾的文件和目录报告的打印。 |
-s |
打印每个文件的大小以及名称。 |
-u |
打印文件的用户名,如果没有可用的用户名,则打印 UID #。 |
-g |
打印文件的组名称,如果没有可用的组名,则打印 GID # |
-D |
打印所列文件的上次修改时间的日期。 |
–inodes –inode |
打印文件或目录的 inode 编号 |
–device |
打印文件或目录所属的设备编号 |
-F |
根据 ls -F,为目录附加一个“/”,为套接字文件附加一个“=”,为可执行文件附加一个“*”,为 FIFO 附加一个“|” |
-q |
将文件名中的不可打印字符打印为问号,而不是默认的胡萝卜表示法。 |
-N |
按原样打印不可打印的字符,而不是默认的胡萝卜符号。 |
-r |
按相反的字母顺序对输出进行排序。 |
–dirsfirst |
在文件之前列出目录。 |
-n |
始终关闭着色,由 -C 选项覆盖。 |
-C |
如果未设置LS_COLORS环境变量,则始终使用内置颜色默认值打开着色。可用于为管道的输出着色。 |
-A |
打印缩进线时打开 ANSI 线条图形 hack。 |
-S |
打开 ASCII 线条图形(在使用 linux 控制台模式字体时很有用)。此选项现在等同于 ‘–charset=IBM437’,最终将被弃用。 |
**-L level ** |
目录树的最大显示深度。 |
-R |
递归地向下交叉树的每个级别目录(参见 -L 选项),并在每个目录上再次执行树,添加“-o 00Tree.html”作为新选项。 |
-H baseHREF |
打开 HTML 输出,包括 HTTP 引用。对 ftp 站点很有用。baseHREF 在使用 HTML 输出时提供基本 ftp 位置。也就是说,本地目录可以是 ‘/local/ftp/pub’,但必须引用为 ‘ftp://host-name.organization.domain/pub'(baseHREF 应该是 ‘ftp://hostname.organization.domain')。提示:不要将 ANSI 行与此选项一起使用,并且不要在目录列表中提供多个目录。如果要通过 CSS 样式表使用颜色,请在此选项之外使用 -C 选项来强制输出颜色。 |
**-T title ** |
在 HTML 输出模式下设置标题和 H1 标头字符串。 |
**–charset charset ** |
设置输出 HTML 和线条绘制时要使用的字符集。 |
**–nolinks ** |
关闭 HTML 输出中的超链接。 |
**-o file name ** |
将输出发送到文件名。 |
Examples 例子
显示目录的树层次结构
列出输入模式的文件
列出那些具有更多“N”个文件/目录的目录
1
| tree --filelimit 3 ./GFG
|
列出具有权限的文件。
打印文件或目录所属的设备编号。
按上次修改时间打印输出,而不是按字母顺序打印输出。
结论
在本文中,我们研究了 Linux 中的“树”命令,它是可视化目录结构的强大工具。它还允许用户显示文件和目录的层次结构,包括隐藏的文件和目录,根据各种标准对输出进行排序,它还使用模式过滤文件并生成 HTML 输出。这就是tree 命令的全部内容,运行man tree了解更多用法和选项。