• Linux修改系统默认Bash shell为Zsh shell


    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 
  • 相关阅读:
    netstat -ano 查看机器端口占用情况
    配置中心Nacos 20210908
    ABAP-查询系统表记录
    ABAP-自定义表维护程序
    linux 常用操作
    自动化回归测试实战
    LeetCode大部分是medium难度不怎么按顺序题解(下)
    bitmapCache.getDataURL is not a function BUG修复
    createjs 刮刮卡,刮开百分比。 含源文件
    【nim语言】nim语言 1.4.8编译时SSL报错“No SSL/TLS CA certificates found” 解决方法。
  • 原文地址:https://www.cnblogs.com/fusheng11711/p/11167970.html
Copyright © 2020-2023  润新知