MacOS如何使用 tree 生成目錄結構

Homebrew安裝

homebrew官網

Homebrew介紹和使用

根據官網的方法安裝

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

比如我的:

==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew

Press RETURN to continue or any other key to abort

一路按照提示操作即可,不出意外的話,就安裝成功了:

?  ~ brew -v
Homebrew 2.1.9
Homebrew/homebrew-core (git revision c8ff; last commit 2019-08-01)
Homebrew/homebrew-cask (git revision 04bff; last commit 2019-08-02)

Tree 安裝

brew install tree

常用命令:

# 下載
brew install tree

# 顯示某個文件夾下的所有文件
tree -a

# 只顯示文件夾
tree -d

# 顯示項目的層級,如三級
tree -L 3  

# 過濾,如除node_modules文件
tree -I "node_modules"

# 輸出
tree > tree.md

# Help
tree --help

最后,我的輸出:tree -I "node_modules" > tree.md
查看 tree.md 的內容如下:

.
├── README.md
├── dist
├── package.json
├── src
│   ├── app.scss
│   ├── font-awesome
│   │   ├── fonts
│   │   │   ├── FontAwesome.otf
│   │   │   ├── fontawesome-webfont.eot
│   │   │   ├── fontawesome-webfont.svg
│   │   │   ├── fontawesome-webfont.ttf
│   │   │   ├── fontawesome-webfont.woff
│   │   │   └── fontawesome-webfont.woff2
│   │   └── scss
│   │       ├── _animated.scss
│   │       ├── _bordered-pulled.scss
│   │       ├── _core.scss
│   │       ├── _fixed-width.scss
│   │       ├── _icons.scss
│   │       ├── _larger.scss
│   │       ├── _list.scss
│   │       ├── _mixins.scss
│   │       ├── _path.scss
│   │       ├── _rotated-flipped.scss
│   │       ├── _screen-reader.scss
│   │       ├── _stacked.scss
│   │       ├── _variables.scss
│   │       └── font-awesome.scss
│   ├── index.html
│   ├── index.js
│   ├── index.jsx
│   ├── react.png
│   └── style.css
├── tree.md
├── webpack.config.js
└── yarn.lock

5 directories, 31 files

tree命令行參數

命令行參數 含義
-a 顯示所有文件和目錄。
-A 使用ASNI繪圖字符顯示樹狀圖而非以ASCII字符組合。
-C 在文件和目錄清單加上色彩,便于區分各種類型。
-d 顯示目錄名稱而非內容。
-D 列出文件或目錄的更改時間。
-f 在每個文件或目錄之前,顯示完整的相對路徑名稱。
-F 在末尾追加描述性字符,如 ls -F
-g 列出文件或目錄的所屬群組名稱,沒有對應的名稱時,則顯示群組識別碼。
-i 不以階梯狀列出文件或目錄名稱。
-I 不顯示符合范本樣式的文件或目錄名稱。
-l 如遇到性質為符號連接的目錄,直接列出該連接所指向的原始目錄。
-n 不在文件和目錄清單加上色彩。
-N 直接列出文件和目錄名稱,包括控制字符。
-p 列出權限標示。
-P 只顯示符合范本樣式的文件或目錄名稱。
-q 用"?"號取代控制字符,列出文件和目錄名稱。
-s 列出文件或目錄大小。
-t 用文件和目錄的更改時間排序。
-u 列出文件或目錄的擁有者名稱,沒有對應的名稱時,則顯示用戶識別碼。
-x 將范圍局限在現行的文件系統中,若指定目錄下的某些子目錄,其存放于另一個文件系統上,則將該子目錄予以排除在尋找范圍外。

參考資料

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。