程序员经常会有需求,需要列出项目的结构树。Mac或者Linux下可以使用tree列出项目结构,如下图这种:

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
.
├── Ason.iml
├── app
│   ├── app.iml
│   ├── build
│   │   ├── classes
│   │   ├── generated
│   │   ├── intermediates
│   │   └── outputs
│   ├── build.gradle
│   ├── proguard-rules.pro
│   └── src
│   └── main
├── build
│   └── generated
│   └── mockable-android-25.jar
├── build.gradle
├── gradle
│   └── wrapper
│   ├── gradle-wrapper.jar
│   └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── local.properties
└── settings.gradle

使用起来也非常简单,打开终端输入brew install tree进行安装tree,如果没有安装brew的话自行安装。
安装成功后在终端进入要输出目录结构的文件夹输入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"

更多命令的使用可以查看tree --help
原文链接