[转帖]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 ...
随机推荐
- Mybatis 中 refid是什么意思
1.首先定义一个sql标签,一定要定义唯一id 例:<sql id="Base_Column_List" > name,age </sql> 2.然后通过 ...
- EasyUI DataGrid列表,显示undefined
datagrid中,显示undefined的解决方法 在get函数中,将为null的值返回空的字符串 1 public class TestModel { 2 3 private String key ...
- [JZOJ6241]【NOI2019模拟2019.6.29】字符串【数据结构】【字符串】
Description 给出一个长为n的字符串\(S\)和一个长为n的序列\(a\) 定义一个函数\(f(l,r)\)表示子串\(S[l..r]\)的任意两个后缀的最长公共前缀的最大值. 现在有q组询 ...
- Python实用黑科技——找出序列里面出现次数最多的元素
需求: 如何从一个序列中快速获取出现次数最多的元素. 方法: 利用collections.Counter类可以解决这个问题,特别是他的most_common()方法更是处理此问题的最快途径.比如,现在 ...
- Mysql cluster管理节点配置文件详解
一.定义MySQL Cluster的TCP/IP连接TCP/IP是MySQL集群用于建立连接的默认传输协议,正常情况下不需要定义连接.可使用“[TCP DEFAULT]”或“[TCP]”进行定义. 1 ...
- conda install -c anaconda
有些包在conda默认的channels中不包含,比如cudatoolkit-8.0,cudnn等,这时只需要在conda install指令后加上-c anaconda即可.比如要下载cudatoo ...
- nginx负载均衡 理解与测试
Nginx负载均衡概述 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现 ...
- 使用ffmpeg切片出hls
测试的时候经常要用到ffmpeg切hls的流 ffmpeg -re -i g:/media/baifa.mp4 -codec copy -f hls -hls_list_size -hls_wrap ...
- java多线程系列1:Sychronized关键字
1.Synchronized使用范围: 同步普通方法:锁的是当前对象 //包含synchronized修饰的同步方法的类addCountClass public class addCountClass ...
- oracle字段like多个条件
写oracle sql时有时候会有 and (字段 like ‘匹配串1’or 字段 like ‘匹配串2’or ...)这样的情况出现,下面提供一个简洁点的解决方案: and REGEXP_LIKE ...