还在用默认的 bash?同样的命令,bash 打一半还得 Tab 多按几次,命令输错看不出提示,路径切换翻来覆去。换成 Zsh,尤其装上 Oh My Zsh 之后,你的终端体验会完全不同:命令自动补全、语法高亮、目录快捷跳转、主题和插件,样样都有。这篇文章教你从零装好 Zsh 并配好 Oh My Zsh,让终端操作行云流水。
一、Zsh 是什么,为什么要换
Zsh(Z Shell)是 bash 的增强版本,兼容大部分 bash 语法,但多了大量好用特性:
- 智能补全:命令和参数补全更强大,兼容模糊匹配
- 语法高亮:输入的命令实时着色,对了绿色、错了红色
- 目录跳转:输入目录名直接跳,不用敲完整 cd 路径
- 主题丰富:换一个好看的主题,终端颜值直接拉满
- 插件生态:几百款插件提升效率
对经常在服务器上操作的人来说,Zsh 能显著减少敲键盘的次数和出错概率。
二、安装 Zsh
Ubuntu / Debian:
apt update && apt install -y zsh git curl wget
CentOS / Rocky:
yum install -y zsh git curl wget
把 Zsh 设为默认 Shell:
chsh -s /bin/zsh
退出重新登录,或执行 zsh 直接进入。第一次启动会进入配置向导,直接输入 2 选择默认推荐配置即可。
检查当前 Shell:
echo $SHELL
如果显示 /bin/zsh,说明切换成功。
三、安装 Oh My Zsh 框架
Oh My Zsh 是把 Zsh 配置和插件管理统一起来的框架,安装一行命令:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
国内网络如果下载慢,参考本站的 GitHub 加速教程,或用镜像源加速。
国内常用镜像一行安装:
sh -c "$(wget -O- https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
安装完成后,Zsh 就会自动加载一套好用的默认配置。
四、常用主题配置
主题决定了终端的颜值。默认主题是 robbyrussell,编辑 ~/.zshrc 修改:
# 查看已安装的主题
ls ~/.oh-my-zsh/themes/
# 修改主题,例如换成 agnoster
ZSH_THEME="agnoster"
改完让配置生效:
source ~/.zshrc
热门主题推荐:robbyrussell(默认)、agnoster(箭头风格)、ys(清爽)、powerlevel10k(最流行、功能最全,需单独安装)。
安装 Powerlevel10k(可选,最推荐):
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
然后改 ~/.zshrc:
ZSH_THEME="powerlevel10k/powerlevel10k"
source ~/.zshrc
首次会进入 P10K 配置向导,按你的喜好选择提示符风格即可。注意 Powerlevel10k 需要安装 Nerd Fonts 字体才能显示完整图标,具体见其文档。
五、常用插件配置
Oh My Zsh 自带大量插件。编辑 ~/.zshrc 的 plugins 数组添加:
plugins=(git z zsh-autosuggestions zsh-syntax-highlighting extract)
最常用的三件套是:
1. git(自带): 显示 git 分支、常用别名(ga、gst、gco 等)。
2. zsh-autosuggestions(命令自动补全): 根据历史记录灰显提示,按右方向键直接补全。
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
3. zsh-syntax-highlighting(语法高亮): 命令是否可用、路径是否存在,一目了然。
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
4. extract(一键解压):
extract file.tar.gz # 自动识别格式解压,不用记参数
添加完 source ~/.zshrc 生效。
六、提高效率的进阶技巧
1. 目录快捷跳转(z 插件)
安装 z 插件后,它记住你常去的目录:
z 项目名 # 直接跳到 /www/wwwroot/项目名
2. 设置常用别名
在 ~/.zshrc 中添加:
alias ll='ls -lh'
alias la='ls -alh'
alias ..='cd ..'
alias reload='source ~/.zshrc'
3. 全局搜索历史命令
配置后按 Ctrl+R 反向搜索历史,或装 fzf 实现模糊搜索。
七、服务器端场景:多台机器同步配置
如果你有多个 root 用户的服务器,可以把 ~/.zshrc 和插件目录上传到每台机器,一次配置到处复用:
# 将本机配置同步到服务器
scp -r ~/.zshrc ~/.oh-my-zsh root@服务器IP:/root/
八、常见问题
Q1:chsh 提示命令不存在或权限不足?
chsh 属于 util-linux,一般自带。也可临时用 zsh 进入,或编辑 /etc/passwd 把对应用户行的 /bin/bash 改为 /bin/zsh。
Q2:Powerlevel10k 图标显示乱码/方框?
终端字体不支持 Nerd Fonts。安装并使用 Powerlevel10k 作者推荐的开箱即用字体:MesloLGS NF。
Q3:source ~/.zshrc 报 command not found?
通常是 PATH 配置问题,可能是之前手动编辑过 .bashrc 的环境变量没同步过来。检查 ~/.zshrc 里的 plugins=(...) 是否写错。
Q4:恢复成 bash?
chsh -s /bin/bash,或直接删除 .zshrc 装回默认。
Q5:不想用 Oh My Zsh,只要自动补全?
可以只装 Zsh + zsh-autosuggestions + zsh-syntax-highlighting,手动在 .zshrc 里 source 这两个插件即可,不需要 Oh My Zsh 框架。
总结
Zsh + Oh My Zsh 是提升终端效率最快的投入:命令补全减少敲键、语法高亮减少出错、主题让界面赏心悦目。装好主题和"自动补全 + 语法高亮 + git"这几个核心插件,你的日常操作就能明显提速。配合本站的 Vim 和系统运维系列教程,从编辑到管理的整套流程都会更顺手。
