Mac使用tree生成目录结构
前言
程序员经常会有需求,需要列出项目的结构树。Mac或者Linux下可以使用tree
列出项目结构,如下图这种:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15├── build
├── config
├── docs
│ └── static
│ ├── css
│ └── js
├── src
│ ├── assets
│ ├── components
│ ├── store
│ │ └── modules
│ └── views
│ ├── book
│ └── movie
└── static
使用起来也非常简单。
Mac下可以使用brew install tree
进行安装。安装后,在terminal中输入tree -a
便可以查看某个文件夹下的所有文件。
常用的命令
当然了,我们的需求肯定不止列出所有文件这么简单。下面介绍几个常用的命令
- tree -d 只显示文件夹;
- tree -L n 显示项目的层级。n表示层级数。比如想要显示项目三层结构,可以用
tree -l 3
; - tree -I pattern 用于过滤不想要显示的文件或者文件夹。比如你想要过滤项目中的node_modules文件夹,可以使用
tree -I "node_modules"
; - tree > tree.md 将项目结构输出到tree.md这个文件。
举个例子,如果我们要显示某个项目下3层的所有文件结构,同时又过滤node_modules文件夹,最后输出到tree.md,可以这么写1
tree -L 3 -I "node_modules"
结果为:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50.
├── README.md
├── build
│ ├── build.js
│ ├── check-versions.js
│ ├── dev-client.js
│ ├── dev-server.js
│ ├── utils.js
│ ├── webpack.base.conf.js
│ ├── webpack.dev.conf.js
│ └── webpack.prod.conf.js
├── config
│ ├── dev.env.js
│ ├── index.js
│ └── prod.env.js
├── docs
│ ├── index.html
│ └── static
│ ├── css
│ └── js
├── git.sh
├── index.html
├── npm-debug.log
├── open
├── package.json
├── src
│ ├── App.vue
│ ├── assets
│ │ ├── list.scss
│ │ ├── logo.png
│ │ ├── search-btn.png
│ │ └── style.scss
│ ├── components
│ │ ├── Hello.vue
│ │ ├── Spinner.vue
│ │ └── header.vue
│ ├── main.js
│ ├── router.js
│ ├── store
│ │ ├── api.js
│ │ ├── modules
│ │ ├── store.js
│ │ └── types.js
│ └── views
│ ├── book
│ ├── index.vue
│ ├── movie
│ └── vuex-demo.vue
├── static
└── tree.md
更多命令的使用可以查看tree --help
。