Skip to content
0

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 主题构建