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 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM