文章首发:一之笔 -> Mac 生成目录树结构
前言
在整理自己的GitHub主页,发现文档目录结构不好写,自己也尝试敲出来,无奈,工程浩大,看着别人的目录树,感觉很好,比如下面的这种,有没有感觉很好看
|-- kibana
|-- .bowerrc
|-- .gitignore
|-- .jshintrc
|-- .travis.yml
|-- CONTRIBUTING.md
|-- FAQ.md
|-- Gruntfile.js
|-- LICENSE.md
|-- README.md
|-- STYLEGUIDE.md
|-- bower.json
|-- package.json
|-- docs
| |-- access.asciidoc
这篇文章介绍了不同的工具,方法,我尝试了其中一种 mddir
但是,不尽如我意,打算试试 tree
tree安装
brew install tree
安装完之后:
==> Downloading https://homebrew.bintray.com/bottles/tree-1.7.0.high_sierra.bottle.1
######################################################################## 100.0%
==> Pouring tree-1.7.0.high_sierra.bottle.1.tar.gz
/usr/local/Cellar/tree/1.7.0: 8 files, 114.3KB
没有 brew 自行安装,也很简单,如下
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
使用方法
- tree -a 显示 当前目录下,所有的文件结构,类似如下:
├── .DS_Store
├── .git
│ ├── COMMIT_EDITMSG
│ ├── FETCH_HEAD
│ ├── HEAD
│ ├── ORIG_HEAD
│ ├── config
│ ├── description
│ ├── hooks
│ │ ├── applypatch-msg.sample
│ │ ├── commit-msg.sample
│ │ ├── post-update.sample
│ │ ├── pre-applypatch.sample
│ │ ├── pre-commit.sample
│ │ ├── pre-push.sample
│ │ ├── pre-rebase.sample
│ │ ├── pre-receive.sample
│ │ ├── prepare-commit-msg.sample
│ │ └── update.sample
│ ├── index
- tree -d 只显示文件夹
- tree -L n 显示项目的层级。n表示层级数。比如想要显示项目二层结构,可以用tree -L 2,这个 L 参数是大写
对汉字支持不是很有好
.
├── Category
│ ├── Map格�\217�\214\226
│ ├── UIBarButtonItem�\210\206类
│ ├── UIColor�\232\204�\210\206类
│ ├── UIGesture�\210\206类
│ ├── UIImage�\232\204�\210\206类
│ ├── UIViewFrame
│ ├── �\227��\234\237�\210��\226�
│ └── 计�\227�\226\207件�\200�大�\217
├── Macros
│ └── Single.h
├── README.md
└── Utils
├── DateManger
├── RSA+3DES
├── �\230�止�\225��\204,�\227符串崩�\203crashLib
├── 访�\227�系�\237�\233��\206\214
└── �\216��\210��\217��\211�\214\226�\217\222件ConsoleCheseInput
- tree -I pattern 用于过滤不想要显示的文件或者文件夹。比如你想要过滤项目中的README,可以使用tree -I "README";
注意
:这个 I
是 大写的i
;
举个:
如果我们要显示某个项目下2层的所有文件结构,同时又过滤README,最后输出到 md 文件,可以这么写
tree -L 2 -I "README.md"
这个忽略的文件,必须带 文件后缀名
,否则 无效
;
输出如下:
.
├── Category
│ ├── Map格�\217�\214\226
│ ├── UIBarButtonItem�\210\206类
│ ├── UIColor�\232\204�\210\206类
│ ├── UIGesture�\210\206类
│ ├── UIImage�\232\204�\210\206类
│ ├── UIViewFrame
│ ├── �\227��\234\237�\210��\226�
│ └── 计�\227�\226\207件�\200�大�\217
├── Macros
│ └── Single.h
└── Utils
├── DateManger
├── RSA+3DES
├── �\230�止�\225��\204,�\227符串崩�\203crashLib
├── 访�\227�系�\237�\233��\206\214
└── �\216��\210��\217��\211�\214\226�\217\222件ConsoleCheseInput
更多帮助查看 tree -help
lucy@lucydeMacBook-Pro:~/Desktop/个人本博客/LX_Extend$ tree -help
tree: Invalid argument -`e'.
usage: tree [-acdfghilnpqrstuvxACDFJQNSUX] [-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[=]]
[--sort[=]] [--matchdirs] [--ignore-case] [--] []