Linux tree命令

参考资料

  1. Git bashでtreeコマンドを使いたい

目录

  • [一. 简介](#一. 简介)
  • [二. `Windows`中使用tree命令](#二. Windows中使用tree命令)
    • [2.1 `Windows`自带的`tree`命令](#2.1 Windows自带的tree命令)
    • [2.2 `Git bash`中使用`tree`命令](#2.2 Git bash中使用tree命令)
  • [三. 配置项](#三. 配置项)
    • [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.7 `-J` 显示为json数据](#3.7 -J 显示为json数据)

一. 简介


二. 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 指定要排除的目录

  • 排除MusicVideo文件夹
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}
]
相关推荐
像名字一样难取的昵称2 小时前
Linux学习笔记:十八、Linux文件的压缩,解压缩一站式学习
linux·运维·笔记·学习·ubuntu·ssh
少年、潜行2 小时前
F1C100/200S学习笔记(2)-- 初次FLASH启动(裸机)和SD卡启动(Linux)
linux·笔记·f1c200s
小白勇闯网安圈3 小时前
极简版Linux发行内核
linux
管理大亨3 小时前
Linux vs Windows:五大维度深度对决
linux·arm开发·windows
乘凉~3 小时前
【Linux作业】Limux下的python多线程爬虫程序设计
linux·爬虫·python
Trouvaille ~3 小时前
【Linux】库制作与原理(二):ELF格式与静态链接原理
linux·运维·c语言·操作系统·动静态库·静态链接·elf文件
KingRumn3 小时前
Linux信号之信号安全
linux·算法
Trouvaille ~4 小时前
【Linux】库制作与原理(三):动态链接与加载机制
linux·c语言·汇编·got·动静态库·动态链接·plt
APIshop4 小时前
高性能采集方案:淘宝商品 API 的并发调用与数据实时处理
linux·网络·算法