一. shell
shell是什么?殼?其實就是操作系統包含一個外殼,然后讓用戶通過這個殼來操作OS,而shell的版本有很多,比如bash(這個一般是系統默認的shell),zsh等。
終端查看已安裝shell:
cat /etc/shells
二. .bashrc(系統默認的配置文件)或者.zshrc(zsh這個shell的配置文件)
這兩個文件就是保存個人的一些配置,如命令別名,路徑等。每次修改后,要用source ~/.bashrc就可以立即加載修改后的設置,使之生效。
一般會在.bash_profile文件中顯示調用.bashrc
。登錄linux啟動bash時首先會去讀取~/.bash_profile文件,這樣.bashrc就得到了執行,設置也就生效了。
用戶登錄后加載profile和bashrc的流程如下:
1)/etc/profile-------->/etc/profile.d/*.sh
2)$HOME/.bash_profile-------->$HOME/.bashrc---------->/etc/bashrc
說明:
bash首先執行/etc/profile腳本,/etc/profile腳本先依次執行/etc/profile.d/*.sh
隨后bash會執行用戶主目錄下的.bash_profile腳本,.bash_profile腳本會執行用戶主目錄下的.bashrc腳本,
而.bashrc腳本會執行/etc/bashrc腳本
至此,所有的環境變量和初始化設定都已經加載完成.
bash隨后調用terminfo和inputrc,完成終端屬性和鍵盤映射的設定.
三. .zshrc部分文件解讀(參考一介布衣文章?)
ZSH_THEME="robbyrussell"? //用來指定zsh 樣式
ZSH_THEME="robbyrussell"? //用來指定zsh 樣式,
lugins=(git autojump osx brew node npm)? //zsh 使用的插件
git插件如圖:
上面這個 zsh 從紅箭頭表示 zsh 開始位置, 接著是絕對路徑 ,后面跟著顯示 git(dev) x 是上面意思?
git 表示此目錄被git 倉庫托管.
(dev) 表示當前目錄內容所在git 分支 是 dev
x 號表示,當前文件中有內容變動,并且沒有提交到代碼庫,如果提交以后,會變成綠色√號
上面關于git 的一系列功能就是 zsh 中我開啟了git 插件(這個插件是 oh-my-zsh 項目自帶的,并且默認開啟的插件)
zsh另外一個功能,別名設置:
.oh-my-zsh/plugins/git/git.plugin.zsh這個文件就是對應的別名設置,部分設置如下:
alias g='git'
alias?ga='git?add'
alias?gaa='git?add?--all'
alias?gapa='git?add?--patch'
alias?gb='git?branch'
alias?gba='git?branch?-a'
alias?gbda='git?branch?--merged?|?command?grep?-vE?"^(\*|\s*master\s*$)"?|?command?xargs?-n?1?git?branch?-d'
alias?gbl='git?blame?-b?-w'
alias?gbnm='git?branch?--no-merged'
alias?gbr='git?branch?--remote'
alias?gbs='git?bisect'
alias?gbsb='git?bisect?bad'
alias?gbsg='git?bisect?good'
alias?gbsr='git?bisect?reset'
alias?gbss='git?bisect?start'
比如查看文件狀態命令,git status 可以用gst代替
git? commit -a -m "提交信息" 可以用gcam "提交信息"代替
四. 大招來了,zsh安裝(參考此文章?參考此文章2?)
1.檢查zsh是否存在,其實mac里邊本來就有,其他的我也不知道,終端輸入:
有版本號說明存在,跳過第二步。
2.zsh安裝,終端輸入:
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
3.安裝oh-my-zsh(這個是什么鬼,因為zsh太難配置,所有外國小哥搞的類似一鍵配置的工具,安裝即可),終端輸入:
curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh
4.將當前用戶的默認shell改成zsh,終端輸入:
chsh -s /bin/zsh
重新打開看看吧。
5.設置命令別名
vi ~/.zshrc
英文狀態下按i鍵進入修改模式,到最后添加 alias cls="clear"
然后按esc取消修改模式,按shift+:鍵。左下角會出現一個冒號,輸入wq保存退出。然后終端輸入:
source ~/.zshrc
此命令是使shell立即加載修改過得配置文件,懶得輸入的話把終端重啟也行,因為重啟終端會重新加載配置文件。
然后試試cls就可以清屏了
例如:清屏用clear 好煩的 上邊設置后清屏可以用cls了。
我設置的一些別名:
# 清屏
alias cls="clear"?
# 更改zsh配置
alias vzrc="vi ~/.zshrc"
# 立即重新加載配置文件
alias szrc="source ~/.zshrc"
6.啟動命令糾錯功能,終端輸入
vi ~/.zshrc
找到
# ENABLE_CORRECTION="true"
然后改成
ENABLE_CORRECTION="true"
改的過程和上邊設置別名一樣。
然后來看看效果如何吧!
上邊gst是zsh設置的git status的別名
當我輸入gstt時,提示我是否改成gst,輸入y即可。
PS:參考文章中的手動安裝中
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
~/.oh-my-zsh/templates/zshrc.zsh-template其實是zsh的一個配置模板,這句命令意思是按照配置模板來拷貝一份文件并命名為.zshrc,然后放在根目錄下。
看下我的效果
有沒有感覺很炫?看下邊文章自己設置吧。
文章一?
文章二?