You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行hashcat暴力破解命令报错:zsh提示无匹配项求助

解决zsh中hashcat掩码报错的问题

这个报错的根源其实是zsh的文件名扩展(glob)机制在搞事情——zsh会把?当成通配符(用来匹配任意单个字符的文件),当你输入?a?a?a时,它会先在当前目录下找符合这个模式的文件,找不到就抛出no matches found的错误,根本没把掩码传递给hashcat。

解决方法很简单,只需要阻止zsh解析这些掩码字符就行,有两种常用方式:

  • 用单引号包裹掩码:把整个掩码放在单引号里,zsh就不会解析里面的特殊字符了。修改后的命令应该是:

    hashcat -a3 example0.hash '?a?a?a'
    

    换成?l?l的话就是:

    hashcat -a3 example0.hash '?l?l'
    
  • 转义每个?字符:在每个?前面加反斜杠\,告诉zsh这是普通字符,不是通配符。比如:

    hashcat -a3 example0.hash \?a\?a\?a
    

另外,如果你经常用hashcat,也可以临时关闭zsh的glob功能(执行setopt noglob),用完再打开(setopt glob),不过这种方式不如前两种直接,适合批量执行多个hashcat命令的场景。

内容的提问来源于stack exchange,提问作者Conor W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:20:49