【每天一个 Linux 命令】tree命令
1. 前言
本文主要講解Linux系統(tǒng)上的tree命令的詳細使用方法。
tree 命令是一個小型的跨平臺命令行程序,用于遞歸地以樹狀格式列出或顯示目錄的內(nèi)容。它輸出每個子目錄中的目錄路徑和文件,以及子目錄和文件總數(shù)的摘要。
tree程序可以在Unix和類Unix系統(tǒng)(如Linux)中使用,也可以在DOS、Windows和許多其他操作系統(tǒng)中使用。它為輸出操作提供了各種選項,從文件選項、排序選項到圖形選項,并支持XML、JSON和HTML格式的輸出。
在這篇教程中,我們將通過使用案例演示如何使用tree命令遞歸地列出Linux系統(tǒng)上目錄的內(nèi)容。
Linux tree 命令詳細使用說明
2. 在各種發(fā)行版上安裝tree命令
幾乎所有的Linux發(fā)行版都可以使用tree命令,但是,如果默認情況下沒有安裝它,可以使用系統(tǒng)的包管理器來安裝它,如下所示。
(1) 在RHEL/CentOS 7上安裝tree命令工具
yum install tree(2) 在Fedora 22+ /RHEL/CentOS 8上安裝tree命令工具
dnf install tree(3) 在Ubuntu/Debian系統(tǒng)上安裝tree命令工具
sudo apt install tree(4) 在openSUSE系統(tǒng)上安裝tree命令工具
sudo zypper in tree3. tree命令的日常使用案例
語法
tree [-aACdDfFgilnNpqstux][-I <范本樣式>][-P <范本樣式>][目錄...]參數(shù)說明:
- -a 顯示所有文件和目錄。
- -A 使用ASNI繪圖字符顯示樹狀圖而非以ASCII字符組合。
- -C 在文件和目錄清單加上色彩,便于區(qū)分各種類型。
- -d 顯示目錄名稱而非內(nèi)容。
- -D 列出文件或目錄的更改時間。
- -f 在每個文件或目錄之前,顯示完整的相對路徑名稱。
- -F 在執(zhí)行文件,目錄,Socket,符號連接,管道名稱名稱,各自加上"*“,”/“,”=“,”@“,”|"號。
- -g 列出文件或目錄的所屬群組名稱,沒有對應的名稱時,則顯示群組識別碼。
- -i 不以階梯狀列出文件或目錄名稱。
- -L level 限制目錄顯示層級。
- -l 如遇到性質(zhì)為符號連接的目錄,直接列出該連接所指向的原始目錄。
- -n 不在文件和目錄清單加上色彩。
- -N 直接列出文件和目錄名稱,包括控制字符。
- -p 列出權(quán)限標示。
- -P<范本樣式> 只顯示符合范本樣式的文件或目錄名稱。
- -q 用"?"號取代控制字符,列出文件和目錄名稱。
- -s 列出文件或目錄大小。
- -t 用文件和目錄的更改時間排序。
- -u 列出文件或目錄的擁有者名稱,沒有對應的名稱時,則顯示用戶識別碼。
- -x 將范圍局限在現(xiàn)行的文件系統(tǒng)中,若指定目錄下的某些子目錄,其存放于另一個文件系統(tǒng)上,則將該子目錄予以排除在尋找范圍外。
安裝之后,您可以通過下面的使用案例進一步學習tree命令的用法。
要以類似樹的格式列出目錄內(nèi)容,請切換到所需的目錄并運行tree命令,不帶任何選項或參數(shù),如下所示。某些目錄需要root權(quán)限,請使用sudo調(diào)用root權(quán)限,獲取訪問權(quán)。
tree tree它將遞歸地顯示工作目錄的內(nèi)容,顯示子目錄和文件,以及子目錄和文件總數(shù)的摘要。您可以使用-a標志顯示隱藏文件。
tree -a要使用-f列出每個子目錄和文件的完整路徑內(nèi)容,如下所示。
tree -f您還可以使用-d選項指定tree只打印子目錄不顯示里面的文件。如果與-f選項一起使用,tree將打印完整的目錄路徑,如下所示。
tree -d tree -df可以使用-L選項指定目錄樹的最大顯示深度。例如,如果您希望深度為2,則運行以下命令。
tree -f -L 2下面是將目錄樹的最大顯示深度設置為3的使用案例:
tree -f -L 3若要僅顯示與通配符內(nèi)容匹配的文件,請使用-P選擇并指定您的匹配內(nèi)容。在本例中,該命令將只列出與cata*匹配的文件,例如Catalina.sh, catalina.bat等將被列出。
tree -f -P cata*還可以通過添加–prune選項告訴tree從輸出內(nèi)容中刪除空目錄,如下所示。
tree -f --prunetree還支持一些有用的文件選項,如-p,它以類似ls -l命令的方式打印每個文件的文件類型和權(quán)限。
tree -f -p此外,要打印每個文件的用戶名(如果沒有用戶名,則為UID),使用-u選項,而-g選項打印組名(如果沒有組名,則為GID)。您可以組合-p、-u和-g選項來執(zhí)行類似于ls -l命令的輸出結(jié)果,顯示文件和目錄的詳細信息。
tree -f -pug還可以使用-s選項打印每個文件的字節(jié)大小以及文件名。為了以更易于閱讀的格式打印每個文件的大小,使用-h選項并指定大小字母表示千字節(jié)(K)、兆字節(jié)(M)、千兆字節(jié)(G)、tb (T)等。
tree -f -s或者
tree -f -h要顯示每個子目錄或文件的最后修改時間的日期,請使用-D選項,如下所示。
tree -f -pug -h -D另一個有用的選項是–du,它將顯示指定目錄所占用的磁盤空間。
tree -f --du您還可以使用-o選項將tree的輸出內(nèi)容發(fā)送或重定向到文件名,以便稍后進行分析。
tree -o direc_tree.txt總結(jié)
以上是生活随笔為你收集整理的【每天一个 Linux 命令】tree命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 唯一解的数独题目生成器——理解回溯法
- 下一篇: php读取excel怎么读取sheet2