// 红队渗透 · 2025-10-17

解决 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。

  1. 找到真实路径

    which gau gf          # 假设输出 /usr/local/bin/gau 与 /usr/local/bin/gf
  2. 重命名并软链(举例加了一个字母,好记不拗口)

    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 可立即释放关键字。

  1. 单次会话生效

    unalias gau gf   # 直接取消两条别名
  2. 每次开机自动生效(推荐写入 .zshrc)

    # 在 ~/.zshrc 末尾追加
    # 释放与 bugbounty 工具冲突的 git 别名
    unalias gau gf

    保存后 source ~/.zshrc 即可。

优点:不动系统文件,无 sudo 要求;随时可 alias gau=xxx 再改回来。
缺点:如果 Oh-My-Zsh 未来更新改了别名,需要同步维护;多人共用服务器时,每个人都要执行一次。


尾声

问题顺利解决,祝各位挖洞顺利,早日收获「高危」!

原文 https://blog.csdn.net/2301_79518550/article/details/153468198