在Mac终端使用$tree查看Django项目目录树无返回结果问题
问题原因
- 别名配置冲突:很多用户会在shell配置文件(
~/.zshrc/~/.bash_profile)中给tree配置带过滤规则的别名,比如自动排除缓存文件、隐藏目录等,当过滤规则覆盖当前目录下所有内容时,就会出现无输出的情况。 - 工作路径不匹配:终端当前执行tree命令的目录,和Finder中查看的Django项目目录不一致,比如终端停在空目录或项目内的空子目录,就不会有输出。
- tree工具安装异常:通过Homebrew安装tree时出现包损坏,或安装了非官方修改版的tree,遍历逻辑异常导致无输出。
- 目录权限不足:当前终端使用的用户对目标目录没有读权限,即使Finder可访问,tree也无法读取目录内容。
解决方法
- 排查别名问题:执行
\tree(反斜杠作用是跳过别名配置直接调用原始命令),如果可以正常输出,说明是别名配置问题。打开对应的shell配置文件删除不合理的tree别名,执行source ~/.zshrc(zsh用户)或source ~/.bash_profile(bash用户)生效即可。 - 确认工作路径:执行
pwd查看终端当前路径,和Django项目的实际路径对比,路径不一致的话用cd 项目绝对路径切换到对应目录后再执行tree。 - 重装官方tree:执行
brew uninstall tree && brew install tree重新安装官方版本的tree工具,再尝试执行命令。 - 修复目录权限:执行
sudo chmod -R 755 项目绝对路径,输入开机密码确认后,再执行tree命令即可。
内容的提问来源于stack exchange,提问作者Wolfy Wolf33
相关产品推荐
相关产品推荐

