一、简介
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、显示当前工作目录下的文件层级情况
[].├── jdk│ ├── bin│ │ ├── jar│ │ ├── jarsigner│ │ ├── java│ │ ├── javac……193
directories, 1035 files
最开头的“.”代表当前目录结构,最后是统计信息,该目录共有193个目录,1035个文件。
2、以文件和目录的更改时间进行排序(降序排序)
[].├── 1.txt├── initial-setup-ks.cfg└── anaconda-ks.cfg0 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完成安装操作。