1. tree背景
在项目设计文档时经常需要对项目结构进行说明,如果能生成目录树结构则是对项目结构的很好的说明,所以经过实践验证,特此记录,与之共飨。
2. tree安装
windows默认支持tree命令,但是相对于Linux功能功能较少。
mac下使用brew包管理工具安装tree工具,
brew install tree
linux安装tree命令
yum install tree
3. tree说明
tree语法格式
tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]
tree参数说明
-a 显示所有文件和目录。
-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-L level 限制目录显示层级。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
-P<范本样式> 只显示符合范本样式的文件或目录名称。
-q 用"?"号取代控制字符,列出文件和目录名称。
-s 列出文件或目录大小。
-t 用文件和目录的更改时间排序。
-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。
4. tree使用
1.cmd进入项目根目录
windows环境:win + R ,输入cmd进入命令窗口,或者idea中通过Terminal进入
2.执行tree命令
tree [drive][path] [/F] [/A]
/f 显示所有目录及目录下的所有文件,省略时,只显示目录,不显示目录下的文件
/a 使用ASCII字符,而不使用扩展字符
生成带有目录及目录下文件的属性结构:tree /f
C:\workspace\opensource\maven-framework>tree /f > maven-framework-tree.md
生成不带目录下文件,只显示目录:tree > maven-fremawork-tree.md
C:\workspace\opensource\maven-framework>tree > maven-framework-tree.md
生成结构
卷 Windows 的文件夹 PATH 列表
卷序列号为 5679-A7C6
C:.
│ maven-framework-tree.md
│ maven-framework.iml
│ pom.xml
├─src
│ ├─main
│ │ ├─java
│ │ │ └─com
│ │ │ └─zrj
│ │ │ └─maven
│ │ │ └─framework
│ │ │ MavenFrameworkApplication.java
│ │ │
│ │ └─resources
│ │ application-prod.properties
│ │ application.properties
│ │ pom-maven-assembly.xml
│ │
│ └─test
│ └─java
│ └─com
│ └─zrj
│ └─maven
│ └─framework
│ MavenFrameworkApplicationTests.java
│
└─target