大家應(yīng)該熟悉或了解 Linux 中的目錄結(jié)果,它就像樹的根。這正是 tree 命令的概念。它以樹狀方式顯示當(dāng)前目錄及其子目錄的內(nèi)容。
在使用 tree 命令之前,需要首先安裝。
安裝 tree
大多數(shù) Linux 發(fā)行版中都沒有預(yù)安裝 tree 命令,但是可以在官方庫中找到它。
在 Debian 或者 Ubuntu 中可以使用如下命令安裝:
sudo apt install tree
在基于 RHEL 的系統(tǒng)中:
sudo yum install tree
基于 Arch 的系統(tǒng)中:
sudo pacman -S tree
安裝完成后,就可以直接使用 tree 命令了,tree 命令后跟目錄或者目錄的路徑,它將以樹的形式現(xiàn)實(shí)文件內(nèi)容:
tree target_directory
但是 tree 命令的功能不僅僅是列出文件內(nèi)容,看下面幾個(gè)例子。
只列出目錄
如果只想列出指定位置的目錄,可以使用 -d 選項(xiàng)。
tree -d target_directory
列出隱藏文件
默認(rèn)情況下,tree 命令不會(huì)列出隱藏的文件??梢允褂?-a 選項(xiàng)列出位置中的隱藏文件:
tree -a target_directory
看下圖中的例子:
讓結(jié)果中包含文件路徑
如果要顯示每個(gè)文件的路徑,只需使用 -f 選項(xiàng),它將獲取每個(gè)文件路徑:
tree -f directory
那么怎樣獲取完整路徑呢?只需要附加目錄的完整路徑(從主目錄到目標(biāo)目錄),如下所示:
tree -f /home/sagar/Directory
這個(gè)命令比較長,下面我們來分享一個(gè)相對(duì)簡單的方法。
這種情況下,我們可以使用 pwd 命令來獲取完整路徑,用它來代替 tree 命令中的目錄??聪旅娴睦樱?/p>
tree -f "$(pwd)"
根據(jù)級(jí)別列出文件和目錄
如果目錄的層級(jí)很深,有數(shù)百個(gè)子目錄,但是我們只想列出前幾級(jí)的目錄,或者前一個(gè)或兩個(gè)目錄,可以使用 -L 選項(xiàng),后跟目錄級(jí)別:
tree -L Level
比如,我們列出前兩級(jí)目錄:
tree -L 2
通過上圖大家可以看到區(qū)別,左側(cè)顯示了所有文件,右側(cè)使用 -L 2 選項(xiàng)后,只顯示了兩級(jí)的文件。
列出文件權(quán)限
要在列表中顯示文件權(quán)限,需要使用 -p 選項(xiàng):
tree -p TargetDirectory
不過為了方便起見,我們常常將其與 -h 同時(shí)使用,以提高可讀性,看下面的例子:
tree -ph MUSIC
使用 tree 命令獲取目錄的文件大小
tree 命令可以顯示指定位置的每個(gè)文件和目錄的大小,并且也會(huì)計(jì)算總的大小。該功能需要使用 --df 選項(xiàng),不過為了提高可讀性,建議將其與 -h 共同使用:
tree --df -h TargetDirectory
根據(jù)文件修改時(shí)間排序
有兩種針對(duì)文件修改時(shí)間排序的方法:
- 根據(jù)修改時(shí)間正向排序;
- 根據(jù)修改時(shí)間倒序排序
根據(jù)修改時(shí)間正向排序
根據(jù)文件修改時(shí)間進(jìn)行排序,需要使用 -c 選項(xiàng),默認(rèn)情況下,它最先顯示最早修改的文件。另外結(jié)合 -D 選項(xiàng)來顯示文件修改的時(shí)間:
tree -cD TargetDirectory
根據(jù)修改時(shí)間倒序排序
-c 選項(xiàng)默認(rèn)最先修改的文件在最上方,要將最后修改的文件顯示在最上方,需要添加 -r 選項(xiàng):
tree -cDr TargetDirectory
-
Linux
+關(guān)注
關(guān)注
87文章
11209瀏覽量
208721 -
命令
+關(guān)注
關(guān)注
5文章
676瀏覽量
21965 -
tree
+關(guān)注
關(guān)注
0文章
9瀏覽量
8550
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論