tree命令的全称即是“tree”,该命令作用是用于以树状图形式列出目录的内容。 执行tree命令,它会以树状图的方式列出指定目录下的所有文件,包括目录里的文件,显示出指定目录的文件目录结构。
**语法格式:** tree [参数]
**常用参数:**
| -a | 显示所有文件和目录 |
| -------------- | -------------------------------------------------------------------------------------------------------------------- |
| -A | 使用ASNI绘图字符显示树状图而非以ASCII字符组合 |
| -C | 在文件和目录清单加上色彩,便于区分这种类型 |
| -d | 显示目录名称而非内容 |
| -D | 列出文件或目录的更改时间 |
| -f | 在每个文件或目录之前,显示完整的相对路径名称 |
| -F | 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上“*”,“/”,“=”,“@”,“|”号 |
| -g | 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码 |
| -i | 不以阶梯状列出文件或目录名称 |
| -I<范本样式> | 不显示符合范本样式的文件或目录名称 |
| -l | 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录 |
| -n | 不在文件和目录清单上加上色彩 |
| -N | 直接列出文件和目录名称,包括控制字符 |
| -p | 列出权限标示 |
| -P<范本样式> | 只显示符合范本像是的文件或目录名称 |
| -q | 用“?”号取代控制字符,列出文件和目录名称 |
| -s | 列出文件或目录大小 |
| -t | 用文件和目录的更改时间排序 |
| -u | 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码 |
| -x | 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外 |
| -L | 层级显示 |
**参考实例**
只显示n层目录(n为数字):
```
[root@anycode ~]# tree -L 2
```
用文件和目录的更改时间排序:
```
[root@anycode ~]# tree -t
```
以相反次序排序:
```
[root@anycode ~]# tree -r
```
在每个文件或目录之前,显示完整的相对路径:
```
[root@anycode ~]# tree -f
```
只显示目录:
```
[root@anycode ~]# tree -d
```
显示所有文件和目录:
```
[root@anycode ~]# tree -a
```