Tree命令
.
├── ./app # webapck 編譯打包壓縮生成的文件
├── ./build # electron-builder生成安裝包配置目錄
│ ├── ./build/background.png # (macOS DMG background)
│ ├── ./build/icon.icns # (macOS app icon)
│ └── ./build/icon.ico # (Windows app icon)
├── ./dev-server.js
├── ./json # 部分Api接口數(shù)據(jù)
├── ./main.js # electron 初始化文件
├── ./package.json
├── ./preview # 項(xiàng)目運(yùn)行預(yù)覽圖
├── ./src
│ ├── ./src/assets # 靜態(tài)資源文件
│ ├── ./src/components # 項(xiàng)目組件文件
│ ├── ./src/js # 主模塊文件
│ ├── ./src/main.js # render 進(jìn)程入口文件
│ └── ./src/sass # 樣式文件
└── ./webpack.config.js # webpack 配置文件
你一定見(jiàn)過(guò)這樣的項(xiàng)目結(jié)構(gòu)圖吧汞舱,其實(shí)他也不是圖唐瀑,是一段代碼;
windows
windows下的tree
比較辣雞噪沙,只有兩個(gè)參數(shù)炼彪,/F是遞歸顯示每個(gè)文件夾的名稱;/A 是使用ASCII字符而不是擴(kuò)展字符正歼,感覺(jué)還不如不加/A 參數(shù)好辐马。
linux
linux下的tree
就比較強(qiáng)大了,但一般系統(tǒng)并不自帶這個(gè)命令局义,需要手動(dòng)下載安裝:sudo apt-get install tree
喜爷。文件很小,只有31K萄唇,但功能可強(qiáng)大了檩帐!
mac
Mac 的話是沒(méi)有自帶tree
命令的,但是我們可以通過(guò)homebrew
(如果你不知道它的話穷绵,這是官網(wǎng))安裝:
brew install tree
然后等待安裝完成后
tree --version # 查看是否安裝成功
tree --help # 查看幫助
Api
命令有很多轿塔,但是看常用的無(wú)非就是:
-f 生成關(guān)系圖
-I 忽略文件/文件夾
-d 只輸出目錄
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[=]<f>]
[--sort[=]<name>] [--matchdirs] [--ignore-case] [--] [<directory list>]
------- Listing options -------
-a All files are listed.
-d List directories only.
-l Follow symbolic links like directories.
-f Print the full path prefix for each file.
-x Stay on current filesystem only.
-L level Descend only level directories deep.
-R Rerun tree when max dir level reached.
-P pattern List only those files that match the pattern given.
-I pattern Do not list files that match the given pattern.
--ignore-case Ignore case when pattern matching.
--matchdirs Include directory names in -P pattern matching.
--noreport Turn off file/directory count at end of tree listing.
--charset X Use charset X for terminal/HTML and indentation line output.
--filelimit # Do not descend dirs with more than # files in them.
--timefmt <f> Print and format time according to the format <f>.
-o filename Output to file instead of stdout.
-------- File options ---------
-q Print non-printable characters as '?'.
-N Print non-printable characters as is.
-Q Quote filenames with double quotes.
-p Print the protections for each file.
-u Displays file owner or UID number.
-g Displays file group owner or GID number.
-s Print the size in bytes of each file.
-h Print the size in a more human readable way.
--si Like -h, but use in SI units (powers of 1000).
-D Print the date of last modification or (-c) status change.
-F Appends '/', '=', '*', '@', '|' or '>' as per ls -F.
--inodes Print inode number of each file.
--device Print device ID number to which each file belongs.
------- Sorting options -------
-v Sort files alphanumerically by version.
-t Sort files by last modification time.
-c Sort files by last status change time.
-U Leave files unsorted.
-r Reverse the order of the sort.
--dirsfirst List directories before files (-U disables).
--sort X Select sort: name,version,size,mtime,ctime.
------- Graphics options ------
-i Don't print indentation lines.
-A Print ANSI lines graphic indentation lines.
-S Print with CP437 (console) graphics indentation lines.
-n Turn colorization off always (-C overrides).
-C Turn colorization on always.
------- XML/HTML/JSON options -------
-X Prints out an XML representation of the tree.
-J Prints out an JSON representation of the tree.
-H baseHREF Prints out HTML format with baseHREF as top directory.
-T string Replace the default HTML title and H1 header with string.
--nolinks Turn off hyperlinks in HTML output.
---- Miscellaneous options ----
--version Print version and exit.
--help Print usage and this help message and exit.
-- Options processing terminator.
中文Api
如果你覺(jué)得上面的看起來(lái)很麻煩,那就看這里 ??
-a 顯示所有文件和目錄。
-A 使用ASNI繪圖字符顯示樹(shù)狀圖而非以ASCII字符組合勾缭。
-C 在文件和目錄清單加上色彩揍障,便于區(qū)分各種類型。
-d 顯示目錄名稱而非內(nèi)容俩由。
-D 列出文件或目錄的更改時(shí)間毒嫡。
-f 在每個(gè)文件或目錄之前,顯示完整的相對(duì)路徑名稱幻梯。
-F 在執(zhí)行文件兜畸,目錄,Socket碘梢,符號(hào)連接咬摇,管道名稱名稱,各自加上"*","/","=","@","|"號(hào)煞躬。
-g 列出文件或目錄的所屬群組名稱肛鹏,沒(méi)有對(duì)應(yīng)的名稱時(shí),則顯示群組識(shí)別碼恩沛。
-i 不以階梯狀列出文件或目錄名稱在扰。
-I 不顯示符合范本樣式的文件或目錄名稱。
-l 如遇到性質(zhì)為符號(hào)連接的目錄雷客,直接列出該連接所指向的原始目錄芒珠。
-n 不在文件和目錄清單加上色彩。
-N 直接列出文件和目錄名稱搅裙,包括控制字符皱卓。
-p 列出權(quán)限標(biāo)示。
-P 只顯示符合范本樣式的文件或目錄名稱部逮。
-q 用"?"號(hào)取代控制字符好爬,列出文件和目錄名稱。
-s 列出文件或目錄大小甥啄。
-t 用文件和目錄的更改時(shí)間排序。
-u 列出文件或目錄的擁有者名稱炬搭,沒(méi)有對(duì)應(yīng)的名稱時(shí)蜈漓,則顯示用戶識(shí)別碼。
-x 將范圍局限在現(xiàn)行的文件系統(tǒng)中宫盔,若指定目錄下的某些子目錄融虽,其存放于另一個(gè)文件系統(tǒng)上,則將該子目錄予以排除在尋找范圍外灼芭。
Used
下面是我生成上面的結(jié)構(gòu)所用的命令有额,大家可以參考下
tree -I 'node_modules|dist|*.mp3|*.jpg' -f 項(xiàng)目文件夾