Zsh 介紹
Zsh 兼容 Bash,據傳說 99% 的 Bash 操做 和 Zsh 是相同的
Zsh 官網:http://www.zsh.org/
先看下你的 Linux支持哪些 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,如今開頭是一個箭頭了,以下圖:
如今zsh和oh-my-zsh都安裝好了,如今重點講下zsh的配置!
建立~/.zshrc配置文件,先給看下個人配置,能夠憑本身喜愛更改:
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH=/home/amoscykl/.oh-my-zsh
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
# zhs的主題
ZSH_THEME="ys"
# Set list of themes to load
# Setting this variable when ZSH_THEME=random
# cause zsh load theme from this variable instead of
# looking in ~/.oh-my-zsh/themes/
# An empty array have no effect
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
# z命令快速跳轉目錄 x命令解壓一切文件 命令行能夠直接google
plugins=(
git z zsh-autosuggestions extract web-search zsh-syntax-highlighting
)
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
#
#自動補全插件
source ~/.oh-my-zsh/plugins/incr/incr.zsh
# 自動更新的時間間隔,單位是天,這裏設置 30 天更新一次
export UPDATE_ZSH_DAYS=1
最終效果:
主題:
自動補全:
一鍵google:
z命令快速跳轉目錄(根據記錄):
x命令自動解壓各類壓縮文件,不用再牢記繁雜的解壓命令!