linux美化命令行
centos8
这一节保留的是 CentOS Linux 8 环境记录。CentOS Linux 8 已经 EOL,旧仓库和部分安装命令现在可能不能直接使用;新系统按当前发行版的软件源调整。
安装和配置 Zsh
首先,安装 Zsh:
sudo yum install -y zsh
将默认 shell 更改为 Zsh:
chsh -s $(which zsh)
重新登录以使更改生效,或者使用以下命令启动 Zsh:
zsh
安装和配置 Oh My Zsh
下载并安装 Oh My Zsh:
建议在普通用户下
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安装并启用 Powerline
安装 Powerline 及其字体支持:
sudo yum install -y epel-release
sudo yum install -y powerline powerline-fonts
编辑 ~/.zshrc 文件以启用 Powerline:
vim ~/.zshrc
在文件末尾添加以下内容:
if [ -f /usr/share/powerline/zsh/powerline.zsh ]; then
source /usr/share/powerline/zsh/powerline.zsh
fi
保存并退出,然后重新加载 ~/.zshrc:
source ~/.zshrc
安装并配置插件
安装 zsh-syntax-highlighting 插件
该插件提供命令语法高亮:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
安装 zsh-autosuggestions 插件
该插件提供命令自动建议:
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
安装 fzf 插件
该插件提供模糊搜索功能:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
Ctrl+R开启搜索
安装 zsh-history-substring-search 插件
该插件提供历史记录子字符串搜索:
git clone https://github.com/zsh-users/zsh-history-substring-search ~/.oh-my-zsh/custom/plugins/zsh-history-substring-search
上箭头键(↑):在历史记录中查找当前输入的子字符串的上一条记录
下箭头键(↓):在历史记录中查找当前输入的子字符串的下一条记录
安装 z 插件
Oh My Zsh 已经自带 z 插件,不需要再额外克隆。直接在 ~/.zshrc 的 plugins=(...) 中加入 z 即可。
z <部分目录名>:跳转到包含指定部分目录名的路径中访问频率最高的目录
z -l <部分目录名>:列出匹配的目录,不进行跳转
z -c <部分目录名>:只在当前目录的子目录范围内匹配
配置插件
编辑 ~/.zshrc 文件,添加并启用插件:
vim ~/.zshrc
找到 plugins 这一行,并将其修改为如下内容:
plugins=(
git
zsh-syntax-highlighting
zsh-autosuggestions
zsh-history-substring-search
z
)
在文件末尾添加以下内容以启用 zsh-history-substring-search 和 fzf:
# 上面的 plugins=(...) 会由 Oh My Zsh 加载这些插件,不需要再手动 source
# zsh-history-substring-search configuration
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
# fzf configuration
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
保存并退出,然后重新加载 ~/.zshrc:
source ~/.zshrc
安装并配置 Powerlevel10k 主题
Powerlevel10k 是一个高性能的 Zsh 主题,提供了丰富的美化选项。现在项目仍可正常安装使用,但官方已经说明支持非常有限,也不再计划新增功能:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
编辑 ~/.zshrc 文件,设置 Powerlevel10k 主题:
vim ~/.zshrc
将 ZSH_THEME 行修改为:
ZSH_THEME="powerlevel10k/powerlevel10k"
保存并退出,然后重新加载 ~/.zshrc:
source ~/.zshrc
第一次启动时,Powerlevel10k 会引导你完成配置,选择你喜欢的配置选项即可
p10k configure # 重新配置主题
Zsh 别名
编辑 ~/.zshrc 文件:
vim ~/.zshrc
添加常用别名:
alias ll='ls -la'
alias gs='git status'
保存并应用更改:
source ~/.zshrc
一键脚本
创建文件zsh-setup.sh
vim zsh-setup.sh,将下面代码粘贴进来
#!/bin/bash
# 更新系统并安装 Zsh
sudo yum update -y
sudo yum install -y zsh
# 将默认 shell 更改为 Zsh
chsh -s $(which zsh)
# 安装 Oh My Zsh;一键脚本里使用非交互模式,避免安装器中途 exec zsh 导致后续步骤停住
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
# 安装 Powerline 和字体支持
sudo yum install -y epel-release
sudo yum install -y powerline powerline-fonts
# 配置 Powerline
cat >> ~/.zshrc << 'EOF'
if [ -f /usr/share/powerline/zsh/powerline.zsh ]; then
source /usr/share/powerline/zsh/powerline.zsh
fi
EOF
# 安装 zsh-syntax-highlighting 插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
# 安装 zsh-autosuggestions 插件
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
# 安装 fzf 插件
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install --all
# 安装 zsh-history-substring-search 插件
git clone https://github.com/zsh-users/zsh-history-substring-search ~/.oh-my-zsh/custom/plugins/zsh-history-substring-search
# 安装 z 插件
# Oh My Zsh 已内置 z 插件,不需要额外 clone
# 配置 Oh My Zsh 插件
sed -i 's/^plugins=.*/plugins=(git zsh-syntax-highlighting zsh-autosuggestions zsh-history-substring-search z)/' ~/.zshrc
# 追加按键和 fzf 配置
cat >> ~/.zshrc << 'EOF'
# zsh-history-substring-search configuration
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
# fzf configuration
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
EOF
# 安装 Powerlevel10k 主题
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
# 配置 Powerlevel10k 主题
sed -i 's/ZSH_THEME=".*"/ZSH_THEME="powerlevel10k\/powerlevel10k"/' ~/.zshrc
# .zshrc 是 Zsh 配置,不要在这个 Bash 脚本里直接 source
# 脚本结束后重新登录,或手动执行 exec zsh
echo "Setup finished. Re-login or run: exec zsh"
chmod +x zsh-setup.sh赋予执行权限
./zsh-setup.sh 执行一次即可。完成后重新登录,或者执行 exec zsh 进入新的 Zsh 会话。
恢复为bash
echo $SHELL #查看当前命令行
which bash # 查看bash所在目录
chsh -s /bin/bash # 后面目录为你上述命令执行结果,切换命令行
ubuntu
整体步骤和 CentOS 类似,但不要把 yum 机械替换成 apt。软件包名称、Powerline 字体包和安装路径可能不同;Oh My Zsh、插件和 Powerlevel10k 的配置方式基本一致。
评论将在接近此处时加载,也可点击立即加载。