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

默认 CentOS / Ubuntu / Mac 系统用的是 Bash,倒也不是说 Bash 不好,而是说我们有更好的选择。

Zsh属于Shell中的一种,但比Bash好用,而且完全兼容Bash,拥有及其丰富的插件、强大的自动补全能力、以及自定义功能,可以大大提供我们使用Linux的效率.

下面来具体说下zsh的优点,或者说为什么要选择Zsh。 (反正我是为了装X,显得跟别人其他的Linuxer不一样 :)  )

完全兼容bash,之前bash下的使用习惯,shell脚本都可以完全兼容。

更强大的tab补全,当你切换目录敲两下tab,他可以列出当前目录下面的所有目录,并且可以使用键盘上下左右键来选择要进入的目录。

更智能的切换目录,比如你要进入一个很深的目录,like this /var/log/nginx/error/lastyear/may/first/monday, 用zsh可以这样输入cd /v/l/n/e/l/m/f/m,然后按tab即可补全整个路径。或者你实现知道当前目录名称,可以直接输入目录,即可进去目录。bash下cd - 可以切换到刚才进入的目录,在zsh下可以记录最近进去过的10个目录,只需要输入d,然后看到对应的0-9的目录,输入cd -数字,即可进入对应的目录。或者直接输入cd -然他后TAB一下,你会发现有最近使用过的31个目录等候你选择。

命令选项补齐,比如输入yum,然后按tab,即可显示出yum都有哪些命令选项。

大小写字母自动更正,比如我们要cat一下README.txt,直接输入cat readme.txt TAB,之后zsh就会把小写的readme改成大写的。这个功能很好用哦。

有着丰富多彩的主题,如果你使用我的脚本安装oh-my-zsh的项目的话,在~/.oh-my-zsh/themes里会找到多达142个主题,看中哪个主题直接在~/.zshrc 里面更改:

1
ZSH_THEME="ys" 更强大的alias命令,比如下面命令,当你在zsh环境下输入hello.py即可直接用vim打开文件编辑,一个tgz的文件即可自动解压缩。 1
2
3
alias -s py=vim
alias -s html=vim
alias -s tgz='tar zxvf'

  话不多说,Let's do it

Zsh 安装

  • CentOS 安装:sudo yum install -y zsh
  • Ubuntu 安装:sudo apt-get install -y zsh
  • 在检查下系统的 shell:cat /etc/shells,你会发现多了一个:/bin/zsh

使用 Zsh 扩展集合:oh-my-zsh
oh-my-zsh 帮我们整理了一些常用的 Zsh 扩展功能和主题:https://github.com/robbyrussell/oh-my-zsh
我们无需自己去捣搞 Zsh,直接用 oh-my-zsh 就足够了,如果你想继续深造的话那再去弄。
先安装 git:sudo yum install -y git
安装 oh-my-zsh(这个过程可能会有点慢,或者需要重试几次):wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh
整个过程效果如下图:

在以 root 用户为前提下,oh-my-zsh 的安装目录:/root/.oh-my-zsh
在以 root 用户为前提下,Zsh 的配置文件位置:/root/.zshrc
为 root 用户设置 zsh 为系统默认 shell:chsh -s /bin/zsh root
如果你要重新恢复到 bash:chsh -s /bin/bash root
现在你关掉终端或是重新连上 shell,现在开头是一个箭头了,如下图:

替换完成:)

换回去

先查看有哪些shell

cat   /etc/shells

例如,换回Bash

chsh  -s  /bin/bash 

CentOS Linux修改默认Bash shell为Zsh shell的更多相关文章

  1. CentOS Linux 修改主机名

    一.CentOS5 修改主机名 二.CentOS6 修改主机名 三.CentOS7 修改主机名 静态的(Static hostname)        "静态"主机名也称为内核主机 ...

  2. Linux修改默认挂载NFS协议版本

    系统版本:CentOS Linux release 7.4.1708 (Core) $ vi /etc/nfsmount.conf # # /etc/nfsmount.conf - see nfsmo ...

  3. linux修改默认语言

    echo $PATH #查看当前语言LANG=en_US.UTF-8 #临时修改当前语言,修改为英文echo 'LANG=en_US.UTF-8' > /etc/sysconfig/i18n # ...

  4. Linux 修改默认文件关联打开程序

    从总体上讲 /etc/gnome/defaults.list 保存了全局的打开方式-/.local/share/applications/mimeapps.list 保存了个人的打开方式当这两个文件不 ...

  5. Linux 修改默认的 yum 源

    官方的yum源在国内访问效果不佳. 需要改为国内比较好的阿里的 yum源,因为每次装的时候都得百度,所以这里记录一下. 修改方式: 1)cd /etc/yum.repos.d/ 这个目录下普通用户可能 ...

  6. centos docker 修改默认存储路径

    1.修改配置 将--graph /mnt/docker添加在docker.service文件中的ExecStart字段后面,其中/mnt/docker为你需要修改的存储目录 $ vim /usr/li ...

  7. Linux修改默认ssh22端口

    1.检查端口是否可用 使用下面的命令检查您想增加或修改的端口号是否被占用,执行命令后如果没有任何打印,说明这个端口没有被占用 netstat -lnp|grep 23456 2.修改配置文件 ssh配 ...

  8. CentOS Linux修改系统时区

    ln –sf /usr/share/zoneinfo/Hongkong /etc/localtime

  9. Centos 7 修改默认的运行级别

    Runlevel System State 0 Halt the system 1 Single user mode 2 Basic multi user mode 3 Multi user mode ...

随机推荐

  1. head first 设计模式笔记4-工厂模式(简单工厂、工厂方法、抽象工厂)

    1.简单工厂模式 Pizza public abstract class Pizza { abstract void prepare(); abstract void bake(); abstract ...

  2. 【UTR #3】量子破碎

    一道有趣的题. 看到按位的矩阵运算,如果对FWT比较熟悉的话,会比较容易地想到. 这种形式也就FWT等转移里面有吧--就算有其他的也难构造出来. 然而FWT的矩阵并不是酉矩阵(也就是满足 \(AA^T ...

  3. Oracle根据连续性日期的重复数据取最大或最小值日期

    原始数据: 结果数据: 对比两个图,要是不处理连续性中的重复值,我们直接可以用LEAD函数了事,但处理出来的结果貌似多余. 我的思路是先将原始数据中连续性日期有重复值的处理好,即选择最小的一个,比如2 ...

  4. postman教学视频百度网盘转载分享

    百度云盘教学视频分享:https://pan.baidu.com/s/1r_e08FOkvQBZcC5-vU5M4w postman官网及下载地址:https://www.getpostman.com ...

  5. 构建springboot的几种方式 在线构建 STS构建 Idea 内置构建 Maven 构建

    SpringBoot项目的几种创建方式,启动.和访问   最常用的4种方式,但除了这些以外,还有其他方式: ①在线创建 ②STS构建 ③Intell  Idea内置构建工具 ④Maven创建 STS官 ...

  6. JavaBean,EJB,POJO,Spring Bean 的演进历程

    JavaBean Sun公司对类提出的规范:1,类是public的2,有一个无参构造方法3,属性修饰要用private,通过get set操作4,实现Serializable接口5,对事件使用Swin ...

  7. HTMLHint 配置文件

    HTMLHint 工具可以对 HTML 代码做静态代码检查,从而保证 HTML 代码的规范和质量.HTMLHint 工具内置 23 条规则,建议在 .htmlhintrc 配置文件中将规则尽可能都打开 ...

  8. Linux常用命令及操作

    shutdown -r now现在重启 shutdown -h now现在关机 reboot重启 startx进入图形界面 chmod +x 777 文件名 授权和可执行 777为二进制111-111 ...

  9. Netflix的Ribbon主要负载均衡策略

    1.简单轮询负载均衡 2.加权响应时间负载均衡 3.随机负载均衡 4.区域感知轮询负载均衡

  10. 将 vue 的项目放在 手机上查看 及 测试 bug

    首先:我们应该让电脑和手机 处在同一个局域网下面,最简单的方法,就是让手机链接电脑的 WiFi ,或者让电脑链接手机的 WiFi ,然后得到我们的 ip 地址 在电脑上获取 ip 地址就行 获取方法: ...