参考资料
目录
- [一. 简介](#一. 简介)
- [二. `Windows`中使用tree命令](#二.
Windows中使用tree命令) -
- [2.1 `Windows`自带的`tree`命令](#2.1
Windows自带的tree命令) - [2.2 `Git bash`中使用`tree`命令](#2.2
Git bash中使用tree命令)
- [2.1 `Windows`自带的`tree`命令](#2.1
- [三. 配置项](#三. 配置项)
-
- [3.1 `-L` 显示层级](#3.1
-L显示层级) - [3.2 `-d` 只显示目录,不显示文件](#3.2
-d只显示目录,不显示文件) - [3.3 `-s`和`-h` 显示文件大小](#3.3
-s和-h显示文件大小) - [3.4 `-I` 指定要排除的目录](#3.4
-I指定要排除的目录) - [3.5 `-f` 显示文件的全路径](#3.5
-f显示文件的全路径) - [3.6 排序](#3.6 排序)
-
- [3.6.1 `--filesfirst`:先显示文件](#3.6.1
--filesfirst:先显示文件) - [3.6.2 `--dirsfirst`:先显示文件夹](#3.6.2
--dirsfirst:先显示文件夹) - [3.6.3 按照最后修改的时间进行排序](#3.6.3 按照最后修改的时间进行排序)
- [3.6.1 `--filesfirst`:先显示文件](#3.6.1
- [3.7 `-J` 显示为json数据](#3.7
-J显示为json数据)
- [3.1 `-L` 显示层级](#3.1
一. 简介
二. Windows中使用tree命令
2.1 Windows自带的tree命令
💥Windows自带的tree命令和linux中的tree命令并不是一个东西,Windows自带的tree命令虽然也能列出指定文件夹下的目录结构,
但是命令的配置项很少,远不如linux的tree命令强大。
⏹只列出指定路径下的所有文件夹(不包含文件)
powershell
PS E:\> tree .\VM_PC\
卷 办公 的文件夹 PATH 列表
卷序列号为 00000001 68C9:715D
E:\VM_PC
├─DockerDesktopWSL
│ ├─disk
│ └─main
├─Ubuntu-24.04.1
├─Win10-Business
└─wsl
└─Ubuntu_22.04
⏹列出指定路径下到文件的目录结构
powershell
PS E:\> tree /f .\VM_PC\
卷 办公 的文件夹 PATH 列表
卷序列号为 68C9-715D
E:\VM_PC
├─DockerDesktopWSL
│ ├─disk
│ │ docker_data.vhdx
│ │
│ └─main
│ ext4.vhdx
│
├─Ubuntu-24.04.1
│ mksSandbox-0.log
│ mksSandbox-1.log
│ mksSandbox-2.log
│ mksSandbox.log
。。。省略。。。
2.2 Git bash中使用tree命令
⏹Git bash默认是没有安装tree命令的
bash
Admin@FengYeHong-HP MINGW64 ~/Desktop
$ tree
bash: tree: command not found
-
可以从官网下载tree命令压缩包,Tree for Windows
-
然后从
Binaries项目中找到,zip压缩包,下载解压缩之后,在bin文件夹中找到tree.exe文件

-
然后将
tree.exe文件复制到git安装目录中,例如C:\Program Files\Git\usr\bin中

-
然后就可以在
Git bash中使用tree命令了

三. 配置项
3.1 -L 显示层级
- 限制只显示2级目录,避免目录层级过多影响显示
bash
apluser@FengYeHong-HP:~$ tree -L 2 ./download/
./download/
├── Google-Play_48.9.30-23.apk
├── com.termux_1002.apk
├── email
│ ├── JMW110120.pdf
│ ├── JMW110120_nopass.zip
│ ├── JMW110120_pass.zip
│ ├── recruit(氏_名) .xlsx
│ └── 誓約書(2ページ割付印刷用).pdf
├── netease
│ └── cloudmusic
└── qidm
3.2 -d 只显示目录,不显示文件
bash
apluser@FengYeHong-HP:~$ tree -d ./download/
./download/
├── email
└── netease
└── cloudmusic
├── Music
└── Video
└── PrivateMessage
bash
apluser@FengYeHong-HP:~$ tree -d -L 2 ./download/
./download/
├── email
└── netease
└── cloudmusic
3.3 -s和-h 显示文件大小
- 显示每个文件的字节大小
bash
apluser@FengYeHong-HP:~$ tree -s ./download/
[ 4096] ./download/
├── [ 96801023] Google-Play_48.9.30-23.apk
├── [ 113880067] com.termux_1002.apk
├── [ 4096] email
│ ├── [ 386176] JMW110120.pdf
│ ├── [ 3523] JMW110120_nopass.zip
│ ├── [ 3559] JMW110120_pass.zip
│ ├── [ 61446] recruit(氏_名) .xlsx
│ └── [ 152097] 誓約書(2ページ割付印刷用).pdf
├── [ 4096] netease
│ └── [ 4096] cloudmusic
│ ├── [ 4096] Music
│ │ ├── [ 11409673] KOKIA - クルマレテ.ncm
│ │ ├── [ 10791936] Pizzicato Strings - Cailleach Bheur .mp3
│ │ ├── [ 12525228] ヰ世界情緒 - そして白に還る.ncm
│ │ ├── [ 8600735] 咻咻满 - 无归.ncm
│ │ ├── [ 9749251] 陰陽座 - 甲賀忍法帖.ncm
│ │ └── [ 6700364] 黄龄 - 小雨.ncm
│ └── [ 4096] Video
│ └── [ 4096] PrivateMessage
└── [ 78] qidm
- 以可读性高的效果显示文件大小
bash
apluser@FengYeHong-HP:~$ tree -h ./download/
[4.0K] ./download/
├── [ 92M] Google-Play_48.9.30-23.apk
├── [109M] com.termux_1002.apk
├── [4.0K] email
│ ├── [377K] JMW110120.pdf
│ ├── [3.4K] JMW110120_nopass.zip
│ ├── [3.5K] JMW110120_pass.zip
│ ├── [ 60K] recruit(氏_名) .xlsx
│ └── [149K] 誓約書(2ページ割付印刷用).pdf
├── [4.0K] netease
│ └── [4.0K] cloudmusic
│ ├── [4.0K] Music
│ │ ├── [ 11M] KOKIA - クルマレテ.ncm
│ │ ├── [ 10M] Pizzicato Strings - Cailleach Bheur .mp3
│ │ ├── [ 12M] ヰ世界情緒 - そして白に還る.ncm
│ │ ├── [8.2M] 咻咻满 - 无归.ncm
│ │ ├── [9.3M] 陰陽座 - 甲賀忍法帖.ncm
│ │ └── [6.4M] 黄龄 - 小雨.ncm
│ └── [4.0K] Video
│ └── [4.0K] PrivateMessage
└── [ 78] qidm
3.4 -I 指定要排除的目录
- 排除
Music和Video文件夹
bash
apluser@FengYeHong-HP:~$ tree -I "Music|Video" ./download/
./download/
├── Google-Play_48.9.30-23.apk
├── com.termux_1002.apk
├── email
│ ├── JMW110120.pdf
│ ├── JMW110120_nopass.zip
│ ├── JMW110120_pass.zip
│ ├── recruit(氏_名) .xlsx
│ └── 誓約書(2ページ割付印刷用).pdf
├── netease
│ └── cloudmusic
└── qidm
3.5 -f 显示文件的全路径
bash
apluser@FengYeHong-HP:~$ tree -f /home/apluser/download/
/home/apluser/download
├── /home/apluser/download/Google-Play_48.9.30-23.apk
├── /home/apluser/download/com.termux_1002.apk
├── /home/apluser/download/email
│ ├── /home/apluser/download/email/JMW110120.pdf
│ ├── /home/apluser/download/email/JMW110120_nopass.zip
│ ├── /home/apluser/download/email/JMW110120_pass.zip
│ ├── /home/apluser/download/email/recruit(氏_名) .xlsx
│ └── /home/apluser/download/email/誓約書(2ページ割付印刷用).pdf
├── /home/apluser/download/netease
│ └── /home/apluser/download/netease/cloudmusic
│ ├── /home/apluser/download/netease/cloudmusic/Music
│ │ ├── /home/apluser/download/netease/cloudmusic/Music/KOKIA - クルマレテ.ncm
│ │ ├── /home/apluser/download/netease/cloudmusic/Music/Pizzicato Strings - Cailleach Bheur .mp3
│ │ ├── /home/apluser/download/netease/cloudmusic/Music/ヰ世界情緒 - そして白に還る.ncm
│ │ ├── /home/apluser/download/netease/cloudmusic/Music/咻咻满 - 无归.ncm
│ │ ├── /home/apluser/download/netease/cloudmusic/Music/陰陽座 - 甲賀忍法帖.ncm
│ │ └── /home/apluser/download/netease/cloudmusic/Music/黄龄 - 小雨.ncm
│ └── /home/apluser/download/netease/cloudmusic/Video
│ └── /home/apluser/download/netease/cloudmusic/Video/PrivateMessage
└── /home/apluser/download/qidm
3.6 排序
3.6.1 --filesfirst:先显示文件
bash
apluser@FengYeHong-HP:~$ tree --filesfirst -Q /home/apluser/download/
"/home/apluser/download/"
├── "Google-Play_48.9.30-23.apk"
├── "com.termux_1002.apk"
├── "qidm"
├── "email"
│ ├── "JMW110120.pdf"
│ ├── "JMW110120_nopass.zip"
│ ├── "JMW110120_pass.zip"
│ ├── "recruit(氏_名) .xlsx"
│ └── "誓約書(2ページ割付印刷用).pdf"
└── "netease"
└── "cloudmusic"
├── "Music"
│ ├── "KOKIA - クルマレテ.ncm"
│ ├── "Pizzicato Strings - Cailleach Bheur .mp3"
│ ├── "ヰ世界情緒 - そして白に還る.ncm"
│ ├── "咻咻满 - 无归.ncm"
│ ├── "陰陽座 - 甲賀忍法帖.ncm"
│ └── "黄龄 - 小雨.ncm"
└── "Video"
└── "PrivateMessage"
3.6.2 --dirsfirst:先显示文件夹
bash
apluser@FengYeHong-HP:~$ tree --dirsfirst -Q /home/apluser/download/
"/home/apluser/download/"
├── "email"
│ ├── "JMW110120.pdf"
│ ├── "JMW110120_nopass.zip"
│ ├── "JMW110120_pass.zip"
│ ├── "recruit(氏_名) .xlsx"
│ └── "誓約書(2ページ割付印刷用).pdf"
├── "netease"
│ └── "cloudmusic"
│ ├── "Music"
│ │ ├── "KOKIA - クルマレテ.ncm"
│ │ ├── "Pizzicato Strings - Cailleach Bheur .mp3"
│ │ ├── "ヰ世界情緒 - そして白に還る.ncm"
│ │ ├── "咻咻满 - 无归.ncm"
│ │ ├── "陰陽座 - 甲賀忍法帖.ncm"
│ │ └── "黄龄 - 小雨.ncm"
│ └── "Video"
│ └── "PrivateMessage"
├── "Google-Play_48.9.30-23.apk"
├── "com.termux_1002.apk"
└── "qidm"
3.6.3 按照最后修改的时间进行排序
bash
apluser@FengYeHong-HP:~$ tree -t -Q /home/apluser/download/
"/home/apluser/download/"
├── "qidm"
├── "netease"
│ └── "cloudmusic"
│ ├── "Video"
│ │ └── "PrivateMessage"
│ └── "Music"
│ ├── "Pizzicato Strings - Cailleach Bheur .mp3"
│ ├── "ヰ世界情緒 - そして白に還る.ncm"
│ ├── "KOKIA - クルマレテ.ncm"
│ ├── "陰陽座 - 甲賀忍法帖.ncm"
│ ├── "黄龄 - 小雨.ncm"
│ └── "咻咻满 - 无归.ncm"
├── "com.termux_1002.apk"
├── "Google-Play_48.9.30-23.apk"
└── "email"
├── "誓約書(2ページ割付印刷用).pdf"
├── "recruit(氏_名) .xlsx"
├── "JMW110120.pdf"
├── "JMW110120_pass.zip"
└── "JMW110120_nopass.zip"
3.7 -J 显示为json数据
bash
apluser@FengYeHong-HP:~$ tree -J /home/apluser/download/
[
{"type":"directory","name":"/home/apluser/download/","contents":[
{"type":"file","name":"Google-Play_48.9.30-23.apk"},
{"type":"file","name":"com.termux_1002.apk"},
{"type":"directory","name":"email","contents":[
{"type":"file","name":"JMW110120.pdf"},
{"type":"file","name":"JMW110120_nopass.zip"},
{"type":"file","name":"JMW110120_pass.zip"},
{"type":"file","name":"recruit(氏_名) .xlsx"},
{"type":"file","name":"誓約書(2ページ割付印刷用).pdf"}
]},
{"type":"directory","name":"netease","contents":[
{"type":"directory","name":"cloudmusic","contents":[
{"type":"directory","name":"Music","contents":[
{"type":"file","name":"KOKIA - クルマレテ.ncm"},
{"type":"file","name":"Pizzicato Strings - Cailleach Bheur .mp3"},
{"type":"file","name":"ヰ世界情緒 - そして白に還る.ncm"},
{"type":"file","name":"咻咻满 - 无归.ncm"},
{"type":"file","name":"陰陽座 - 甲賀忍法帖.ncm"},
{"type":"file","name":"黄龄 - 小雨.ncm"}
]},
{"type":"directory","name":"Video","contents":[
{"type":"directory","name":"PrivateMessage"}
]}
]}
]},
{"type":"file","name":"qidm"}
]}
,
{"type":"report","directories":6,"files":14}
]