Linux command – tree

測試環境為 CentOS7 x86_64 (虛擬機)

透過指令 tree 可以以樹狀結構來查看目錄底下的目錄與檔案.

預設沒有安裝,可以透過 yum 來安裝所需套件.

[root@localhost ~]# yum install tree

可以看到 ls 與 tree 以不同方式來呈現目錄與檔案.

[root@localhost ~]# ls -l
total 8
drwxr-xr-x. 2 root root    6 Jan 16 23:22 Desktop
drwxr-xr-x. 2 root root    6 Jan 16 23:22 Documents
drwxr-xr-x. 2 root root    6 Jan 16 23:22 Downloads
drwxr-xr-x. 2 root root    6 Jan 16 23:22 Music
drwxr-xr-x. 2 root root    6 Jan 16 23:22 Pictures
drwxr-xr-x. 2 root root    6 Jan 16 23:22 Public
drwxr-xr-x. 2 root root    6 Jan 16 23:22 Templates
drwxr-xr-x. 2 root root    6 Jan 16 23:22 Videos
-rw-------. 1 root root 1859 Jan 16 23:19 anaconda-ks.cfg
-rw-r--r--. 1 root root 1907 Jan 16 23:21 initial-setup-ks.cfg
[root@localhost ~]# tree
.
|-- Desktop
|-- Documents
|-- Downloads
|-- Music
|-- Pictures
|-- Public
|-- Templates
|-- Videos
|-- anaconda-ks.cfg
`-- initial-setup-ks.cfg

8 directories, 2 files

下面介紹幾種 tree 常用的參數.

-L

-L level: 顯示指定目錄下幾層的目錄結構.

[root@localhost ~]# tree / -L 1     
/
|-- bin -> usr/bin
|-- boot
|-- dev
|-- etc
|-- home
|-- lib -> usr/lib
|-- lib64 -> usr/lib64
|-- media
|-- mnt
|-- opt
|-- proc
|-- root
|-- run
|-- sbin -> usr/sbin
|-- srv
|-- sys
|-- tmp
|-- usr
`-- var

19 directories, 0 files
[root@localhost ~]# tree /var/ -L 1
/var/
|-- account
|-- adm
|-- cache
|-- crash
|-- db
|-- empty
|-- games
|-- gopher
|-- kerberos
|-- lib
|-- local
|-- lock -> ../run/lock
|-- log
|-- mail -> spool/mail
|-- nis
|-- opt
|-- preserve
|-- run -> ../run
|-- spool
|-- target
|-- tmp
|-- www
`-- yp

23 directories, 0 files

用 -> 表示為 symbolic link

-C

-C : 用顏色顯示,不同檔案定義顏色請參考 LS_COLORS 這個環境變數.

[root@localhost ~]# echo $LS_COLORS 
rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:

-d

-d : 只顯示目錄

[root@localhost ~]# tree -d  
.
|-- Desktop
|-- Documents
|-- Downloads
|-- Music
|-- Pictures
|-- Public
|-- Templates
`-- Videos

8 directories

-f

-f : 顯示完整路徑.

[root@localhost ~]# tree /var/www/html -f
/var/www/html
`-- /var/www/html/tree.html

0 directories, 1 file
[root@localhost ~]# tree /var/www/html   
/var/www/html
`-- tree.html

0 directories, 1 file

-a

-a : 顯示指定目錄下的所有目錄與檔案.

[root@localhost ~]# tree /var/www -a
/var/www
|-- cgi-bin
`-- html
    `-- tree.html

2 directories, 1 file

-p

-p : 一併顯示指定目錄下的所有目錄與檔案的權限.

[root@localhost ~]# tree /var/www -p
/var/www
|-- [drwxr-xr-x]  cgi-bin
`-- [drwxr-xr-x]  html
    `-- [-rw-r--r--]  tree.html

2 directories, 1 file

-t

-t : 列出目錄與檔案時以時間做排序(預設以字母)

[root@localhost ~]# tree -t -D
.
|-- [Jan 16 23:22]  Desktop
|-- [Jan 16 23:22]  Documents
|-- [Jan 16 23:22]  Downloads
|-- [Jan 16 23:22]  Music
|-- [Jan 16 23:22]  Pictures
|-- [Jan 16 23:22]  Public
|-- [Jan 16 23:22]  Templates
|-- [Jan 16 23:22]  Videos
|-- [Jan 16 23:21]  initial-setup-ks.cfg
`-- [Jan 16 23:19]  anaconda-ks.cfg

-H

-H baseHREF : 輸出為 HTML 格式.

[root@localhost ~]# tree -H http://192.168.95.205/root/ > /var/www/html/tree.html

如果系統有安裝 Apache (httpd 套件) ,就可以透過 web 的方式來顯示內容.

相對應的目錄和檔案會有相對應的連結,以我們剛剛的設定 http://192.168.95.205/root/ 為相對應的 http 根目錄.

-D

-D : 列印出文件的上次修改時間與日期.

[root@localhost ~]# tree -D
.
|-- [Jan 16 23:22]  Desktop
|-- [Jan 16 23:22]  Documents
|-- [Jan 16 23:22]  Downloads
|-- [Jan 16 23:22]  Music
|-- [Jan 16 23:22]  Pictures
|-- [Jan 16 23:22]  Public
|-- [Jan 16 23:22]  Templates
|-- [Jan 16 23:22]  Videos
|-- [Jan 16 23:19]  anaconda-ks.cfg
`-- [Jan 16 23:21]  initial-setup-ks.cfg

8 directories, 2 files

如果要特定的時間輸出需要使用下面的參數 –timefmt .

– – timefmt

– – timefmt format : 根據使用 strftime (可使用 #man strftime 來查詢) 語法的格式參數來顯示特定的日期與時間.
%c – 依據檔第時區顯示日期和時間.

[root@localhost ~]# tree --timefmt %c
.
|-- [Wed Jan 16 23:22:43 2019]  Desktop
|-- [Wed Jan 16 23:22:43 2019]  Documents
|-- [Wed Jan 16 23:22:43 2019]  Downloads
|-- [Wed Jan 16 23:22:43 2019]  Music
|-- [Wed Jan 16 23:22:43 2019]  Pictures
|-- [Wed Jan 16 23:22:43 2019]  Public
|-- [Wed Jan 16 23:22:43 2019]  Templates
|-- [Wed Jan 16 23:22:43 2019]  Videos
|-- [Wed Jan 16 23:19:52 2019]  anaconda-ks.cfg
`-- [Wed Jan 16 23:21:53 2019]  initial-setup-ks.cfg

8 directories, 2 files

%a – 依據檔第時區顯示星期的縮寫.

[root@localhost ~]# tree --timefmt %a
.
|-- [Wed]  Desktop
|-- [Wed]  Documents
|-- [Wed]  Downloads
|-- [Wed]  Music
|-- [Wed]  Pictures
|-- [Wed]  Public
|-- [Wed]  Templates
|-- [Wed]  Videos
|-- [Wed]  anaconda-ks.cfg
`-- [Wed]  initial-setup-ks.cfg

8 directories, 2 files
沒有解決問題,試試搜尋本站其他內容

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料