文章目录
- 一、命令介绍
- 二、常用选项
- 三、命令示例
- (一)按树形结构显示当前目录下的内容
- (二)按树状图显示当前目录下的所有目录名称而非文件
- (三)列出指定目录下的第一层级的文件和目录名称
- (四)不显示符合范本样式的文件或目录名称
- (五)只显示符合范本样式的文件和目录名称
- (六)列出当前目录两个层级的目录结构,并将结果输出到指定的文件中
- (七)按树形结构列出当前目录的内容,且只显示目录
- (八)以树状图的形式列出当前目录下的所有文件和目录
- 四、参考文档
一、命令介绍
命令 tree
的作用是用于以树状图形式列出目录的内容,即按树形结构来显示指定目录内的内容。执行 tree 命令,它会以树状图的方式列出指定目录下的所有文件,包括子目录里的文件,按树形结构显示出指定目录的文件目录结构。
二、常用选项
选项 | 说明 |
---|---|
-a | 显示所有文件和目录 |
-A | 使用ASNI绘图字符显示树状图而非以ASCII字符组合 |
-c | 用文件和目录的改变时间排序。这里是指 ctime。Sort files by last status change time. |
-C | 在文件和目录清单加上色彩,便于区分这种类型 |
--charset X | Use charset X for terminal/HTML and indentation line output. |
--dirsfirst | 在文件之前列出目录(-U禁用)。List directories before files (-U disables). |
--device | 打印每个文件所属的设备ID号。Print device ID number to which each file belongs. |
-d | 显示目录名称而非文件 |
-D | 列出文件或目录的修改时间,这里应该是指 mtime |
-f | 在每个文件或目录之前,显示完整的相对路径名称 |
-F | 在执行文件,目录,Socket,符号连接,管道名称前,各自加上符号 * ,/ ,= ,@ ,| |
-g | 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码 |
-H baseHREF | 打印出以baseHREF作为顶部目录的HTML格式。 Prints out HTML format with baseHREF as top directory. |
-h | 以更易读的方式打印大小。Print the size in a more human readable way. |
-i | 不以阶梯状列出文件或目录名称 |
--ignore-case | 匹配范本样式时忽略大小写。Ignore case when pattern matching. |
-J | 按 json 格式打印输出。Prints out an JSON representation of the tree. |
-I<范本样式> | 不显示符合范本样式的文件或目录名称。Do not list files that match the given pattern. |
-l | 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录 |
-L 或者 --level | 限制目录显示层级 |
--matchdirs | Include directory names in -P pattern matching. |
-n | 不在文件和目录清单上加上色彩。Turn colorization off always (-C overrides). |
-N | 直接列出文件和目录名称,包括控制字符 |
-p | 列出权限标示 |
-P<范本样式> 或 --pattern<范本样式> | 只显示符合范本样式的文件和目录名称 |
-q | 用“?”号取代控制字符,列出文件和目录名称 |
-R | 达到最大目录级别时重新运行树。Rerun tree when max dir level reached |
-s | 列出文件或目录大小 |
-T string | 用字符串替换默认的HTML标题和H1标题。 Replace the default HTML title and H1 header with string. |
-u | 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码 |
--nolinks | 关闭HTML输出中的超链接。Turn off hyperlinks in HTML output. |
--noreport | 关闭树列表末尾的文件/目录计数。Turn off file/directory count at end of tree listing. |
--filelimit # | 不要下载超过 # 个文件的目录,Do not descend dirs with more than # files in them. |
--timefmt <f> | 根据格式打印和格式化时间。Print and format time according to the format . |
-o filename | 输出到文件而不是标准输出。Output to file instead of stdout. |
--inodes | 打印每个文件的 inode 编号,索引节点号。Print inode number of each file. |
-Q | 用双引号引文件名。Quote filenames with double quotes. |
-r | 颠倒排序顺序。Reverse the order of the sort. |
--sort X | 自定义排序属性。Select sort: name,version,size,mtime,ctime. |
-S | 使用CP437(控制台)图形缩进线打印。Print with CP437 (console) graphics indentation lines. |
--si | 与-h 类似,但使用国际单位制(1000的幂)。Like -h, but use in SI units (powers of 1000). |
-t | 用文件和目录的修改时间排序,这里是指 mtime。 |
-U | 不排序。Leave files unsorted. |
-v | 按版本对文件进行字母数字排序。Sort files alphanumerically by version. |
-X | 打印出树的XML表示。Prints out an XML representation of the tree. |
-x | 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外 |
-version | 输出版本信息 |
--help | 打印使用帮助信息 |
三、命令示例
(一)按树形结构显示当前目录下的内容
[root@htlwk0001host test2]# tree
.
└── test3└── test42 directories, 0 files
[root@htlwk0001host test2]#
(二)按树状图显示当前目录下的所有目录名称而非文件
[root@linuxcool ~]# tree -d
(三)列出指定目录下的第一层级的文件和目录名称
列出目录/private/ 第一级文件名
[root@htlwk0001host test2]# tree /private/ -L 1
/private/
├── etc
├── tftpboot
├── tmp
└── var
(四)不显示符合范本样式的文件或目录名称
[root@htlwk0001host test2]# tree -I 'node_modules|icon|font' -L 2
忽略当前目录下的子目录 node_modules:
tree -I node_modules
(五)只显示符合范本样式的文件和目录名称
列出当前目录下的子目录 node_modules 的目录结构:
tree -P node_modules
显示目录node_modules两层的目录树结构:
tree -P node_modules -L 2
(六)列出当前目录两个层级的目录结构,并将结果输出到指定的文件中
tree -L 2 > /home/www/tree.txt
(七)按树形结构列出当前目录的内容,且只显示目录
[root@linuxcool ~]# tree -d
(八)以树状图的形式列出当前目录下的所有文件和目录
[root@linuxcool ~]# tree -a
四、参考文档
- 在线工具
- Linux命令大全