20170904 初成文,未完...
20171012 更新插件及alias方案
技術可以菜,但寫代碼的方式一定要帥!
查看當前系統可用的shell
cat /etc/shells
“Shell是Linux/Unix的一個外殼,你理解成衣服也行。它負責外界與Linux內核的交互,接收用戶或其他應用程序的命令,然后把這些命令轉化成內核能理解的語言,傳給內核,內核是真正干活的,干完之后再把結果返回用戶或應用程序。
Linux/Unix提供了很多種Shell,為毛要這么多Shell?難道用來炒著吃么?那我問你,你同類型的衣服怎么有那么多件?花色,質地還不一樣。寫程序比買衣服復雜多了,而且程序員往往負責把復雜的事情搞簡單,簡單的事情搞復雜。牛程序員看到不爽的Shell,就會自己重新寫一套,慢慢形成了一些標準,常用的Shell有這么幾種,sh、bash、csh等”? ? --摘自網上
zsh強大之處在于命令補全,可以補齊路徑,補齊命令,補齊參數等,只需按TAB鍵;另外還有跳轉目錄、通配符搜索、別名、歷史記錄等等...還有幾百種插件拓展
一、安裝前需要先安裝zsh
sudo apt install zsh
二、兩種下載方式,擇其一
1、通過wget下載安裝腳本
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
2、通過curl下載安裝腳本
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
三、更換主題及部分參數說明
sudo nano ~/.zshrc
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
export TERM=xterm-256color? ? //使終端支持256色,tput colors或echo $TERM顯示是否正確開啟
ZSH_THEME="agnoster"? ? //改為random會在每次打開終端或執行zsh隨機選擇一種主題風格
plugins=(git autojump zsh-syntax-highlighting)? //使用的插件
DISABLE_AUTO_UPDATE="true"? //關閉自動更新
ENABLE_CORRECTION="true" //開啟智能更正選項
CASE_SENSITIVE="true" //對大小寫敏感
alias g='git'? //別名設置
四、使用agnoster主題時依賴powerline字體,安裝缺失字體
wget https://raw.githubusercontent.com/powerline/powerline/develop/font/10-powerline-symbols.conf
wget https://raw.githubusercontent.com/powerline/powerline/develop/font/PowerlineSymbols.otf
sudo mkdir /usr/share/fonts/OTF
sudo cp 10-powerline-symbols.conf /usr/share/fonts/OTF/
sudo mv 10-powerline-symbols.conf /etc/fonts/conf.d/
sudo mv PowerlineSymbols.otf /usr/share/fonts/OTF/
五、切換默認shell
chsh -s /bin/zsh
六、插件
ls ~/.oh-my-zsh/plugins? ? //列出內置可用插件
直接在~/.zshrc里添加即可,部分需要安裝,比如指令高亮插件:
git clone git://github.com/jimmijj/zsh-syntax-highlighting ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
plugins=(zsh-syntax-highlighting)? //終端命令提示,正確為綠色,錯誤為紅色
我自己使用的插件(僅供參考):
plugins=(git sudo colored-man-pages last-working-dir command-not-found zsh-syntax-highlighting zsh-autosuggestions autojump command-time alias-tips you-should-use debian dirhistory)?
sudo //忘了加sudo只需按兩下Esc鍵
colored-man-pages //man手冊頁面,高亮版,更容易閱讀
last-working-dir //返回上次打開終端的目錄
command-time //顯示某命令執行完成所用的時間
zsh-autosuggestions //根據使用習慣自動顯示建議,按→補充
alias-tips //提示可用的alias
zsh-you-should-use //與上面類似,提示可用的alias,可配置
dirhistory //使用alt+左右方向鍵來切換歷史上級或下級目錄
上面需自行安裝的插件:
git clone git://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
git clone https://github.com/popstas/zsh-command-time.git ~/.oh-my-zsh/custom/plugins/command-time
git clone https://github.com/MichaelAquilina/zsh-you-should-use.git ~/.oh-my-zsh/custom/plugins/you-should-use
git clone https://github.com/djui/alias-tips.git ~/.oh-my-zsh/custom/plugins/alias-tips
七、別名方案(參考,可按個人使用習慣自行修改)
alias wget="wget -c"
alias du="du -h"
alias df="df -Th"
alias cp="cp -iv"
alias mv="mv -iv"
alias rm="rm -iv"
alias ls="ls -F --color=auto"
alias ll="ls -alF"
alias la="ls -aF"
#下面這個是按大小排序,僅顯示大小和文件名,不顯示其他信息
alias lll="ls -AlhF --sort=size . | tr -s " " | cut -d " " -f 5,9"
alias grep="grep --color=auto'
#輸出當前目錄size最大的10個文件夾
alias dumax="du -hsx * | sort -rh | head -10"
alias fm="free -m"
alias ua="uname -a"
alias acs="apt-cache search"
alias ats="sudo aptitude show"
alias ati="sudo aptitude install"
alias aud="sudo aptitude update && sudo aptitude upgrade"
參考文章: