如何使用tree命令生成目录树结构


1. 安装Homebrew

Homebrew是一款macOS(或Linux)平台下的软件包管理器,具有装置、卸载、更新、查看、搜寻等很多实用的功能,官网地址:Homebrew官网

将以下命令粘贴至终端进行安装。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. 安装tree命令

使用以下命令安装

brew install tree

3. 基础操作

在命令行输入tree和要生成目录树结构的本地目录地址,enter生成目录树,如

tree /Users/user/Hexo_Blog/source

这是生成目录所有层级的树状结构。

/Users/user/Hexo_Blog/source
├── 404.md
├── _data
│   └── friends.json
├── _posts
│   ├── Hexo博客搭建(1):Mac端使用Hexo+GitHub Pages搭建免费个人博客.md
│   ├── Hexo博客搭建(2):更换主题样式及基本属性配置.md
│   ├── Hexo博客搭建(3):NexT主题-跳转分类、标签、关于页报错,无法打开怎么办.md
│   ├── Hexo博客搭建(4):NexT主题-首页不显示全部内容,显示预览.md
│   ├── Hexo博客搭建(5):NexT主题-集成valine评论系统.md
│   ├── Hexo博客搭建(6):Valine评论系统优化.md
│   ├── Hexo博客搭建(7):NexT主题无custom.styl文件,如何自定义样式.md
│   ├── Hexo博客搭建(8):替换使用matery主题及详细配置.md
│   ├── Hexo博客搭建(9):设置文章加密.md
│   ├── Mac终端显示192,不显示电脑名字的解决方法.md
│   ├── Markdown1):基础语法学习及快速入门.md
│   ├── Markdown2):如何添加多个tags.md
│   ├── Markdown3):图片样式优化美化.md
│   ├── Processing学习记录(1):初相识.md
│   ├── Processing学习记录(2):使用问题及解决方法汇总.md
│   ├── Processing学习记录(3):2D几何图形绘制.md
│   ├── Processing学习记录(4):描边属性、填充和背景色.md
│   ├── 小书匠MD编辑器配置GitHub图床.md
│   ├── 安安成长日记-202204.md
│   ├── 安安成长日记-202205.md
│   ├── 安安成长日记-202206.md
│   └── 安安成长日记-202207.md
├── about
│   └── index.md
├── categories
│   └── index.md
├── contact
│   └── index.md
├── friends
│   └── index.md
└── tags
    └── index.md

7 directories, 29 files

4. 其他命令操作

4.1. 输出版本号

tree --version
tree v2.0.2 (c) 1996 - 2022 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro

4.2. 显示指定深度

使用tree -L命令实现目录树的最大显示深度。
tree -L 1显示一层结构,tree -L 2显示二层结构,tree -L n显示n层结构。

tree -L 1 /Users/user/Hexo_Blog/public
/Users/user/Hexo_Blog/public
├── 2020
├── 2022
├── 404.html
├── about
├── archives
├── atom.xml
├── categories
├── contact
├── css
├── favicon.png
├── friends
├── index.html
├── js
├── lib
├── libs
├── live2dw
├── medias
├── page
├── search.xml
├── sitemap.txt
├── sitemap.xml
└── tags

15 directories, 7 files

4.3. 为文件夹附加一个/

输出的目录和文件没有区分,且是按照首字母升序排列,更加难以区分。一种方法是可以使用tree -F命令,为文件夹附加一个/符号,以示区分。

tree -F -L 1 /Users/user/Hexo_Blog/public
/Users/user/Hexo_Blog/public/
├── 2020/
├── 2022/
├── 404.html
├── about/
├── archives/
├── atom.xml
├── categories/
├── contact/
├── css/
├── favicon.png
├── friends/
├── index.html
├── js/
├── lib/
├── libs/
├── live2dw/
├── medias/
├── page/
├── search.xml
├── sitemap.txt
├── sitemap.xml
└── tags/

15 directories, 7 files

4.4. 将文件夹排在文件前面

使用tree --dirsfirst命令,将文件夹排在文件前面。命令可以结合起来使用,这样目录结果会更加清晰。如下:

tree --dirsfirst -F -L 1 /Users/user/Hexo_Blog/public
/Users/user/Hexo_Blog/public/
├── 2020/
├── 2022/
├── about/
├── archives/
├── categories/
├── contact/
├── css/
├── friends/
├── js/
├── lib/
├── libs/
├── live2dw/
├── medias/
├── page/
├── tags/
├── 404.html
├── atom.xml
├── favicon.png
├── index.html
├── search.xml
├── sitemap.txt
└── sitemap.xml

15 directories, 7 file

4.5. 仅显示目录

使用tree -d命令实现显示文件夹不显示内容,显示的是所有层级的文件夹。

tree -d /Users/user/Hexo_Blog/source
/Users/user/Hexo_Blog/source
├── _data
├── _posts
├── about
├── categories
├── contact
├── friends
└── tags

7 directories

可以显示两层文件夹,如下:

tree -d -L 1 /Users/user/Hexo_Blog/public
/Users/user/Hexo_Blog/public
├── 2020
├── 2022
├── about
├── archives
├── categories
├── contact
├── css
├── friends
├── js
├── lib
├── libs
├── live2dw
├── medias
├── page
└── tags

15 directories

4.6. 屏蔽文件或文件夹

使用tree -I ""命令屏蔽文件或文件夹。写法是tree -I “想要屏蔽的文件或文件夹名称”。

比如你想要过滤中的categories文件夹,可以使用tree -I "categories",如果想要过滤多个目录文件,也可以tree -I "categories|contact|li*",最后一个使用到正则匹配,这样以li开头的文件夹都不会被显示出来,目录与目录之间用竖线隔开,中间不要有空格。如下

tree -I "categories|contact|li*" -L 1 /Users/user/Hexo_Blog/public
/Users/user/Hexo_Blog/public
├── 2020
├── 2022
├── 404.html
├── about
├── archives
├── atom.xml
├── css
├── favicon.png
├── friends
├── index.html
├── js
├── medias
├── page
├── search.xml
├── sitemap.txt
├── sitemap.xml
└── tags

10 directories, 7 files

注意要区分大小写,而且要过滤的文件名必须得用双引号或者单引号包裹起来,否则无效。

4.7. 查看帮助

使用tree --help命令查看帮助,查看更多指令。遇到不正确指令也可以查看帮助进行解决。


文章作者: Pamarus
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Pamarus !
评论
  目录