tree 命令集成到 Git Bash:可视化目录结构的指南

目录

[1. 下载与准备 tree 工具](#1. 下载与准备 tree 工具)

[2. 集成 tree 到 Git Bash 环境](#2. 集成 tree 到 Git Bash 环境)

[3. tree 命令基础用法详解](#3. tree 命令基础用法详解)

[4. 使用示例](#4. 使用示例)

在软件开发和文件管理中,清晰的目录结构可视化是提高效率的重要手段。tree命令作为 UNIX/Linux 系统的标准工具,能以树形结构递归展示目录内容,而 Windows 环境默认不包含该工具。对于使用 Git Bash 的开发者而言,集成tree.exe可以无缝获得类似 Linux 的目录查看体验。本文将详细介绍如何下载、集成并高效使用tree命令。

1. 下载与准备 tree 工具

1.1 Git 工具下载安装

Git 官网: https://git-scm.com/downloads/win

  • 安装完成后,将 Git\usr\bin 、Git\mingw64\bin 、Git\cmd 添加到系统 PATH;
  • 打开环境变量设置(Windows 10):右键 "此电脑"→"属性"→"高级系统设置"→"环境变量";
  • 在系统变量中找到PATH,点击 "编辑"→"新建",添加路径;

验证安装:

  • 右键--> Open Git Bash Here -->打开 Git Bash,输入 git --version,应显示版本信息:
bash 复制代码
git --version

# 显示 git version 2.50.0.windows.1

1.2 tree.exe 下载安装

Tree for Windows: https://gnuwin32.sourceforge.net/packages/tree.htm
Tree 安装包

  • 运行安装包,将 tree.exe 解压到自定义目录(如D:\tree);
  • 解压后目录结构示例:
txt 复制代码
    D:\tree\GnuWin32GnuWin32
    |-- bin
    |-- contrib
    |-- doc
    |-- man
    |-- manifest
    `-- uninstall

2. 集成 tree 到 Git Bash 环境

  • 将 GnuWin32GnuWin32\bin\tree.exe 拷贝到 Git\usr\bin 目录下;
  • 验证安装:
bash 复制代码
 # 任意位置,右键--> Open Git Bash Here -->打开 Git Bash,输入如下命令:
 tree --version

 # 应显示版本信息:
 # tree v1.5.2.2 (c) 1996 - 2009 by Steve Baker, Thomas Moore, Francesc Rocher, Kyosuke Tokoro

3. tree 命令基础用法详解

3.1 显示当前目录结构

bash 复制代码
# 递归显示当前目录所有子目录及文件
tree  

# 示例输出:
.
├── 001-docs
│   ├── design.md
│   └── requirements.txt
├── 002-src
│   ├── main.c
│   ├── utils.h
│   └── Makefile
└── 003-resources
    ├── image.png
    └── data.csv


# 只显示 002-src 目录
tree 002-src 

# 示例输出:
002-src
├── main.c
├── utils.h
└── Makefile

3.2 命令参数

参数 全称 功能描述 示例
-a --all 显示所有文件(包括隐藏文件) tree -a
-A 使用ASCII线连接目录结构 tree -A
-C 高亮彩色输出(需要终端支持) tree -C
-d --dirsfirst 目录优先显示(只显示目录) tree -d
-D 显示日期时间 tree -D
-f --full-path 显示完整路径(含当前路径) tree -f
-F 在文件名后添加标识符(/表示目录,*表示可执行文件等) tree -F
-g --group 显示文件所属用户组 tree -g
-h --human-readable 以易读格式显示文件大小(如KB/MB) tree -h
-i --indentation 禁用缩进符号(仅显示空白字符) tree -i
-I --ignore 忽略匹配模式的文件/目录(支持通配符) tree -I "*.tmp"
-l 显示链接指向的实际路径 tree -l
-L --level 限制显示层级(数字表示层级数) tree -L 2
-n 关闭颜色显示 tree -n
-o --output 将输出保存到指定文件 tree -o dir_list.txt
-p --permissions 显示文件权限(如-rw-r--r--) tree -p
-P --pattern 仅显示匹配模式的文件/目录(支持通配符) tree -P "*.md"
-q 隐藏不可打印字符(如换行符) tree -q
-r 反向排序(默认按字母顺序) tree -r
-s --size 显示文件大小(以字节为单位) tree -s
-t 按修改时间排序(最新文件在前) tree -t
-u --user 显示文件所属用户 tree -u
-v 按版本号排序(适用于带版本号的文件名) tree -v
-x 严格限制在当前文件系统(不跨文件系统显示) tree -x
--charset 设置输出字符编码(如UTF-8) tree --charset=UTF-8
--du 显示目录磁盘使用情况 tree --du
--inodes 显示文件的inode编号 tree --inodes
--prune 隐藏空子目录 tree --prune
--timefmt 自定义时间格式(如--timefmt=%Y-%m-%d) tree --timefmt=%Y-%m-%d
--version 显示版本信息 tree --version
--help 显示帮助信息 tree --help

4. 使用示例

4.1 显示3级项目结构(忽略 node_modules 和 .git 目录)

bash 复制代码
tree -L 3 -I "node_modules|.git"

4.2 查看文件详细信息(权限、大小、时间)

bash 复制代码
tree -p -h -D

4.3 保存目录结构到文件

bash 复制代码
tree -o project_structure.txt

4.4 显示当前目录下项目结构的详细信息

bash 复制代码
tree -a -h -p -u -D -g

4.5 对当前目录下的 001-docs ,显示 3级目录包括隐藏文件 ,排除 .txt 文件 ,使用ASCII线连接目录结构,目录结构输出到 tree.txt

bash 复制代码
tree 001-docs -a -F -A -L 3 -I "*.txt" -o tree.txt
相关推荐
竹照煜_ysn1 小时前
蓝桥杯51单片机设计
单片机·嵌入式硬件·51单片机
Electron-er2 小时前
汽车LIN总线通讯:从物理层到协议栈的深度解析
单片机·汽车电子·lin总线·lin总线通讯
Do vis8243 小时前
STM32第十六天蓝牙模块
stm32·单片机·嵌入式硬件
学不动CV了3 小时前
ARM单片机启动流程(二)(详细解析)
c语言·arm开发·stm32·单片机·51单片机
猫猫的小茶馆5 小时前
【STM32】通用定时器基本原理
c语言·stm32·单片机·嵌入式硬件·mcu·51单片机
jingshaoqi_ccc5 小时前
stm32的USART使用DMA配置成循环模式时发送和接收有着本质区别
stm32·单片机·嵌入式硬件
&Sinnt&7 小时前
Git 版本控制完全指南:从入门到精通
git·后端
步、步、为营8 小时前
.net开源物联网项目IoTSharp
物联网·开源·.net
搞笑的秀儿8 小时前
信息新技术
大数据·人工智能·物联网·云计算·区块链
玉树临风江流儿9 小时前
炸鸡派-定时器基础例程
单片机·嵌入式硬件