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

如何在Linux命令行中快速导航目录,无需每次输入完整cd路径?

可用解决方案汇总

1. zoxide(优先推荐)

这是目前最流行的智能目录跳转工具,适配所有常见shell(bash/zsh/fish等),性能高匹配准。

  • 安装:直接用系统包管理器安装即可,Debian/Ubuntu执行apt install zoxide,RHEL/Fedora执行dnf install zoxide,macOS执行brew install zoxide
  • 配置:在你的shell配置文件末尾加入激活语句,用bash就加eval "$(zoxide init bash)",用zsh就把语句里的bash换成zsh,保存后执行source ~/.bashrc(对应你的配置文件路径)生效
  • 用法:只要你曾经进入过目标目录,后续任意路径下执行z 目录名关键词就能直接跳转,比如你之前进过~/Desktop/anotherFile/anotherFile/fileToGo,之后执行z fileToGo就能直接跳过去,支持模糊匹配、多关键词过滤,使用频次越高的目录匹配优先级越高。

2. autojump(经典兼容方案)

这是更早普及的智能跳转工具,兼容性极强,适合旧系统使用。

  • 安装:包管理器直接安装autojump包即可
  • 配置:同样在shell配置文件加入激活语句,bash用户加. /usr/share/autojump/autojump.sh,zsh用户加. /usr/share/autojump/autojump.zsh,重载配置生效
  • 用法:执行j 目录名关键词即可跳转,逻辑和zoxide类似,基于历史访问记录做智能匹配。

3. 自定义shell函数(零依赖轻量方案)

如果你不想安装任何第三方工具,可以自己写简单的函数实现需求,把下面的代码加到你的shell配置文件里:

goto() {
  # 可修改搜索根路径,默认从用户家目录开始搜
  local search_root="$HOME"
  local target=$(find "$search_root" -type d -name "$1" 2>/dev/null | head -n 1)
  if [ -d "$target" ]; then
    cd "$target" || return 1
  else
    echo "未找到匹配的目录:$1"
    return 1
  fi
}
  • 重载配置后执行goto fileToGo就能跳转,缺点是每次会遍历搜索根路径下的所有目录,目录结构复杂的话速度会比前两个基于历史记录的工具慢。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:48:03