tree 以树状图列出目录的内容

作用

执行 tree 指令,它会列出指定目录下的所有文件,包括子目录里的文件。

注意,默认情况下 Linux 系统不带该命令,需要手动安装。下面是在 Ubuntu21 系统下执行 sudo apt install tree 命令的日志:

hxstrive@localhost:~$ sudo apt install tree
[sudo] password for hxstrive:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
Selecting previously unselected package tree.
(Reading database ... 267526 files and directories currently installed.)
Preparing to unpack .../tree_1.8.0-1_amd64.deb ...
Unpacking tree (1.8.0-1) ...
Setting up tree (1.8.0-1) ...
Processing triggers for man-db (2.9.4-2) ...

语法

tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]

参数

  • -a 显示所有文件和目录。

  • -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。

  • -C 在文件和目录清单加上色彩,便于区分各种类型。

  • -d 显示目录名称而非内容。

  • -D 列出文件或目录的更改时间。

  • -f 在每个文件或目录之前,显示完整的相对路径名称。

  • -F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。

  • -g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。

  • -i 不以阶梯状列出文件或目录名称。

  • -L level 限制目录显示层级。

  • -l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。

  • -n 不在文件和目录清单加上色彩。

  • -N 直接列出文件和目录名称,包括控制字符。

  • -p 列出权限标示。

  • -P<范本样式> 只显示符合范本样式的文件或目录名称。

  • -q 用"?"号取代控制字符,列出文件和目录名称。

  • -s 列出文件或目录大小。

  • -t 用文件和目录的更改时间排序。

  • -u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。

  • -x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

示例

(1)以树状图列出当前目录结构。例如:

hxstrive@localhost:~$ tree
.
├── DEADJOE
├── Desktop
├── Documents
├── Downloads
│   ├── firefox.tmp
│   │   └── tmpaddon
│   ├── google-chrome-stable_current_amd64.deb
│   └── Unconfirmed 582351.crdownload
├── Music
...省略...
│   └── work
│       └── Catalina
│           └── localhost
│               ├── docs
│               ├── examples
│               ├── host-manager
│               ├── manager
│               └── ROOT
└── Videos

226 directories, 1377 files  # 统计信息,共计 226 个目录,1377 个文件

更多关于命令详细参考手册,请使用 man 命令或者 --help 参数获取帮助信息

关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号