Linux杂谈: 树形显示多级目录--tree

https://www.cnblogs.com/tp1226/p/8456539.html

tree -L 

  最近写博客的时候偶尔会需要将文件目录结构直观地列出来,例如python的包结构。

  于是在网上搜了搜,发现了一个Linux下还不错的工具--tree

  tree 可以很直观地显示多级目录结构。

1. 安装方法

  Ubuntu上直接

sudo apt install tree

2. 几个比较常规的用法:

  1. 显示目录结构

[root@ Test]# tree
.
└── Level-1
    ├── L1-File-1.txt
    ├── L1-File-2.txt
    ├── Level-2-1
    │   ├── L21-File-1.txt
    │   ├── Level-3-1
    │   │   └── L31-File-1.txt
    │   ├── Level-3-2
    │   │   └── L32-File-1.txt
    │   └── Level-3-3
    │       └── L33-File-1.txt
    ├── Level-2-2
    │   └── L22-File-1.txt
    └── Level-2-3

7 directories, 7 files

  

  2. 包含隐藏文件

[root@ Test]# tree -a
.
└── Level-1
    ├── L1-File-1.txt
    ├── L1-File-2.txt
    ├── .L1-hide.dat
    ├── Level-2-1
    │   ├── L21-File-1.txt
    │   ├── .L2-hide.dat
    │   ├── Level-3-1
    │   │   └── L31-File-1.txt
    │   ├── Level-3-2
    │   │   └── L32-File-1.txt
    │   └── Level-3-3
    │       └── L33-File-1.txt
    ├── Level-2-2
    │   └── L22-File-1.txt
    └── Level-2-3

7 directories, 9 files

  3. 控制深度(假设为3)

[root@ Test]# tree -L 3
.
└── Level-1
    ├── L1-File-1.txt
    ├── L1-File-2.txt
    ├── Level-2-1
    │   ├── L21-File-1.txt
    │   ├── Level-3-1
    │   ├── Level-3-2
    │   └── Level-3-3
    ├── Level-2-2
    │   └── L22-File-1.txt
    └── Level-2-3

7 directories, 4 files

  4. 只显示目录

[root@ Test]# tree -d
.
└── Level-1
    ├── Level-2-1
    │   ├── Level-3-1
    │   ├── Level-3-2
    │   └── Level-3-3
    ├── Level-2-2
    └── Level-2-3

7 directories

  5. 对需要显示的文件进行过滤

# 只显示包含 "L2"字符串的文件,并将过滤后的空目录也同时过滤掉
[root@ Test]# tree -P '*L2*' --prune
.
└── Level-1
    ├── Level-2-1
    │   └── L21-File-1.txt
    └── Level-2-2
        └── L22-File-1.txt

3 directories, 2 files

# 只显示不包含 "L2"字符串的文件,并将过滤后的空目录也同时过滤掉
[root@ Test]#
[root@ Test]# tree -I '*L2*' --prune
.
└── Level-1
    ├── L1-File-1.txt
    ├── L1-File-2.txt
    └── Level-2-1
        ├── Level-3-1
        │   └── L31-File-1.txt
        ├── Level-3-2
        │   └── L32-File-1.txt
        └── Level-3-3
            └── L33-File-1.txt

5 directories, 5 files

3. 更多的选项

选项 说明
-a 显示所有文件,包含隐藏文件。
-d 只显示目录。
-l 跟踪符号链接,如果链接的是一个目录,则当成目录处理。
-f 显示完整路径。
-x 只显示本文件系统。
-L level 控制显示的目录深度。
-R 在下级目录中,再次执行 tree 命令并且加上 '-o 00Tree.html'选项,配合-L,-H使用。
-P pattern 只显示匹配了 pattern 的文件(不是目录),支持简单的正则表达式。
-I pattern 与-P相反,只显示没有匹配 pattern的文件。
--ignore-case 当使用了-P或-I选项时,忽略大小写。
--matchdirs 当使用了-P选项时,文件名包含完整路径。
--prune 不显示空目录,如果经过-P或-I后没有目录下没有需要显示的,也当作空目录。
--noreport 不显示最后的统计信息。
--charsetcharset 指定字符集。
--filelimit # 过滤掉文件个数超过 # 的目录。
--timefmt fmt 按照指定的格式打印文件的修改时间。
-o filename 将结果输出到文件。
-q 用问号代替不可打印的字符。
-N 用八进制代替不可打印的字符。
-Q 用引号将文件名括起来。
-p 显示文件的类型和权限。
-u 显示文件所属的用户名或者UID。
-g 显示文件所属的组或者GID。
-s 显示文件的大小,单位:字节。
-h 显示文件的大小,使用更人性化的显示。
--si 显示文件的大小,类似 -h 但是使用国际公制单位(1k=1000)。
--du 对于目录,显示其下所有文件的累计大小。
-D 显示文件的最后修改时间。
-F 类似 ls -F,对不同的文件类型,在末尾加上不同的字符。
--inodes 显示文件的索引节点。
--device 显示文件所属的设备号。
-v 显示的文件列表按照version排序。
-t 显示的文件列表按照最后修改时间排序。
-c 显示的文件列表按照最后的状态改变时间排序。
-U 不进行排序处理。
-r 反向输出列表。
--dirsfirst 优先显示目录(同一级别  )
--sort[=name] 指定排序方式,name(default), ctime, mtime, size, version.
-i 输出中不要进行缩进。
-A 使用ASCII的横线字符表示缩进。
-S 使用CP437的横线字符表示缩进。
-n 关闭颜色显示。
-C 打开颜色显示。
-X 使能XML格式输出。
-J 使能JSON格式输出。
-H baseHREF 使能HTML格式输出,并包含基本http链接地址。
-T title 在HTML格式输出中,设置标题和H1标签头
--nolinks 在HTML格式输出中,不输出超链接。

[转帖]Linux杂谈: 树形显示多级目录--tree的更多相关文章

  1. Linux杂谈: 树形显示多级目录--tree

    最近写博客的时候偶尔会需要将文件目录结构直观地列出来,例如python的包结构. 于是在网上搜了搜,发现了一个Linux下还不错的工具--tree tree 可以很直观地显示多级目录结构. 1. 安装 ...

  2. [转帖]linux tree命令--显示目录的树形结构

    linux tree命令--显示目录的树形结构    版权声明:iamqilei@qq.com https://blog.csdn.net/u011729865/article/details/533 ...

  3. [转帖]linux下使用 du查看某个文件或目录占用磁盘空间的大小

    linux下使用 du查看某个文件或目录占用磁盘空间的大小 du -ah --max-depth= 去年用过一次 后来忘记了.. 命令这个东西 熟能生巧.. https://www.cnblogs.c ...

  4. [转帖]linux /proc目录下的文件为何无法用vi编辑保存

    linux /proc目录下的文件为何无法用vi编辑保存 https://blog.51cto.com/xlogin/1216914 学习一下 之前看过书 这一点 没太仔细看.. xlogin关注8人 ...

  5. Linux 基础命令及基本目录

    Linux 基础命令及基本目录 一.网卡 1.网卡配置文件路径 ​ /etc/sysconfig/network-scripts/ifcfg-eth0 配置文件: TYPE=Ethernet # 以太 ...

  6. [转帖]Linux企业运维人员最常用150个命令汇总

    Linux企业运维人员最常用150个命令汇总 https://clsn.io/clsn/lx998.html 基本上都用过了. 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的 ...

  7. Linux学习笔记(二)Linux常用命令:权限、目录操作以及常见目录作用

    一.Linux命令格式 命令 [选项] [参数] 注:(1)简化选项和完整选项 -a --all (2)当有多个选项是可以写在一起 -l -a 可以写为-la 二.权限 -rw-r--r--.&quo ...

  8. linux(centOS7)的基本操作(二) 目录和文件管理

    1.显示当前工作目录的绝对路径 pwd 2.显示当前工作目录下的子目录和文件 ls [-l] [-h] [-a] 如果只调用ls,子目录和文件会简单的罗列出来,-l表示将其以详细列表的形式展示,-h表 ...

  9. linux下创建文件与目录时默认被赋予了什么样的权限?

    当我们创建一个新的文件或目录的时候,他的默认权限是什么? umask--指定当前使用者在创建文件或目录的时候默认的权限值 [root@iZ288fgkcpkZ default]# umask [roo ...

随机推荐

  1. Burpsuite的Intruder模块发现敏感目录

    提前配置好浏览器的代理设置,并且成功访问了目标地址(这里是http://192.168.146.133/WackoPicko) 1.在burpsuite的proxy栏目中,找到对WackoPicko路 ...

  2. C# 之抽象类

    抽象类 抽象类中 .只包含抽象方法, .包含非抽象方法和抽象方法 .可使用get和set访问器 Example : public abstract class GeeksForGeeks { publ ...

  3. Centos 由字符界面 init 3 切换图形界面 init 5

    Centos6 和 Centos7 由字符界面切换成 图形界面方法不同,下面分别介绍. 一.Centos6 切换方法 yum -y install xorg* yum -y groupinstall ...

  4. 6、Lambda表达式(推荐使用)

    Lambda表达式(匿名的函数对象),是C++11增加的新特性,Qt配合信号一起使用,非常方便. pro项目文件中引入了这种特性: CONFIG += c++11 通过connect来了解Lambda ...

  5. javascript中继承方式及优缺点(一)

    分别介绍原型链继承.call/apply继承(借用构造函数继承).组合继承.原型式继承.寄生式继承.寄生组合式继承 1. 原型链继承 核心:将父类的实例作为子类的原型 function SuperTy ...

  6. Angular 文档中的修改链接是从哪里改的

    如何修改修改的文本的链接. 如下图表示的,如何修改这个地方的链接到自己的 SCM 中. 你需要修改的文件为: aio\tools\transforms\templates\lib\githubLink ...

  7. 翻译我去issues提问的回答内容

    我提问的原因主要是我要做.net core ABP的Token刷新功能,基本都根据网上的文章整合进ABP了,在如何存储的时候,总觉得系统的AbpUserTokens表为啥不利用进来,但是又找不到相关介 ...

  8. Unity3D_(游戏)卡牌02_主菜单界面

      启动屏界面.主菜单界面.选关界面.游戏界面 卡牌01_启动屏界面 传送门 卡牌02_主菜单界面 传送门 卡牌03_选关界面 传送门 卡牌04_游戏界面    传送门 主菜单界面 (选择左边图标或选 ...

  9. java 基础类型和包装类的详解

    摘自:JAVA中基本类型的包装类 1. 包装类把基本类型数据转换为对象     每个基本类型在java.lang包中都有一个相应的包装类 2. 包装类有何作用     提供了一系列实用的方法     ...

  10. redis high available solution/ redis 高可用方案

    http://developers.linecorp.com/blog/?p=1420 http://engineering.docusign.com/articles/redis-sentinel- ...