在新 Mac 上敲 tree,终端直接回一句 zsh: command not found: tree。系统自带的命令里没有它,得自己装。

brew 一条命令就够

brew install tree

装完先跑 tree --version 确认一下。如果提示 brew 也不存在,说明 Homebrew 还没装,先把它弄好再来。Apple 芯片的机器 brew 装在 /opt/homebrew,Intel 机器在 /usr/local,命令找不到多半是 PATH 没带上这个目录。

控制深度的那几个参数

tree -L 2

-L 限制层数。看 node_modules 那种深目录不加这个,屏幕能刷好几分钟。-d 只列目录,理项目结构时比看文件清爽。-a 把隐藏文件也放出来,排查 .env、.git 这类东西用得上。

要排掉某个目录用 -I,值里写正则,多个用竖线隔开:

tree -L 3 -I 'node_modules|.git|dist'

中文文件名如果对齐错乱,多半是终端配色和字符宽度的问题,内容本身没错,换个等宽字体就正常了。

要连完整路径一起看,加 -f;只关心一层就把 -L 设成 1,输出干净到可以直接贴进文档。

不想装东西就用 find 顶一下

临时看两层目录,find 也能凑合,只是输出没有缩进线,读起来费劲:

find . -maxdepth 2 -type d

按名字过滤再加 -name 参数,通配符记得用单引号包住,不然会被 shell 先展开。

结果存成文本再贴进文档

截图看不清层级,直接把输出写进文件更省事:

tree -L 2 -I 'node_modules' > structure.txt

命令里的尖括号表示重定向,执行完当前目录会多出一个文本文件。用等宽字体打开,缩进线才不会错位。

只想看某一类文件,用 -P 按通配匹配,比如只看 md 文件,目录骨架照样保留。用不惯就删掉,brew 装的东西卸载也很干净:

brew uninstall tree

判断:偶尔看一眼目录,find 够用;天天理项目、写文档要贴目录树,直接 brew install tree,顺手把 -L 养成习惯。