Zsh 入門和介紹
Zsh 兼容 Bash,據傳說 99% 的 Bash 操作 和 Zsh 是相同的
Zsh 官網:http://www.zsh.org/
先看下你的 CentOS 支持哪些 shell:cat /etc/shells,正常結果應該是這樣的:
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
默認 CentOS / Ubuntu / Mac 系統用的是 Bash,倒也不是說 Bash 不好,而是說我們有更好的選擇。
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,現在開頭是一個箭頭了,如下圖:
Home / End 失靈問題
雖然可以通過配置解決,但是建議還是直接記快捷鍵吧:
Home = Ctrl + a
End = Ctrl + e
Zsh 配置
啟用 oh-my-zsh 中自帶的插件。
oh-my-zsh 的插件列表介紹(太長了,用源碼不精準地統計下有 149 個):https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
我們看下安裝 oh-my-zsh 的時候自帶有多少個插件:ls -l /root/.oh-my-zsh/plugins |grep "^d"|wc -l,我這邊得到的結果是:211
編輯配置文件:vim /root/.zshrc,找到下圖的地方,怎么安裝,原作者注釋寫得很清楚了,別裝太多了,默認 git 是安裝的。
插件推薦:
wd
簡單地講就是給指定目錄映射一個全局的名字,以后方便直接跳轉到這個目錄,比如:
編輯配置文件,添加上 wd 的名字:vim /root/.zshrc
我常去目錄:/opt/setups,每次進入該目錄下都需要這樣:cd /opt/setups
現在用 wd 給他映射一個快捷方式:cd /opt/setups ; wd add setups
以后我在任何目錄下只要運行:wd setups就自動跑到 /opt/setups 目錄下了
插件官網:https://github.com/mfaerevaag/wd
autojump
這個插件會記錄你常去的那些目錄,然后做一下權重記錄,你可以用這個命令看到你的習慣:j --stat,如果這個里面有你的記錄,那你就只要敲最后一個文件夾名字即可進入,比如我個人習慣的 program:j
program,就可以直接到:/usr/program
插件官網:https://github.com/wting/autojump
官網插件下載地址:https://github.com/wting/autojump/downloads
插件下載:wget https://github.com/downloads/wting/autojump/autojump_v21.1.2.tar.gz
解壓:tar zxvf autojump_v21.1.2.tar.gz
進入解壓后目錄并安裝:cd autojump_v21.1.2/ ; ./install.sh
再執行下這個:source /etc/profile.d/autojump.sh
編輯配置文件,添加上 autojump 的名字:vim /root/.zshrc
zsh-syntax-highlighting
這個插件會對終端命令高亮顯示,比如正確的拼寫會是綠色標識,否則是紅色,另外對于一些shell輸出語句也會有高亮顯示,算是不錯的輔助插件
插件官網:https://github.com/zsh-users/zsh-syntax-highlighting
安裝,復制該命令:'git clonehttps://github.com/zsh-users/zsh-syntax-highlighting.git${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting'
編輯:vim ~/.zshrc,找到這一行,后括號里面的后面添加:plugins=(
前面的一些插件名稱 zsh-syntax-highlighting)
刷新下配置:source ~/.zshrc
主題
很多人喜歡搗搞這個 ╮( ̄▽ ̄)╭
搗搞主題和插件思路一樣
oh-my-zsh 的主題列表介紹(還是太長了):https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
我們看下安裝 oh-my-zsh 的時候,自帶有多少個:ls -l /root/.oh-my-zsh/themes |grep "^-"|wc -l,我這邊得到的結果是:140
我個人品味地推薦的是(排名有先后):
ys
agnoster
avit
blinks
編輯配置文件:vim /root/.zshrc,找到下圖的地方,怎么安裝,原作者注釋寫得很清楚了,如果你沒特別的喜歡那就選擇隨機吧。
配置好新主題需要重新連接 shell 才能看到效果
一些人性化功能
呃,這個其實可以不用講的,你自己用的時候你自己會發現的,各種便捷,特別是用 Tab 多的人一定會有各種驚喜的。
使用 ctrl-r 來搜索命令歷史記錄。按完此快捷鍵后,可以輸入關鍵命令詞語,如果歷史記錄有含有此詞語會顯示出來。
命令別名:
在命令行中輸入 alias 可以查看已經有的命令別名
自己新增一些別名,編輯文件:vim ~/.zshrc,在文件加入下面格式的命令,比如以下是網友提供的一些思路:
aliascls='clear'aliasll='ls -l'aliasla='ls -a'aliasgrep="grep --color=auto"alias-s html='vim'#在命令行直接輸入后綴為 html 的文件名,會在 Vim 中打開alias-s rb='vim'#在命令行直接輸入 ruby 文件,會在 Vim 中打開alias-s py='vim'#在命令行直接輸入 python 文件,會用 vim 中打開,以下類似alias-s js='vim'alias-s c='vim'alias-s java='vim'alias-s txt='vim'alias-s gz='tar -xzvf'#在命令行直接輸入后綴為 gz 的文件名,會自動解壓打開alias-s tgz='tar -xzvf'alias-s zip='unzip'alias-s bz2='tar -xjvf'
差異
我們現在增加系統變量在:/etc/profile 后,輸入命令:source /etc/profile 之后,重啟服務器發現剛剛的系統變量現在沒效果。
解決辦法:vim ~/.zshrc,在該配置文件里面增加一行:source
/etc/profile,然后刷新 zsh 的配置:source ~/.zshrc。差異
更多使用方法大家自己再玩玩!