Skip to content

tree 命令详解

tree 是一个递归列出目录树的命令行工具,比 ls 更直观地显示文件和目录结构。

安装

Debian/Ubuntu

bash
sudo apt update
sudo apt install tree

macOS

bash
brew install tree

检查是否已安装

bash
tree --version

常用参数

基础用法

bash
tree [目录路径]

如果省略目录路径,则默认显示当前目录。

显示文件名称

使用 /F 参数,显示每个文件夹中文件的名称,省略目录下的文件。

bash
tree /F

使用 ASCII 字符

使用 /A 参数,使用 ASCII 字符而不使用扩展字符。

bash
tree /A

显示所有目录

使用 /F 参数时,显示所有目录及目录下的所有文件。

输出到文件

使用重定向将输出保存到文件:

bash
tree /f > tree.txt

完整格式说明

TREE【盘符:】【F】【>PRN】
  • 【盘符:】— 指定盘符(Windows 环境)
  • 【F】— 显示文件名称
  • 【>PRN】— 打印到打印机(历史遗留参数,一般不使用)

实际例子

查看当前目录结构

bash
tree

只显示文件名(不显示目录下内容)

bash
tree /F

使用 ASCII 字符并输出到文件

bash
tree /Af > tree.txt

只显示目录,不显示文件

bash
tree /d

限制显示深度

bash
tree -L 2  # 只显示 2 层

按文件大小排序

bash
tree -S -h  # 按大小排序,并显示可读的大小单位

显示隐藏文件

bash
tree -a  # 显示所有文件(包括以 `.` 开头的隐藏文件)

高级参数

参数说明
-L n显示深度为 n 的目录结构
-d只显示目录
-f显示文件路径
-F显示文件类型标记(目录后加 /,可执行文件后加 *
-a显示隐藏文件
-s以 ASCII 码显示文件和目录
-h以可读格式显示文件大小
-S按文件大小排序
-t按修改时间排序
-r随机排序
-p显示完整路径
-x保持在当前文件系统中
-P pattern只显示匹配 pattern 的文件

组合使用示例

保存目录结构到文件

bash
tree /f > 文件夹目录树.txt

只看目录结构,输出到文件

bash
tree /Af > 目录结构.txt

深度 2 层,显示完整路径

bash
tree -L 2 -p

只显示特定扩展名的文件

bash
tree -P "*.md"  # 只显示 markdown 文件

与其他命令对比

命令特点适用场景
tree树形结构,递归显示查看目录整体结构
ls平铺列表,非递归快速查看当前目录内容
find按条件查找文件搜索特定文件

小贴士

  1. tree 输出颜色丰富,方便快速区分文件和目录
  2. 可以与管道结合:tree | grep "keyword" 在目录树中搜索
  3. 输出可以直接复制到文档中,很方便写技术文档

适用于:Linux、macOS、WSL

最近更新

基于 VitePress + Teek 主题构建