[转帖]Linux杂谈: 树形显示多级目录--tree
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的更多相关文章
- Linux杂谈: 树形显示多级目录--tree
最近写博客的时候偶尔会需要将文件目录结构直观地列出来,例如python的包结构. 于是在网上搜了搜,发现了一个Linux下还不错的工具--tree tree 可以很直观地显示多级目录结构. 1. 安装 ...
- [转帖]linux tree命令--显示目录的树形结构
linux tree命令--显示目录的树形结构 版权声明:iamqilei@qq.com https://blog.csdn.net/u011729865/article/details/533 ...
- [转帖]linux下使用 du查看某个文件或目录占用磁盘空间的大小
linux下使用 du查看某个文件或目录占用磁盘空间的大小 du -ah --max-depth= 去年用过一次 后来忘记了.. 命令这个东西 熟能生巧.. https://www.cnblogs.c ...
- [转帖]linux /proc目录下的文件为何无法用vi编辑保存
linux /proc目录下的文件为何无法用vi编辑保存 https://blog.51cto.com/xlogin/1216914 学习一下 之前看过书 这一点 没太仔细看.. xlogin关注8人 ...
- Linux 基础命令及基本目录
Linux 基础命令及基本目录 一.网卡 1.网卡配置文件路径 /etc/sysconfig/network-scripts/ifcfg-eth0 配置文件: TYPE=Ethernet # 以太 ...
- [转帖]Linux企业运维人员最常用150个命令汇总
Linux企业运维人员最常用150个命令汇总 https://clsn.io/clsn/lx998.html 基本上都用过了. 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的 ...
- Linux学习笔记(二)Linux常用命令:权限、目录操作以及常见目录作用
一.Linux命令格式 命令 [选项] [参数] 注:(1)简化选项和完整选项 -a --all (2)当有多个选项是可以写在一起 -l -a 可以写为-la 二.权限 -rw-r--r--.&quo ...
- linux(centOS7)的基本操作(二) 目录和文件管理
1.显示当前工作目录的绝对路径 pwd 2.显示当前工作目录下的子目录和文件 ls [-l] [-h] [-a] 如果只调用ls,子目录和文件会简单的罗列出来,-l表示将其以详细列表的形式展示,-h表 ...
- linux下创建文件与目录时默认被赋予了什么样的权限?
当我们创建一个新的文件或目录的时候,他的默认权限是什么? umask--指定当前使用者在创建文件或目录的时候默认的权限值 [root@iZ288fgkcpkZ default]# umask [roo ...
随机推荐
- Python 面向对象Ⅱ
创建实例对象 实例化类其他编程语言中一http://www.xuanhe.net/般用关键字 new,但是在 Python 中并没有这个关键字,类的实例化类似函数调用方式. 以下使用类的名称 Empl ...
- Redis常见面试问题及答案
大量key在同一时间过期,注意什么? 如果过期时间过于集中,会导致Redis可能会出现短暂的卡顿现象.严重的话会出现缓存雪崩,一般需要在时间上加一个随机值, 使用过期时间分散一些. Redis分布式锁 ...
- mysql报错:Cause: java.sql.SQLException: sql injection violation, syntax error: ERROR. pos 39, line 2, column 24, token CLOSE
因为close是mysql关键字 -- ::, DEBUG (BaseJdbcLogger.java:)- ==> Preparing: , -- ::, INFO (XmlBeanDefini ...
- java支持断点续传文件上传和下载组件
java两台服务器之间,大文件上传(续传),采用了Socket通信机制以及JavaIO流两个技术点,具体思路如下: 实现思路: 1.服:利用ServerSocket搭建服务器,开启相应端口,进行长连接 ...
- Visual Stdio C++ 编译器、链接器常用命令
概览: cmd常用命令配合使用: del 删除指定文件 同erase cls 清屏 rd 删除空目录文件夹 dir 显示目录 cd 在当前盘符跳转指定目录(不同盘符跳转用盘符号)(分别表示根目录 上一 ...
- 计蒜客 2018南京网络赛 I Skr ( 回文树 )
题目链接 题意 : 给出一个由数字组成的字符串.然后要你找出其所有本质不同的回文子串.然后将这些回文子串转化为整数后相加.问你最后的结果是多少.答案模 1e9+7 分析 : 应该可以算是回文树挺裸的题 ...
- JS框架_(JQuery.js)绚丽的3D星空动画
百度云盘: 传送门 密码:8ft8 绚丽的3D星空动画效果(纯CSS) (3D星空动画可以用作网页背景,Gary为文本文字) <!doctype html> <html lang=& ...
- is == 编码与解码
is 和 == 主要是数字和字符串的比较 1 区别: ==比较的是两边的值 is比较的是两边值的id id获取的方法 id() 2 小数据池: -5~256 3 字符串中特殊字符有id ...
- Gradle项目构建工具学习笔记(持续更新中。。。)
1.gradle的安装 1)从官网下载gradle,然后解压 2)在系统环境变量新建GRADLE_HOME 3)将%GRADLE_HOME%\bin加入PATH中 2.验证是否安装成功 gradle ...
- webConfig的使用
<sessionState mode="Off|InProc|StateServer|SQLServer" cookieless="true|false" ...