您的位置:首页 > 运维架构 > Linux

Linux tree 命令

2015-08-10 22:29 513 查看
2015-08-10 创建

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: