欢迎您的访问
专注架构,Java,数据结构算法,Python技术分享

Linux tree 命令

1、概述

以树状结构列出目录的内容。

2、命令格式

tree  [-adfghilnopqrstuvxACDFNS]  [-L  level  [-R]]  [-H  baseHREF]  [-T  title] [-o filename] [–nolinks] [-P pattern] [-I pattern] [–inodes]
[–device] [–noreport] [–dirsfirst] [–version] [–help] [–filelimit #] [directory …]

3、常用命令参数

-a    列出目录中所有的目录和文件,包含隐藏文件,但是不会列出  “.”和 “..”

-d    只列出目录

-f    列出目录和文件,并显示相应的前缀路径。

 

[oldboy@moban ~]$ tree -f oldboy  oldboy |-- oldboy/2.2.17 |-- oldboy/a1 |-- oldboy/a2 |-- oldboy/a3 |-- oldboy/aaa |-- oldboy/dir1 |   |-- oldboy/dir1/bbb |   |-- oldboy/dir1/t1 |   |-- oldboy/dir1/t2 |   `-- oldboy/dir1/t3 |-- oldboy/dir2 |-- oldboy/dir3 `-- oldboy/log.txt  5 directories, 8 files

-i    不以阶梯形式列出文件和目录,通常结合-f 一起使用。

 

[oldboy@moban ~]$ tree -i oldboy oldboy 2.2.17 a1 a2 a3 aaa dir1 bbb t1 t2 t3 dir2 dir3 log.txt  5 directories, 8 files [oldboy@moban ~]$  [oldboy@moban ~]$ tree -if oldboy oldboy oldboy/2.2.17 oldboy/a1 oldboy/a2 oldboy/a3 oldboy/aaa oldboy/dir1 oldboy/dir1/bbb oldboy/dir1/t1 oldboy/dir1/t2 oldboy/dir1/t3 oldboy/dir2 oldboy/dir3 oldboy/log.txt  5 directories, 8 files

-l    如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录

-x    将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外

-P pattern    只显示符合范本样式的文件或目录名称

注意:’*’ 表示0个或多个任意字符,’?’ 任意单个字符, ‘[…]’ 在此区域内的任意单个字符 如:[a-z]

 

[oldboy@moban ~]$ tree -p -P '[a-z][a-z][a-z]' oldboy   # 正确 oldboy |-- [drwxrwxr-x]  2.2.17 |-- [-rw-rw-r--]  aaa   # 匹配内容 |-- [drwxrwxr-x]  dir1 |   `-- [drwxrwxr-x]  bbb |-- [drwxrwxr-x]  dir2 `-- [drwxrwxr-x]  dir3  5 directories, 1 file [oldboy@moban ~]$ tree -p -P '[a-z]{3}' oldboy       # 错误 oldboy |-- [drwxrwxr-x]  2.2.17 |-- [drwxrwxr-x]  dir1 |   `-- [drwxrwxr-x]  bbb |-- [drwxrwxr-x]  dir2 `-- [drwxrwxr-x]  dir3  5 directories, 0 files

-I pattern    不显示符合范本样式的文件或目录名称【和 -P 结果相反】

 

[oldboy@moban ~]$ tree -p -I '[a-z][a-z][a-z]' oldboy   # 没有列出 文件 aaa  目录 bbb oldboy |-- [drwxrwxr-x]  2.2.17 |-- [-rw-rw-r--]  a1 |-- [-rw-rw-r--]  a2 |-- [-rw-rw-r--]  a3 |-- [drwxrwxr-x]  dir1 |   |-- [-rw-rw-r--]  t1 |   |-- [-rw-rw-r--]  t2 |   `-- [-rw-rw-r--]  t3 |-- [drwxrwxr-x]  dir2 |-- [drwxrwxr-x]  dir3 `-- [-rw-rw-r--]  log.txt  4 directories, 7 files

-p    打印每个文件和目录的文件类型和权限信息

-s    打印每个文件的字节数大小

-h    打印每个文件的大小,格式为我们常用的格式。如【K,M,G,T,P,E】

 

[oldboy@moban ~]$ tree -h oldboy  oldboy |-- [4.0K]  2.2.17 |-- [  12]  a1 |-- [  27]  a3 |-- [  46]  aaa |-- [4.0K]  dir1 |   |-- [4.0K]  bbb |   |-- [   0]  t1 |   |-- [   0]  t2 |   `-- [   0]  t3 |-- [4.0K]  dir2 |-- [4.0K]  dir3 `-- [  37]  log.txt

-u    打印文件的属主,如果找不到属主,那么打印他的UID【属主ID】

-g    打印文件的属组,如果找不到属组,那么打印他的GID【属组ID】

-D    打印文件的最后修改时间

–inodes    打印文件或目录的inode 号

–device    打印文件或目录的设备归属 号

-F    在执行文件,目录,Socket,符号连接,管道名称名称,各自加上”*”,”/”,”=”,”@”,”|”号。和 ls -F 一样

-q   用”?”号取代控制字符,列出文件和目录名称。

-N   直接列出文件和目录名称,包括控制字符

-r    按字母顺序,倒序排列输出

-t    根据最后修改时间排序

–dirsfirst    先列出目录,然后列出文件

-C    在文件和目录清单加上色彩,便于区分各种类型

-n    关闭文件和目录的色彩。

-A   使用ASNI绘图字符显示树状图而非以ASCII字符组合

 

[oldboy@moban ~]$ tree -A oldboy             oldboy +-- 2.2.17 +-- a1 +-- a2 +-- a3 +-- aaa +-- dir1 |   +-- bbb |   +-- t1 |   +-- t2 |   +-- t3 +-- dir2 +-- dir3 +-- log.txt  5 directories, 8 files

-L level    显示树的层级

 

[oldboy@moban ~]$ tree -L 1 oldboy oldboy |-- 2.2.17 |-- a1 |-- a2 |-- a3 |-- aaa |-- dir1 |-- dir2 |-- dir3 `-- log.txt  4 directories, 5 files

 

4、常用示例

暂无

5、所在位置和类型

 

[oldboy@moban ~]$ which tree /usr/bin/tree [oldboy@moban ~]$ type tree tree is hashed (/usr/bin/tree)

原文始发于:Linux tree 命令

赞(0) 打赏
版权归原创作者所有,任何形式转载请联系作者;码农code之路 » Linux tree 命令

相关推荐

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏