0

0

Linux ZSH 更便捷的 shell 环境

絕刀狂花

絕刀狂花

发布时间:2025-07-19 08:22:12

|

757人浏览过

|

来源于php中文网

原创

简介

zsh 是为交互式使用而设计的,与 bash 兼容的 shell,尽管它也是一种强大的脚本语言。zsh 融合了 bash、ksh 和 tcsh 的许多有用特性,并引入了许多独特的功能。

相较于 bash,zsh 具有以下优势:

Tab 补全功能强大,支持命令、命令参数和文件路径的补全。丰富的插件支持,允许快速输入先前使用的命令、快速跳转文件夹和显示系统负载等功能。主题丰富且可高度定制。更多关于 zsh 的信息,请访问 https://www.php.cn/link/5122eee5a7e2768194775f68037e2ebc

安装 zsh

macOS:

brew install zsh

Ubuntu:

sudo apt-get install zsh

安装验证

安装完成后,使用 cat /etc/shells 查看系统可用的 shell:

$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/tmux
/bin/zsh
/usr/bin/zsh

修改默认 shell

查看当前默认 shell:

$ echo $SHELL
/bin/bash

使用 chsh -s /bin/zsh 命令将 zsh 设置为系统默认 shell。

为 root 设置默认 shell:

sudo chsh -s /bin/zsh

为特定用户设置默认 shell:

sudo chsh -s /bin/zsh 
#  替换为实际用户名

切换完成后会显示如下信息(安装 oh-my-zsh 成功后也会提示切换):

# sudo chsh -s /bin/zsh
Changing shell for root.
Shell changed.

初次启动 zsh 会进入配置界面,输入 0 可以跳过:

This is the Z Shell configuration function for new users,
zsh-newuser-install.
You are seeing this message because you have no zsh startup files
(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory
~).  This function can help you with a few settings that should
make your use of the shell easier.
You can:
(q)  Quit and do nothing.  The function will be run again next time.
(0)  Exit, creating the file ~/.zshrc containing just a comment.
     That will prevent this function being run again.
(1)  Continue to the main menu.
(2)  Populate your ~/.zshrc with the configuration recommended
     by the system administrator and exit (you will need to edit
     the file by hand, if so desired).
--- Type one of the keys in parentheses --- 0

安装 Oh My Zsh

Oh My Zsh 的 GitHub 主页:https://www.php.cn/link/5d36b2dba58acec55fa2a9b197fb3e1d

由于 zsh 的配置复杂度较高,Oh My Zsh 极大地降低了使用门槛。

安装命令:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 或者
sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

安装成功提示:

Looking for an existing zsh config...
Found /home/vvd/.zshrc. Backing up to /home/vvd/.zshrc.pre-oh-my-zsh
Using the Oh My Zsh template file and adding it to /home/vvd/.zshrc.
         __                                     __
    ____  / /_     ____ ___  __  __   ____  _____/ /_
   / __ \/ __ \   / __ `__ \/ / / /  /_  / / ___/ __ \
  / /_/ / / / /  / / / / / / /_/ /    / /_(__  ) / / /
  \____/_/ /_/  /_/ /_/ /_/\__, /    /___/____/_/ /_/
                            /____/                       ....is now installed!
Before you scream Oh My Zsh! look over the `.zshrc` file to select plugins, themes, and options.
• Follow us on Twitter: @ohmyzsh
• Join our Discord community: Discord server
• Get stickers, t-shirts, coffee mugs and more: Planet Argon Shop
➜  ~

修改主题

使用 vim 编辑 ~/.zshrc

vim ~/.zshrc

其中 ZSH_THEME 是主题字段,主题信息可在此查看。

例如,将主题字段修改为 jonathan

Linux ZSH 更便捷的 shell 环境

也可以随机设置主题:

ZSH_THEME="random"

每次打开终端,主题将会随机变化。推荐尝试 powerlevel10k 主题,项目地址为:https://www.php.cn/link/12b865d68061b0c406c140adf7076aee

安装 powerlevel10k 主题的方法:

git clone --depth=1 https://www.php.cn/link/12b865d68061b0c406c140adf7076aee.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

编辑 .zshrc,添加以下内容并保存:

ZSH_THEME="powerlevel10k/powerlevel10k"

最后,执行 source ~/.zshrc 使配置生效,按照提示配置主题。

别名配置

查看 git 的别名:

Taygod免费企业建站系统 A1.1
Taygod免费企业建站系统 A1.1

TAYGOD免费企业建站系统是一款开源的免费程序,您可以 TAYGOD免费企业建站系统ASP版是一款基于asp+access的免费开源建站系统。整套系统的设计构造,完全考虑中小企业类网站的功能要求,网站后台功能强大,管理简捷,支持模板机制,能够快速建立您的企业网站。 系统特性: 采用流行的asp+access设计,功能强,实用性高。 代码美工完全分离,维护更方便。 对运行环境要求低,基本上一般的

下载
cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh
......alias g='git'alias ga='git add'alias gaa='git add --all'alias gapa='git add --patch'alias gau='git add --update'alias gav='git add --verbose'alias gap='git apply'alias gapt='git apply --3way'......

自定义别名,直接在 ~/.zshrc 的最下面添加:

# Example aliases
alias ll='ls -lahF --color --time-style=long-iso'

或者使用 echo 写入:

echo 'alias ll="ls -lahF --color --time-style=long-iso"' >> ~/.zshrc

命令自动补全

Oh My Zsh 内置的自动补全功能包括:

  • 自动列出目录:输入 cd 并按 tab 键,目录将自动列出,再按 tab 可以切换。
  • 自动目录名简写补全:访问 /usr/local/bin,只需输入 cd /u/l/b 并按 tab 键自动补全。
  • 自动大小写更正:访问 Desktop 文件夹,只需输入 cd de 并按 tab 键自动补全。
  • 自动命令补全:输入 kubectl 并按 tab 键即可看到可用命令。
  • 自动补全命令参数:输入 kill 并按 tab 键会自动显示进程的 process id。

zsh-completions

额外的自动补全功能,通过以下命令克隆仓库:

git clone --depth=1 https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions

.zshrc 中添加以下行,确保在 source "$ZSH/oh-my-zsh.sh" 之前:

fpath+=${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions/src

注意:将其作为常规的 Oh My Zsh 插件添加不会正常工作(参见 #603)。

其他插件

zsh-autosuggestions

根据历史输入命令的记录即时提示,按 → 键即可补全:

git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-autosuggestions

编辑 ~/.zshrc,找到 plugins=(git) 这一行,修改为:

plugins=(
    git
    # other plugins...
    zsh-autosuggestions
)

Incremental completion on zsh

增强的实时自动命令补全插件:Incremental completion on zsh。

语法高亮插件

插件名称:zsh-syntax-highlighting

作用:命令错误会显示红色,直到输入正确才会变绿色,路径正确会显示下划线。

安装:

git clone --depth=1 https://www.php.cn/link/d54be4ff5a9dad8e016206a562bb7915.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

配置启用插件:

编辑 ~/.zshrc,在 plugins 部分添加插件名称:

plugins=([plugins...] zsh-syntax-highlighting)

开启新的 Shell 或执行 source ~/.zshrc,即可体验插件。

文件夹快捷跳转插件

z 是一个文件夹快捷跳转插件,对于曾经跳转过的目录,只需输入最终目标文件夹名称即可快速跳转,提高切换文件夹的效率。

由于 Oh My Zsh 内置了 z 插件,只需在 .zshrc 中将 z 加入插件列表:

plugins=(
    # other plugins...
    zsh-autosuggestions
    zsh-syntax-highlighting
    z
)

升级 Oh My Zsh

打开终端输入:

upgrade_oh_my_zsh

卸载 Oh My Zsh

终端输入:

uninstall_oh_my_zsh
Are you sure you want to remove Oh My Zsh? [y/N]  Y

终端提示信息:

Removing ~/.oh-my-zsh
Looking for original zsh config...
Found ~/.zshrc.pre-oh-my-zsh -- Restoring to ~/.zshrc
Found ~/.zshrc -- Renaming to ~/.zshrc.omz-uninstalled-20170820200007
Your original zsh config was restored. Please restart your session.
Thanks for trying out Oh My Zsh. It's been uninstalled.

参考文献

相关专题

更多
github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

92

2026.01.21

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

663

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

528

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

265

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

550

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

513

2024.04.09

vim保存退出命令
vim保存退出命令

vim是一个非常强大的文本编辑器,常用于Unix和Linux系统。它是从vi发展而来的,相比vi有许多改进和扩展。在vim中,保存并退出的命令是:wq"wq"这个命令是由两个部分组成的。其中,"w"表示写入文件,将所做的更改保存到磁盘;而"q"表示退出vim编辑器。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

266

2023.08.01

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023

2024.08.16

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

0

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
尚观shell视频教程
尚观shell视频教程

共8课时 | 1.7万人学习

Linux开发篇视频教程
Linux开发篇视频教程

共18课时 | 4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号