學科:Shell/Zsh

來自維基學院

功能[編輯 | 編輯原始碼]

路徑別名[編輯 | 編輯原始碼]

需要在配置文件(通常是 .zshrc)中先定義好規則,形如:

hash -d sortcut_name=path

配置應用後,直接使用 ~ sortcut_name (甚至直接輸 sortcut_name 回車就行了)就可以跳轉到相應目錄

文件類型關聯[編輯 | 編輯原始碼]

zsh 可以指定某種類型的文件用何種命令打開,可以配置文件定義相應的規則,形如:

alias -s rb=mate   # 用 TextMate 打开 ruby 文件

技巧[編輯 | 編輯原始碼]

一般性[編輯 | 編輯原始碼]

  • Tab 補全顯示的結果列表中可以使用方向鍵移動
  • -後接 Tab 可以補全參數
  • 命令修正提示中 nyae 的含義是:
    • no,不修正
    • yes,採納修正意見執行
    • abort,終止,取消操作
    • edit,返回編輯命令

目錄切換[編輯 | 編輯原始碼]

  • 大多數情況 cd 都是可以省略的
  • d,可以列出最近訪問的幾個目錄,0 是當前目錄,直接輸入數字 1~9 可以在這幾個目錄間切換
  • 直接輸 .. 和 ... 可以快速切換到上層目錄
  • cd 後接 n+1 個點,可以往上層跳轉 n 層

最近命令[編輯 | 編輯原始碼]

  • r,可以重複執行上一條命令
  • zsh_stats,歷史命令排行

命令相關[編輯 | 編輯原始碼]

  • kill,輸入進程的命令中單詞的開頭可以匹配符合的命令,比如:
/Applications/Explorer/Google Chrome.app/Contents/Versions/22.0.1229
App,G,Chrome,Ver 都能匹配,区分大小写
chrome,22,oogle 不能匹配
  • ls
匹配模式得到了增強,如
  • ** 表示在子目錄中匹配,例 ls **/*.pdf 匹配目錄及子目錄下所有PDF文件
  • @ 匹配符號連結,例 ls *(@)
  • r,w,x 匹配文件權限,例 ls *(x)
  • . 匹配文件,例 ls *(.)
  • 例 ls **/(*.md|LICE*),匹配目錄下 md 文件 及 以 LICE 開頭的文件

配置[編輯 | 編輯原始碼]

命令提示符[編輯 | 編輯原始碼]

安裝[編輯 | 編輯原始碼]

OS X 已內建了 zsh,你也可以用 brew 單獨安裝。

yum 的源是 4.3 的(10:18, 19 March 2014 (UTC)),需要從源碼安裝。

參考[編輯 | 編輯原始碼]

配置樣例[編輯 | 編輯原始碼]