为何要换成zsh,主要是两点吧

1. 界面更漂亮,换一种心情
2. 更高级的功能,提高效率

1 切换到zsh

使用root用户登录,下面的操作基本都没有root的困扰,如果非root用户请切换至root用户操作。

1.1 查看系统当前的shell

echo $SHELL

返回结果如下:

/bin/bash

默认的shell一般都是bash

1.2 查看bin下是否有zsh包

cat /etc/shells

返回结果如下:

/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

默认没有安装zsh

1.3 安装zsh包

yum -y install zsh

安装完成后查看shell列表

cat /etc/shells

返回结果如下:

/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
/bin/zsh

1.4 切换shell至zsh

chsh -s /bin/zsh

返回结果:

Changing shell for root.

Shell changed.

按提示所述,shell已经更改为zsh了,现在查看一下系统当前使用的shell,

echo $SHELL

返回结果如下:

/bin/bash

重启过后,使用代码查看当前使用的shell

echo $SHELL

返回结果:

/bin/zsh

得到如此结果,证明shell已经切换成功了。

2 安装oh-my-zsh

2.1 oh-my-zsh源码是放在github上的,所以先要安装git

命令如下:

yum -y install git

wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

如果显示如下界面表示成功:

         __                                     __
____ / /_ ____ ___ __ __ ____ _____/ /_
/ __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \
/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / /
\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/
/____/ ....is now installed!
Please look over the ~/.zshrc file to select plugins, themes, and options. p.s. Follow us at https://twitter.com/ohmyzsh. p.p.s. Get stickers and t-shirts at http://shop.planetargon.com.

2.2 修改配置

主要是修改 文件 ~/.zshrc

2.2.1 修改主题

~/.oh-my-zsh/themes文件夹下有主题的列表

样式参考 https://github.com/robbyrussell/oh-my-zsh/wiki/Themes

推荐

ZSH_THEME='ys'
ZSH_THEME='agnoster'

2.2.2 修改插件

~/.oh-my-zsh/plugins文件夹下有可用的插件列表

更换Plugin

plugins=(git z extract)
git  显示git信息
z 可以用来快速跳转
extract 解压文件插件,所有的文件直接 x filename 即可,不用再记忆各类参数

修改完后,如果需要在当前shell中生效,需要执行

source ~/.zshrc

还可以自己下载插件

安装zsh-syntax-highlighting插件

同样地,我们要先下载它的源码,但在这里,我们可以利用一下oh-my-zsh的插件管理功能:

    cd ~/.oh-my-zsh/custom/plugins
git clone git://github.com/zsh-users/zsh-syntax-highlighting.git

然后,我们打开~/.zshrc文件,找到以下段落;

    # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git)

按照注释中的提示改成plugins=(git zsh-syntax-highlighting)即可。

3 使用技巧

  1. 连按两次Tab会列出所有的补全列表并直接开始选择,补全项可以使用 ctrl+n/p/f/b上下左右切换
2. 命令选项补全。在zsh中只需要键入 tar -<tab> 就会列出所有的选项和帮助说明
3. 命令参数补全。键入 kill <tab> 就会列出所有的进程名和对应的进程号
4. 更智能的历史命令。在用或者方向上键查找历史命令时,zsh支持限制查找。比如,输入ls,然后再按方向上键,则只会查找用过的ls命令。而此时使用则会仍然按之前的方式查找,忽略 ls
5. 多个终端会话共享历史记录
6. 智能跳转,安装了 autojump 之后,zsh 会自动记录你访问过的目录,通过 j 目录名 可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全,例如你访问过 hadoop-1.0.0 目录,输入j hado 即可正确跳转。j --stat 可以看你的历史路径库。
7. 目录浏览和跳转:输入 d,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转。
8. 在当前目录下输入 .. 或 ... ,或直接输入当前目录名都可以跳转,你甚至不再需要输入 cd 命令了。在你知道路径的情况下,比如 /usr/local/bin 你可以输入 cd /u/l/b 然后按进行补全快速输入
9. 通配符搜索:ls -l **/*.sh,可以递归显示当前目录下的 shell 文件,文件少时可以代替 find。使用 **/ 来递归搜索
10. 扩展环境变量,输入环境变量然后按 就可以转换成表达的值
11. 在 .zshrc 中添加 setopt HIST_IGNORE_DUPS 可以消除重复记录,也可以利用 sort -t ";" -k 2 -u ~/.zsh_history | sort -o ~/.zsh_history 手动清除

卡顿现象,发现每次执行命令都要运行git 检查status信息,可以使用下面命令

关闭

git config --global oh-my-zsh.hide-status 1

打开

git config --global oh-my-zsh.hide-status 0
# root @ WENGINE in /var/www/html on git:feature-apply_config x [13:32:48]
$ git config --global oh-my-zsh.hide-status 1 # root @ WENGINE in /var/www/html [13:33:24]
$ git config --global oh-my-zsh.hide-status 0 # root @ WENGINE in /var/www/html on git:feature-apply_config x [13:33:33]
$

centos使用--zsh的更多相关文章

  1. 【Git】2、Linux快速安装Git环境 & oh-my-zsh

    Linux快速安装Git环境 文章目录 Linux快速安装Git环境 1.Linux安装Git 2.安装zsh 3.安装oh-my-zsh 3.1.安装oh-my-zsh 3.2. 测试验证 4.小结 ...

  2. CentOS Linux修改默认Bash shell为Zsh shell

    Shell是在程序员与服务器间建立一个桥梁,它对外提供一系列命令,让我们得以控制服务器.常用的Bash就是Shell的一种,也是Linux下默认Shell程序.这里介绍一种更强大的.更人性化的Shel ...

  3. CentOS 7.x 安装 ZSH 终端

    一.安装基本组件 首先执行 yum 命令来安装需要的 zsh 原始程序与 git 程序来 pull 代码. yum install -y zsh git 安装 oh my zsh 脚本 (这一步需要安 ...

  4. Linux、Ubuntu、CentOS安装和配置zsh

    目录 01 zsh的安装 02 配置zsh 2.1 安装oh-my-zsh 2.2 查看oh-my-zsh目录 2.3 oh-my-zsh 插件的管理 2.3.1 添加插件 2.3.2 zsh-aut ...

  5. zsh下 home end 键失效的解决办法

    我的环境是 centos 6.5 x64 安装 oh my zsh 后,home end 键失效,解决办法为在 .zshrc 里添加设置如下 #Rebind HOME and END to do th ...

  6. 用CentOS 7打造合适的科研环境 :zhuan

    这篇博文记录了我用CentOS 7搭建地震学科研环境的过程,供我个人在未来重装系统时参考.对于其他地震学科研人员,也许有借鉴意义. 阅读须知: 本文适用于个人电脑,不适用于服务器: 不推荐刚接触Lin ...

  7. 快速构建自己的CentOS发行版

    一.制作LTOS具体过程 光盘结构介绍 * isolinux 目录存放光盘启动时的安装界面信息 * images 目录包括了必要的启动映像文件 * CentOS 目录存放安装软件包及信息 * .dis ...

  8. 用CentOS 7打造合适的科研环境

    http://seisman.info/linux-environment-for-seismology-research.html 这篇博文记录了我用CentOS 7搭建地震学科研环境的过程,供我个 ...

  9. linux centos cli all proxy

    linux centos 下代理http.https.ftp.all_proxy 全局使用代理: export http_proxy=http://host:port/ export https_pr ...

随机推荐

  1. 从零开始的全栈工程师——js篇2.4

    条件语句与循环语句 变量提升: 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域叫window ,window分两个模块,一个叫内存模块,一个叫运行模块,内存模块找到当前作 ...

  2. springBoot 定时器任务

    1.新建一个计划任务类(只能和主类平级或在主类的下级) import java.text.SimpleDateFormat; import java.util.Date; import org.slf ...

  3. ubuntu 16.04安装nVidia显卡驱动和cuda/cudnn踩坑过程

    安装深度学习框架需要使用cuda/cudnn(GPU)来加速计算,而安装cuda/cudnn,首先需要安装nvidia的显卡驱动. 我在安装的整个过程中碰到了驱动冲突,循环登录两个问题,以至于最后不得 ...

  4. git版本分支和分支、分支和主分支切换

    问题描述: 公司里项目管理使用的是gitLab(收费的), 如果开发人员提交代码,  需要首先创建一个分支, 然后把代码提交到你创建的分支上去(不允许把代码直接提交到主分支上). 在代码提交到已经创建 ...

  5. python3基础11(正则表达式及re模块)

    #生成re对象 compile# 之后再期调用 match search 返回匹配到的字符串# findall 返回匹配结果的列表#如果要对匹配的结果进行分组,可加(),并可通过\数字 去应用

  6. MySQL常用命令总结1

    默认已成功安装并配置MySQL,以下命令全部在CMD命令行窗口(Win10平台)中进行输入: mysql -uusername -ppassword //登录MySQL MYSQL -V //查看My ...

  7. SQLSERVER 创建ODBC 报错的解决办法 SQLState:'01000'的解决方案

    错误详情如下: SQLState:'01000' SQL Server 错误:14 [Microsoft][ODBC SQL Server Driver][DBNETLIB] ConnectionOp ...

  8. noip模拟赛#39

    昨晚打开的题想了一会发现都不会后决定慢慢想.然后早上开校会的时候莫名其妙的都想出来了... T1:m=100,ai=50000,i<=5.1到m的数每个数只能用一次,判断是否能够有这些数的某些数 ...

  9. 【洛谷2403】[SDOI2010] 所驼门王的宝藏(Tarjan+dfs遍历)

    点此看题面 大致题意: 一个由\(R*C\)间矩形宫室组成的宫殿中的\(N\)间宫室里埋藏着宝藏.由一间宫室到达另一间宫室只能通过传送门,且只有埋有宝藏的宫室才有传送门.传送门分为3种,分别可以到达同 ...

  10. 3204: 数组做函数参数--排序函数2--C语言

    3204: 数组做函数参数--排序函数2--C语言 时间限制: 1 Sec  内存限制: 128 MB提交: 211  解决: 143[提交][状态][讨论版][命题人:smallgyy] 题目描述 ...