theme: channing-cyan
昨天在写文章的时候,需要展示项目的目录结构,所以就去搜索了一下相关的方法,发现了几个不同的方式,编写此篇文章记录一下,给日常需要写文档的朋友参考。
├─cloud-cli-service
| ├─pom.xml
| ├─target
| | ├─generated-sources
| | | ├─annotations
| | ├─classes
| | | ├─org
| | | | ├─nott
| | | | | ├─cli
| | | | | | ├─service
| | | | | | | ├─IUsersService.class
| | | | | | | ├─mapper
| | | | | | | | ├─CommonMapper.class
| | | | | | | | └UsersMapper.class
| | | | | | | ├─impl
| | | | | | | | └UsersServiceImpl.class
| | | ├─mapper
| | | | ├─CommonMapper.xml
| | | | └UsersMapper.xml
需要输出的目录
Tree命令
Linux
以Centos服务器为例:
安装
$ yum install -y tree
...Total download size: 46 k
Installed size: 87 k
Downloading packages:
tree-1.6.0-10.el7.x86_64.rpm | 46 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : tree-1.6.0-10.el7.x86_64 1/1
Verifying : tree-1.6.0-10.el7.x86_64 1/1
Installed:
tree.x86_64 0:1.6.0-10.el7
Complete!
使用
$ tree --help
usage: tree [-acdfghilnpqrstuvxACDFQNSUX] [-H baseHREF] [-T title ] [-L level [-R]]
[-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes]
[--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset]
[--filelimit[=]#] [--si] [--timefmt[=]<f>] [<directory list>]
参数说明:
- -a 显示所有文件和目录。
- -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
- -C 在文件和目录清单加上色彩,便于区分各种类型。
- -d 显示目录名称而非内容。
- -D 列出文件或目录的更改时间。
- -f 在每个文件或目录之前,显示完整的相对路径名称。
- -F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
- -g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
- -i 不以阶梯状列出文件或目录名称。
- -L level 限制目录显示层级。
- -l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
- -n 不在文件和目录清单加上色彩。
- -N 直接列出文件和目录名称,包括控制字符。
- -p 列出权限标示。
- -P<范本样式> 只显示符合范本样式的文件或目录名称。
- -q 用"?"号取代控制字符,列出文件和目录名称。
- -s 列出文件或目录大小。
- -t 用文件和目录的更改时间排序。
- -u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
- -x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。
案例
$ tree -F cloud-cli-service
cloud-cli-service
├── pom.xml
└── src/
└── main/
├── java/
│ └── org/
│ └── nott/
│ └── cli/
│ └── service/
│ ├── impl/
│ │ └── UsersServiceImpl.java
│ ├── IUsersService.java
│ └── mapper/
│ ├── CommonMapper.java
│ └── UsersMapper.java
└── resources/
└── mapper/
├── CommonMapper.xml
└── UsersMapper.xml
11 directories, 7 files
Windows
- 使用 Windows自带的tree命令,在cmd命令窗口输入help tree查看帮助。
$ help tree
以图形显示驱动器或路径的文件夹结构。
TREE [drive:][path] [/F] [/A]
/F 显示每个文件夹中文件的名称。
/A 使用 ASCII 字符,而不使用扩展字符。
进入目录,输入tree /f cloud-cli-service,输出如下。
$ tree /f cloud-cli-service
卷 文档 的文件夹 PATH 列表
卷序列号为 xxxxx3D xA70:xF7E
drived:\path\CLOUD-CLI-SERVICE
│ pom.xml
│
└─src
└─main
├─java
│ └─org
│ └─nott
│ └─cli
│ └─service
│ │ IUsersService.java
│ │
│ ├─impl
│ │ UsersServiceImpl.java
│ │
│ └─mapper
│ CommonMapper.java
│ UsersMapper.java
│
└─resources
└─mapper
CommonMapper.xml
UsersMapper.xml
- Git Bash的tree命令,需要额外安装,直接使用:tree: command not found
https://gnuwin32.sourceforge.net/packages/tree.htm 下载二进制文件
进入下载好的bin目录复制tree.exe文件到你安装git的usr/bin目录下
输入tree --help查看帮助
输入tree cloud-cli-service 测试
$ tree cloud-cli-service/
cloud-cli-service/
|-- pom.xml
|-- src
| |-- main
| | |-- java
| | | `-- org
| | | `-- nott
| | | `-- cli
| | | `-- service
| | | |-- IUsersService.java
| | | |-- impl
| | | | `-- UsersServiceImpl.java
| | | `-- mapper
| | | |-- CommonMapper.java
| | | `-- UsersMapper.java
| | `-- resources
| | `-- mapper
| | |-- CommonMapper.xml
| | `-- UsersMapper.xml
| `-- test
| `-- java
`-- target
|-- classes
| |-- mapper
| | |-- CommonMapper.xml
| | `-- UsersMapper.xml
| `-- org
| `-- nott
| `-- cli
| `-- service
| |-- IUsersService.class
| |-- impl
| | `-- UsersServiceImpl.class
| `-- mapper
| |-- CommonMapper.class
| `-- UsersMapper.class
`-- generated-sources
`-- annotations
macOS
因为没有macOS系统,因此可参照网上的方法,地址: https://segmentfault.com/a/1190000039977971
使用npm包的方式
treer
npm地址:https://www.npmjs.com/package/treer
安装
$ npm -g treer
使用t
$ treer --help
Usage: treer [options]
Options:
-h, --help 帮助信息
-V, --version 查看版本
-d, --directory [dir] 指定文件地址
-i, --ignore [ig] 忽略文件名称
-e, --export [epath] 结果输出到指定文件
案例
$ treer -e ./result.txt -i .git
# result.txt内容
├─.gitignore
├─pom.xml
├─README.md
├─result.txt
├─cloud-cli-service
| ├─pom.xml
| ├─src
| | ├─main
| | | ├─resources
| | | | ├─mapper
| | | | | ├─CommonMapper.xml
| | | | | └UsersMapper.xml
| | | ├─java
| | | | ├─org
| | | | | ├─nott
| | | | | | ├─cli
| | | | | | | ├─service
| | | | | | | | ├─IUsersService.java
| | | | | | | | ├─mapper
| | | | | | | | | ├─CommonMapper.java
| | | | | | | | | └UsersMapper.java
| | | | | | | | ├─impl
| | | | | | | | | └UsersServiceImpl.java
mddir
npm地址:https://www.npmjs.com/package/mddir
安装
$ npm -g mddir
使用
# 进入目录后
$ mddir
案例
$ mddir
# directoryList.md内容
|-- undefined
|-- .gitignore
|-- pom.xml
|-- README.md
|-- result.txt
|-- cloud-cli-service
| |-- pom.xml
| |-- src
| |-- main
| |-- java
| | |-- org
| | |-- nott
| | |-- cli
| | |-- service
| | |-- IUsersService.java
| | |-- impl
| | | |-- UsersServiceImpl.java
| | |-- mapper
| | |-- CommonMapper.java
| | |-- UsersMapper.java
| |-- resources
| |-- mapper
| |-- CommonMapper.xml
| |-- UsersMapper.xml