导航菜单

Linux命令大全-tree命令

陆兴东 2026-04-07 114 浏览 Linux命令

一、简介

tree命令用于以树状图列出目录的内容。

执行tree指令后,它会列出指定目录下的所有文件,包括子目录里的文件,可以帮助运维人员快速了解目录的层级关‍系。

二、语法

用法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]

参数说明:

-a:显示所有文件和目录。
     -A:使用ASNI绘图字符显示树状图而非以ASCII字符组合。
     -C:在文件和目录清单加上色彩,便于区分各种类型。
     -d:显示目录名称而非内容。
     -D:列出文件或目录的更改时间。
     -f:在每个文件或目录之前,显示完整的相对路径名称。
     -F:在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
     -g:列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
     -i:不以阶梯状列出文件或目录名称。
     -L:level 限制目录显示层级。
     -l:如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
     -n:不在文件和目录清单加上色彩。
     -N:直接列出文件和目录名称,包括控制字符。
     -p:列出权限标示。
     -P:<范本样式> 只显示符合范本样式的文件或目录名称。
     -q:用"?"号取代控制字符,列出文件和目录名称。
     -s:列出文件或目录大小。
     -t:用文件和目录的更改时间排序。
     -u:列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
     -x:将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

三、实战

1、显示当前工作目录下的文件层级情况

[root@app01 app]# tree
.
├── jdk
│   ├── bin
│   │   ├── jar
│   │   ├── jarsigner
│   │   ├── java
│   │   ├── javac
……
193 
directories, 1035 files

最开头的“.”代表当前目录结构,最后是统计信息,该目录共有193个目录,1035个文件。

2、以文件和目录的更改时间进行排序(降序排序)

[root@app01 ~]# tree -t
.
├── 1.txt
├── initial-setup-ks.cfg
└── anaconda-ks.cfg
0 directories, 3 files

3、以带有相对路径的形式查行查看

[root@app01 jdk]# tree -f.
├── ./bin
│   ├── ./bin/jar
│   ├── ./bin/jarsigner
│   ├── ./bin/java
│   ├── ./bin/javac
│   ├── ./bin/javadoc
│   ├── ./bin/javap
│   ├── ./bin/jcmd
│   ├── ./bin/jconsole
│   ├── ./bin/jdb
│   ├── ./bin/jdeprscan
│   ├── ./bin/jdeps
│   ├── ./bin/jfr
……
88 directories, 387 files

4、只显示目录层级关系

[root@app01 app]# tree -d
.
├── jdk
│   ├── bin
│   ├── conf
│   │   ├── management
│   │   ├── sdp
│   │   └── security
│   │       └── policy
│   │           ├── limited
│   │           └── unlimited
│   ├── include
│   │   └──
linux
……
193 directories

注:如果在Linux操作系统中使用tree命令时,发现没有该命令,大家需要先进行安装该命令。该命令rpm包是:tree-1.6.0-10.el7.x86_64.rpm,大家把操作系统的iso文件挂载到系统中,即可用yum或rpm完成安装操作。