前言
有时候当我们在写 README 的的时候需要对项目的结构进行展示的话,这个时候我们就可以很好的利用 Mac 自带的工具 tree,来帮我们快速的生成。
1. 安装 tree
brew install tree
2. 参数介绍
参数解读:
-a # 显示所有文件,包括隐藏文件(以 “.” 点开头的文件 )
-d # 只显示目录
-f # 只显示每个文件的全路径
-i # 不显示树枝,常与-f参数配合使用
-L # level 遍历目录的最大层数,level 为大于0的正整数
-F # 在执行文件、目录、Socket符号链接、管道名称等不同类型文件的结尾,各自加上“*”、 "/"、"="、"@"、"|"号、类似ls命令的-F选项
3. demo 目录
# 测试项目的文件层级关系
.
└── src
└── components
└── common
├── FootCell
│ └── index.vue
├── Pagination
│ └── index.vue
├── Table
│ └── index.vue
└── TitleCell
└── index.vue
4. 生成指定文件
进入到要生成 tree 目录:
tree [-d] -L ${number} > ${文件名[.后缀]}
$ tree -L 3 > test1.md
└── src
└── components
└── common
3 directories
$ tree -d -L 3 > test2.md
├── src
│ └── components
│ └── common
3 directories, 3 files
5. 不带任何参数,直接调用 tree
tree # 会在终端直接输出上述demo结果
6. 以树形结构显示目录下的所有内容(-a 的功能)
├── .DS_Store
└── src
├── .DS_Store
└── components
├── .DS_Store
└── common
├── .DS_Store
├── FootCell
│ └── index.vue
├── Pagination
│ └── index.vue
├── Table
│ └── index.vue
└── TitleCell
└── index.vue
7 directories, 8 files
7. 只列出目录下第一层目录的结构(-L 功能)
一层 tree -L 1
└── src
二层 tree -L 2
└── src
└── components
三层 tree -L 3
└── src
└── components
└── common
8. 显示所有目录(但不显示文件)
不带路径 tree -d
显示当前文件的目录
KaKa:test hhdd$ tree -d
# 结果
.
└── src
└── components
└── common
├── FootCell
├── Pagination
├── Table
└── TitleCell
7 directories
带路径 tree -d ${路径}
显示指定路径下的文件的目录
bash
KaKa-3:test hhdd$ tree -d /Users/hhdd/Desktop/test
# 输出结果
/Users/hhdd/Desktop/test
└── src
└── components
└── common
├── FootCell
├── Pagination
├── Table
└── TitleCell
7 directories
带参数 tree -dL ${number} || tree
-d -L ${number}
-d 参数只显示目录,-L 参数显示层数
KaKa-3:test hhdd$ tree -dL 1
# 结果
.
└── src
1 directory
9. -f选项和-i选项的使用
使用-f选项可显示完整的路径名称,使用-i选项则不显示树枝部分,示例代码如下:
-f 可显示完整的路径名称
KaKa-3:test hhdd$ tree -d -L 2 -f
# 结果
.
└── ./src
└── ./src/components
2 directories
-i 不显示树枝部分
# 输出结果
.
./src
./src/components
2 directories
10. 使用 tree 命令 区分 目录和文件的方法(常用)
使用-F参数会在目录后面添加 “/ ”,方便区分目录
形式 tree -L {路径}]
有路径
KaKa-3:test hhdd$ tree -L 1 -F /Users
# 输出结果
/Users
├── Guest/
├── Shared/
└── hhdd/
3 directories, 0 files
无路径参数
KaKa-3:test hhdd$ tree -L 1 -F
# 输出结果
.
└── src/
1 directory, 0 files
对比不加 -F
KaKa-3:test hhdd$ tree -L 1
# 输出结果
.
└── src
1 directory, 0 files
总结
全文总结:
这篇文章主要介绍了在 Mac 环境中如何使用自带工具 tree 来生成目录结构树。包括安装 tree 的方法,详细讲解了各种参数如a、-d、-f、-i、-L、-F 的功能和用法,并通过示例展示了不同参数组合下生成的目录结构效果,还介绍了如何生成指定文件以及区分目录和文件的常用方法。
重要亮点:
- 安装 tree:使用 brew install tree 命令安装。
- 参数功能:
- -a:显示所有文件,包括隐藏文件。
- -d:只显示目录。
- -f:显示每个文件的全路径。
- -i:不显示树枝。
- -L:控制遍历目录的最大层数。
- -F:在不同类型文件结尾加上特定符号以区分。
- 生成指定文件:进入相应目录,通过 tree [-d] -L {文件名[.后缀]} 生成。
- 不同参数组合效果:如 -L 控制显示层数,f 与 -i 配合使用等。
- 区分目录和文件:使用 -F 参数在目录后添加 “/ ”方便区分。
原文地址:Mac 环境快速生成目录结构树https://juejin.cn/post/6980215157213364237
原文作者:拒绝996