轉(zhuǎn)自: https://www.chadou.me/p/203
zsh 介紹
Linux Shell
Linux/Unix提供了很多種Shell,常用的Shell有這么幾種,sh、bash、csh等,想知道你的系統(tǒng)有幾種shell,可以通過以下命令查看:
[root@iZ216d96ogsz ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
zsh 簡(jiǎn)介
Zsh是一個(gè)Linux下強(qiáng)大的shell, 也許是目前最好用的 shell,是 bash 替代品中較為優(yōu)秀的一個(gè)。由于大多數(shù)Linux產(chǎn)品安裝,以及默認(rèn)使用bash shell, 但是絲毫不影響極客們對(duì)zsh的熱衷, 幾乎每一款Linux產(chǎn)品都包含有zsh,通??梢杂胊pt-get、urpmi或yum等包管理器進(jìn)行安裝
Zsh具有以下主要功能
開箱即用、可編程的命令行補(bǔ)全功能可以幫助用戶輸入各種參數(shù)以及選項(xiàng)
在用戶啟動(dòng)的所有shell中共享命令歷史
通過擴(kuò)展的文件通配符,可以不利用外部命令達(dá)到find命令一般展開文件名
改進(jìn)的變量與數(shù)組處理
在緩沖區(qū)中編輯多行命令
多種兼容模式,例如使用/bin/sh運(yùn)行時(shí)可以偽裝成Bourne shell
可以定制呈現(xiàn)形式的提示符;包括在屏幕右端顯示信息,并在鍵入長(zhǎng)命令時(shí)自動(dòng)隱藏
可加載的模塊,提供其他各種支持:完整的TCP與Unix域套接字控制,F(xiàn)TP客戶端與擴(kuò)充過的數(shù)學(xué)函數(shù)
完全可定制化
zsh 與 oh-my-zsh
oh-my-zsh 是基于zsh的功能做了一個(gè)擴(kuò)展,方便的插件管理、主題自定義,以及漂亮的自動(dòng)完成效果。
安裝 zsh
安裝 zsh
對(duì)于一般的CentOS系統(tǒng),直接鍵入以下命令安裝:
yum install zsh
配置zsh
zsh配置比較復(fù)雜,使用默認(rèn)配置,或者把你的bash的配置文件(/.bash_prorile或者/.profile等)拷貝到zsh的配置文件~/.zshrc里,因?yàn)閦sh兼容bash。
取代bash,設(shè)為默認(rèn)shell
sudo usermod -s /bin/zsh username
# 或者
chsh -s /bin/zsh
# 或者
chsh -s `which zsh`
如果要切換回bash:
chsh -s /bin/bash
如果你不想把zsh設(shè)為默認(rèn)的shell, 只是臨時(shí)使用它, 你可以每次都輸入zsh進(jìn)入, 輸入exit退出。
安裝 oh-my-zsh
zsh功能很強(qiáng)大但是太復(fù)雜,所以需要oh-my-zsh來簡(jiǎn)化它。
Oh My Zsh是通過在終端中運(yùn)行以下命令之一來安裝的。您可以通過curl或wget的命令行安裝。
通過 curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
通過 wget
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
配置插件
你想要使用Oh My Zsh,你需要在.zshrc文件中啟用它們。你會(huì)在$ HOME目錄中找到.zshrc文件。使用您最喜歡的文本編輯器打開它,您會(huì)看到一個(gè)地方plugin=(git)列出您要加載的所有插件。
plugins=(git bundler osx rake ruby)
更新oh-my-zsh
默認(rèn)情況下, 您將被提示檢查每幾周的升級(jí). 如果你想我ZSH自動(dòng)升級(jí)本身沒有提示你, 修改~/.zshrc
disable_update_prompt = true
禁用自動(dòng)升級(jí), 修改~/.zshrc
disable_auto_update = true
當(dāng)然你也可以選擇手動(dòng)更新
如果你想在任何時(shí)間點(diǎn)升級(jí)(也許有人剛剛發(fā)布了一個(gè)新的插件,你不想等待一個(gè)星期?)你只需要運(yùn)行:
upgrade_oh_my_zsh
卸載oh-my-zsh
如果你想卸載oh-my-zsh, 從命令行運(yùn)行下面的命令. 這將刪除本身和恢復(fù)你以前的bash或者zsh配置.
uninstall_oh_my_zsh zsh
安裝 zsh-autosuggestion
zsh-autosuggestion 是一款根據(jù)命令歷史輸入時(shí)的命令進(jìn)行輸入提示的插件。
手動(dòng)安裝
1、克隆資源庫到你的計(jì)算機(jī). 假設(shè)是 ~/.zsh/zsh-autosuggestions
git clone git://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
2、添加內(nèi)容到 .zshrc:
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
3、重新打開終端會(huì)話。
通過 oh-my-zsh 安裝
1、克隆資源庫到 $ZSH_CUSTOM/plugins (默認(rèn)是 ~/.oh-my-zsh/custom/plugins)
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
2、將插件添加到插件列表,讓 Oh My Zsh 加載。
修改 ~/.zshrc 文件,找到 plugins=(git) 這一行,然后添加autosuggestions
plugins=(git zsh-autosuggestions)
3、重新打開終端會(huì)話,或者執(zhí)行 source ~/.zshrc也可以更新會(huì)話。
其他:
1、你如果分開設(shè)置oh-my-zsh和autosuggestions,那么你的terminal的autosuggestions不會(huì)起作用的。你需要要把a(bǔ)utosuggestions作為zsh的插件放到 ~/.zsh/plugins/ 下面,然后再在 ~/.zshrc 文件中加入這個(gè)插件 plugins=(git zsh-autosuggestions)
參考資料
Mac 每次都要執(zhí)行source ~/.bash_profile 配置的環(huán)境變量才生效,如何處理?
自己在 ~/.bash_profile 中配置環(huán)境變量, 可是每次重啟終端后配置的不生效.需要重新執(zhí)行 : $source ~/.bash_profile
發(fā)現(xiàn)zsh加載的是 ~/.zshrc文件,而 ‘.zshrc’ 文件中并沒有定義任務(wù)環(huán)境變量。
解決辦法
在~/.zshrc文件最后,增加一行:
source ~/.bash_profile
參考:https://blog.csdn.net/science_Lee/article/details/79214127