Linux 超級漂亮的 Shell: ZSH

1 zsh 介紹

1.1 Linux shell

Linux/Unix 提供了很多種 Shell,爲毛要這麼多 Shell?

難道用來炒着喫麼?那我問你,你同類型的衣服怎麼有那麼多件?花色,質地還不一樣。寫程序比買衣服複雜多了,而且程序員往往負責把複雜的事情搞簡單,簡單的事情搞複雜。牛程序員看到不爽的 Shell,就會自己重新寫一套,慢慢形成了一些標準,常用的 Shell 有這麼幾種,sh、bash、csh 等,想知道你的系統有幾種 shell,可以通過以下命令查看:

cat /etc/shells

顯示如下:

1.2 zsh 簡介

Zsh 是一個 Linux 下強大的 shell, 由於大多數 Linux 產品安裝,以及默認使用bash shell, 但是絲毫不影響極客們對 zsh 的熱衷, 幾乎每一款 Linux 產品都包含有 zsh,通常可以用 apt-get、urpmi 或 yum 等包管理器進行安裝

Zsh 具有以下主要功能

1.3 zsh 與 oh-my-zsh 終極配置

之前是因爲看到這篇文章:終極 Shell——Zsh 才選擇使用 zsh,被它的自動完成、補全功能吸引了。官網:www.zsh.org

選擇 oh-my-zsh, oh-my-zsh 是基於 zsh 的功能做了一個擴展,方便的插件管理、主題自定義,以及漂亮的自動完成效果。

在 Github 上找關於 zsh 的項目時發現的,試用了一下覺得很方便,不用像上面文章裏面提到的那麼複雜,配置一些插件的名稱即可使用相應的功能。

官網:https://github.com/robbyrussell/oh-my-zsh

2 安裝 zsh

2.1 安裝 zsh

對於一般的 Ubuntu 系統,配置好正確的源之後,就能直接鍵入以下命令安裝:

sudo apt-get install zsh

2.2 配置 zsh

zsh 的配置是一門大學問,這裏不贅述,直接給出一個配置文件,大家可以下載後放入 zsh 配置文檔直接使用。(我的一個法國朋友手配的,相當順手)

把. zshrc 拷貝到相應用戶的 home 目錄即可
(也可以把你的 bash 的配置文件 (~/.bash_prorile 或者~/.profile 等) 給拷貝到 zsh 的配置文件~/.zshrc 裏,因爲 zsh 兼容 bash)

2.3 取代 bash,設爲默認 shell

sudo usermod -s /bin/zsh username

或者

chsh -s /bin/zsh
chsh -s `which zsh`

如果要切換回去 bash:

chsh -s /bin/bash

當然你實在不願意把 zsh 當成默認的 shell, 而又想使用它, 那麼你可以每次進入是都使用zsh進入, 而輸入exit退出

2.4 安裝 oh-my-zsh

直接用 zsh 會很蛋疼,因爲 zsh 功能很強大但是太複雜,所以需要 oh-my-zsh 來將它簡單化

直接用 git 從 github 上面下載包

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

備份已有的 zshrc, 替換 zshrc

cp ~/.zshrc ~/.zshrc.orig
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

直接使用腳本安裝

cd oh-my-zsh/tools
./install.sh

你可以直接直接使用如下命令安裝

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 -)"

其本質就是下載並執行了 github 上的 install.sh 腳本, 該腳本位於oh-my-zsh/tools/install.sh

配置主題

oh-my-zsh 集成了大量的主題, 位於 oh-my-zsh/theme

配置主題, 可以通過修改~/.zshrc中的環境變量ZSH_THEME來完成

ZSH_THEME="agnoster" # (this is one of the fancy ones)

如果你覺得主題太多你可以選擇使用隨機模式, 來由系統隨機選擇

ZSH_THEME="random" # (...please let it be pie... please be some pie..)

詳細的主題信息, 可以參見 zsh 主題介紹

配置插件

修改~/.zshrcplugins

plugins=(git bundler osx rake ruby)

詳細的插件信息, 可以參見 zsh 插件 Plugins 介紹

更新 oh-my-zsh

默認情況下, 您將被提示檢查每幾周的升級. 如果你想我 ZSH 自動升級本身沒有提示你, 修改 `~/.zshrc

disable_update_prompt = true

禁用自動升級, 修改~/.zshrc

disable_auto_update = true

當然你也可以選擇手動更新

如果你想在任何時間點升級(也許有人剛剛發佈了一個新的插件,你不想等待一個星期?) 你只需要運行:

upgrade_oh_my_zsh

卸載 oh-my-zsh

如果你想卸載oh-my-zsh, 只需要執行uninstall_oh_my_zsh zsh, 從命令行運行. 這將刪除本身和恢復你以前的 bash 或者 zsh 配置.

uninstall_oh_my_zsh zsh

來自:入門小站

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/X7p078-eWLPeuHH0Y1klyA