引言

tree 是一个非常经典且有用的命令行工具。

tree 命令的作用是以一种可视化的“树状”结构,来显示一个目录(文件夹)及其所有子目录和文件的层级关系。

如何理解 tree 命令? 🌳

您可以把它和我们常用的 ls 命令作对比来理解:

  • ls 命令:就像您走进一个房间,ls 会告诉您这个房间里有哪些东西。它只看当前一层。
  • tree 命令:则像您拿到了一栋大楼的完整结构图。它不仅告诉您当前房间里有什么,还会以清晰的层级图形式,展示这个房间连接的所有其他房间、楼层、乃至整栋大楼的每一个角落。

所以,tree 的核心价值在于让你能够一目了然地看清整个目录的嵌套结构,非常适合用来快速理解一个项目的文件夹组织方式。


如何使用 tree

在很多 Linux 发行版中 tree 是预装的,但在 macOS 上通常需要手动安装。

安装

  • 在 macOS 上 (使用 Homebrew)
1
brew install tree
  • **在 Linux 上 (Debian / Ubuntu)**Bash
1
sudo apt-get install tree

常见命令

  1. 显示当前目录的结构Bash

    • 只需在终端中输入 tree 即可。

    示例输出:

    1
    2
    3
    4
    5
    6
    7
    8
    .
    ├── images
    │ ├── avatar.png
    │ └── logo.svg
    ├── index.html
    └── styles
    ├── main.css
    └── reset.css
  2. 显示指定目录的结构Bash

    • 在 tree 后面跟上您想查看的文件夹路径。
    1
    tree path/to/your/directory
  3. **限制显示的层级深度 (-L)**Bash

    • 这是非常有用的一个参数,可以避免在结构很深的目录中输出过多内容。L 后面的数字代表您想显示的层级。
    1
    2
    # 只显示到第 2 层
    tree -L 2

    示例输出 (只看2层):

    1
    2
    3
    4
    5
    6
    7
    8
    .
    ├── images
    │ ├── avatar.png
    │ └── logo.svg
    ├── index.html
    └── styles
    ├── main.css
    └── reset.css
  4. **只显示目录 (-d)**Bash

    • 如果您只想看文件夹结构,不关心具体的文件,可以使用 d 参数。
    1
    tree -d

    示例输出 (只看目录):

    1
    2
    3
    .
    ├── images
    └── styles

总而言之,tree 是一个直观、高效的工具,用于快速掌握任何目录的文件和文件夹结构。