測試環境為 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
沒有解決問題,試試搜尋本站其他內容