首頁 > 軟體

Linux tree命令範例詳解

2020-06-16 16:41:28

關於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


IT145.com E-mail:sddin#qq.com