解决 gf / gau 与 Oh-My-Zsh 别名冲突的两种办法
引言:工具介绍与问题根源
- gf – 由 tomnomnom 开源的「grep on steroids」,内置 30+ 条针对 JS/URL/参数等敏感信息的模式,是挖洞时快速过滤 HTTP 响应的利器。
- gau – 全名 Get All URLs,同样来自 tomnomnom,主动抓取目标在 Wayback Machine、Common Crawl、URLScan 等公开源中出现过的全部 URL,为后续漏洞探测提供「历史资产地图」。
二者都是 BugBounty 社区的常用工具,但在安装 Oh-My-Zsh 并启用 git 插件后,终端默认会把 gf
与 gau
映射成 git 快捷别名,导致直接敲命令时无法调用真正的工具。本文将给出两种零依赖、可立即落地的解决方案。
方案 1:重命名可执行文件
思路:把冲突的指令改名,既保留 Oh-My-Zsh 的 git 别名,又不破坏 muscle memory。
-
找到真实路径
which gau gf # 假设输出 /usr/local/bin/gau 与 /usr/local/bin/gf
-
重命名并软链(举例加了一个字母,好记不拗口)
sudo mv /usr/local/bin/gau /usr/local/bin/gauu sudo mv /usr/local/bin/gf /usr/local/bin/gff # 可选:建立软链,让旧脚本/笔记不写错 sudo ln -s /usr/local/bin/gauu /usr/local/bin/gau sudo ln -s /usr/local/bin/gff /usr/local/bin/gf
优点:一次修改,全局生效;团队协作时写进 Dockerfile 或 Ansible 即可同步。
缺点:需要 sudo 权限;命令多一个字母,前三天可能敲错。
方案 2:临时取消别名
思路:Oh-My-Zsh 的别名只在交互式 shell 生效,手动 unalias
可立即释放关键字。
-
单次会话生效
unalias gau gf # 直接取消两条别名
-
每次开机自动生效(推荐写入
.zshrc
)# 在 ~/.zshrc 末尾追加 # 释放与 bugbounty 工具冲突的 git 别名 unalias gau gf
保存后
source ~/.zshrc
即可。
优点:不动系统文件,无 sudo 要求;随时可 alias gau=xxx
再改回来。
缺点:如果 Oh-My-Zsh 未来更新改了别名,需要同步维护;多人共用服务器时,每个人都要执行一次。
尾声
问题顺利解决,祝各位挖洞顺利,早日收获「高危」!