Mac 如何生成目录树

tree.jpg

文章首发:一之笔 -> 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] [--] []

你可能感兴趣的:(Mac 如何生成目录树)