2021-05-12 14:32:11
Linux tree命令範例詳解
關於tree
tree以樹狀格式列出目錄的內容。 這是一個非常簡潔實用的程式,您可以在命令列中使用它來檢視檔案系統的結構。
描述
tree是一個遞回目錄列表程式,它生成一個深度縮排的檔案列表(如果設定了LS_COLORS環境變數,則會著色)並輸出為tty。 如果沒有引數,樹將列出當前目錄中的檔案。 當給出目錄引數時,樹依次列出在給定目錄中找到的所有檔案和/或目錄。 樹然後返回列出的檔案和/或目錄的總數。
預設情況下,遇到符號連結時,符號連結參照的路徑將以以下格式列印在連結名稱之後:
name -> real-path
如果給出`-l'選項並且符號連結指的是實際目錄,則樹將遵循符號連結的路徑,就像它是真實目錄一樣。
安裝
linuxidc@linuxidc:~$ sudo apt install tree
版本
linuxidc@linuxidc:~$ tree --version
tree v1.7.0 (c) 1996 - 2014 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro
tree語法
tree [-adfgilnopqrstuxACDFNS] [-L level [-R]] [-H baseHREF] [-T title]
[-o file name] [--nolinks] [-P pattern] [-I pattern] [--inodes]
[--device] [--noreport] [--dirsfirst] [--version] [--help]
[--filelimit #] [--si] [--prune] [--du] [--timefmt format]
[directory ...]
選項
--help | 輸出詳細的使用情況列表。 |
--version | 輸出tree的版本。 |
-a | 列印所有檔案。 預設情況下,tree不會列印隱藏檔案(以點“.”開頭的檔案)。 在任何情況下,tree都不會列印檔案系統構造`.' (當前目錄)和`..'(上一個目錄)。 |
-d | 僅列出目錄。 |
-f | 列印每個檔案的完整路徑字首。 |
-i | tree不會列印縮排線。 與-f選項一起使用時很有用。 |
-l | 跟隨目錄的符號連結,就像它們是目錄一樣。 避免了導致遞迴迴圈的連結。 |
-x | 僅保留當前檔案系統,與find -xdev一樣。 |
-P pattern | 僅列出與萬用字元模式匹配的檔案。 注意:您必須使用-a選項來考慮以點“。”開頭的那些檔案。 匹配。 有效的萬用字元運算子是“*”(任何零個或多個字元),“?” (任何單個字元),`[...]'(括號內列出的任何單個字元(可選 - - 破折號)可用於字元範圍:ex:[AZ])和`[^ ...]'( 任何單個字元未在括號中列出)和“|”分隔交替模式。 |
-I pattern | 不要列出與萬用字元模式匹配的檔案。 |
--prune | 從輸出中建立tree修剪空目錄,與-P或-I一起使用時非常有用。 |
--filelimit # | 不要下載包含多個#條目的目錄。 |
--timefmt format | 列印(隱含-D)並根據使用strftime語法的格式字串格式化日期。 |
--noreport | 忽略在tree列表末尾列印檔案和目錄報告。 |
-p | 列印每個檔案的保護(根據ls -l)。 |
-s | 列印每個檔案的大小以及名稱。 |
-u | 列印檔案的使用者名稱或UID #(如果沒有可用的使用者名稱)。 |
-g | 列印檔案的組名稱或GID #(如果沒有可用的組名稱)。 |
-D | 列印列出檔案的上次修改時間的日期。 |
--inodes | 列印檔案或目錄的inode編號 |
--device | 列印檔案或目錄所屬的裝置編號 |
-F | 根據ls -F,為目錄新增一個' /',為通訊端檔案新增一個' =',為可執行檔案新增一個' *',為FIFO新增一個' |' |
-q | 將檔名中的不可列印字元作為問號列印,而不是使用預設胡蘿蔔表示法。 |
-N | 按原樣列印不可列印的字元,而不是預設的胡蘿蔔表示法。 |
-r | 按反向字母順序對輸出進行排序。 |
-t | 按上次修改時間而不是按字母順序對輸出進行排序。 |
--dirsfirst | 在檔案之前列出目錄。 |
-n | 始終關閉著色,由-C選項覆蓋。 |
-C | 如果未設定LS_COLORS環境變數,則使用內建顏色預設值始終開啟顏色。 用於將輸出著色到管道。 |
-A | 當列印壓痕線時,開啟ANSI線圖形hack。 |
-S | 開啟ASCII線圖形(使用linux控制台模式字型時很有用)。 此選項現在等效於`charset=IBM437',最終將被折舊。 |
-L level | 目錄樹的最大顯示深度。 |
-R | 遞回地遍歷樹的每個級別目錄(請參見-L選項),並在每個目錄下執行樹,再次新增`-o 00Tree.html'作為一個新選項。 |
-H baseHREF | 開啟HTML輸出,包括HTTP參照。適用於ftp站點。當使用HTML輸出時,baseHREF給出基本ftp位置。也就是說,本地目錄可能是“/local/ftp/pub”,但是它必須被參照為“ftp://hostname.organiz.domain/pub”(baseHREF應該是“ftp://hostname.organiz.domain”)。提示:不要使用帶有此選項的ANSI行,並且在目錄列表中不要給出多個目錄。如果您想通過CSS樣式表使用顏色,除了這個選項外,還可以使用-C選項強制輸出顏色。 |
-T title | 在HTML輸出模式下設定標題和H1標題字串。 |
--charset charset | 設定輸出HTML和繪圖時使用的字元集。 |
--nolinks | 關閉HTML輸出中的超連結。 |
-o file name | 將輸出傳送到檔名。 |
tree 範例
linuxidc@linuxidc:~$ tree
顯示tree中當前目錄和子目錄的內容。 輸出採用圖形形式,類似於以下範例:
.
├── examples.desktop
├── linuxidc.com
│ ├── linuxidc
│ ├── linuxidc.c
│ ├── linuxidc.com
│ ├── linuxidc.sh
│ └── share
│ ├── Linux公社.txt
│ ├── Linux公社www.linuxidc.com測試檔案.txt
│ └── www.linuxidc.com.png
├── linux.linuxidc.com
├── www.linuxidc.com
├── 公共的
├── 模板
├── 視訊
├── 圖片
├── 文件
├── 下載
├── 音樂
└── 桌面
├── linuxidc.com
├── linux.linuxidc.com
├── m.linuxidc.com
├── www.linuxidc.com
└── www.linuxidc.com.png
16 directories, 9 files
linuxidc@linuxidc:~/linuxidc.com$ tree -I 'linuxidc*|bin|lib'
顯示樹,沒有以linuxidc開頭,也沒有包含模式中指定的'bin'或'lib'。
linuxidc@linuxidc:~$ tree -P 'l*'
使用大寫“P”,您可以列出帶有模式的檔案。 此模式範例顯示僅包含以l開頭的目錄的樹或包含以l開頭的檔案的目錄。
linuxidc@linuxidc:~$ tree -p
使用小寫的“p”,您可以列出一個樹,它也顯示檔案許可權。
只顯示一層目錄
linuxidc@linuxidc:~$ tree -Ld 1 /home/
或者
linuxidc@linuxidc:~$ tree -L 1 -d /home/linuxidc
檢視某一個目錄的檔案結構
linuxidc@linuxidc:~$ tree /home/linuxidc
相關文章