生成項(xiàng)目結(jié)構(gòu)圖 - Tree命令的使用

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)目文件夾

原文地址:https://wodewone.github.io/2017/02/19/node-tree-user/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子巍佑,更是在濱河造成了極大的恐慌茴迁,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萤衰,死亡現(xiàn)場(chǎng)離奇詭異堕义,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)脆栋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門倦卖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人椿争,你說(shuō)我怎么就攤上這事怕膛。” “怎么了秦踪?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵褐捻,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我洋侨,道長(zhǎng)舍扰,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任希坚,我火速辦了婚禮边苹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘裁僧。我一直安慰自己个束,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布聊疲。 她就那樣靜靜地躺著茬底,像睡著了一般。 火紅的嫁衣襯著肌膚如雪获洲。 梳的紋絲不亂的頭發(fā)上阱表,一...
    開(kāi)封第一講書(shū)人閱讀 49,785評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音贡珊,去河邊找鬼最爬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛门岔,可吹牛的內(nèi)容都是我干的爱致。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼寒随,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼糠悯!你這毒婦竟也來(lái)了帮坚?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤互艾,失蹤者是張志新(化名)和其女友劉穎试和,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體忘朝,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡灰署,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了局嘁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片溉箕。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖悦昵,靈堂內(nèi)的尸體忽然破棺而出肴茄,到底是詐尸還是另有隱情,我是刑警寧澤但指,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布寡痰,位于F島的核電站,受9級(jí)特大地震影響棋凳,放射性物質(zhì)發(fā)生泄漏拦坠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一剩岳、第九天 我趴在偏房一處隱蔽的房頂上張望贞滨。 院中可真熱鬧,春花似錦拍棕、人聲如沸晓铆。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)骄噪。三九已至,卻和暖如春蠢箩,著一層夾襖步出監(jiān)牢的瞬間链蕊,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工谬泌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留示弓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓呵萨,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親跨跨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子潮峦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容