Mac 預設沒有 tree 命令的解決方案

Galois發表於2020-03-02

預設情況下 Mac 是沒有 tree 命令的。
不過我們可以用以下命令來模擬(顯示當前目錄的命令):

$ find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'

當然你也可以寫一個別名來快速執行該命令,執行如下命令,將上面這個命令寫到 ~/.bash_profile 裡,以後直接執行tree命令就更方便了:

alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'"

也可以使用 homebrew 安裝 tree 命令列:

$ brew install tree

tree 命令列引數

-a 顯示所有檔案和目錄。
-A 使用ASNI繪圖字元顯示樹狀圖而非以ASCII字元組合。
-C 在檔案和目錄清單加上色彩,便於區分各種型別。
-d 顯示目錄名稱而非內容。
-D 列出檔案或目錄的更改時間。
-f 在每個檔案或目錄之前,顯示完整的相對路徑名稱。
-F 在執行檔案,目錄,Socket,符號連線,管道名稱名稱,各自加上”*”,”/“,”=”,”@”,”|”號。
-g 列出檔案或目錄的所屬群組名稱,沒有對應的名稱時,則顯示群組識別碼。
-i 不以階梯狀列出檔案或目錄名稱。
-I 不顯示符合範本樣式的檔案或目錄名稱。
-l 如遇到性質為符號連線的目錄,直接列出該連線所指向的原始目錄。
-n 不在檔案和目錄清單加上色彩。
-N 直接列出檔案和目錄名稱,包括控制字元。
-p 列出許可權標示。
-P 只顯示符合範本樣式的檔案或目錄名稱。
-q 用”?”號取代控制字元,列出檔案和目錄名稱。
-s 列出檔案或目錄大小。
-t 用檔案和目錄的更改時間排序。
-u 列出檔案或目錄的擁有者名稱,沒有對應的名稱時,則顯示使用者識別碼。
-x 將範圍侷限在現行的檔案系統中,若指定目錄下的某些子目錄,其存放於另一個檔案系統上,則將該子目錄予以排除在尋找範圍外。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
不要試圖用百米衝刺的方法完成馬拉松比賽。

相關文章