常用快捷鍵
Ctrl + d
EOFCtrl + r
找尋歷史指令Ctrl + X
Ctrl + E
使用編輯器編輯指令Ctrl + l
清潔Ctrl + z
暫停當前程式,參見Linux工作管理Ctrl + h
同退回Ctrl + u
移除左邊所有字元,bash移除所有字元Ctrl + w
移除左邊的單字Ctrl + i
同tabCtrl + m
或Ctrl + j
同EnterCtrl + v
然後tab 終端機輸入tab符號alt + .
可以輸入一個參數,其內容為上次指令的的值,多次按下可以選取先前的指令作為參數
修改 shell
列出可使用的Shell列表
chsh -l
修改shell
chsh -s /bin/bash
相關連結
shell 列表
shell 搜尋技巧
快捷鍵
透過Ctrl + r
查詢歷史指令,多次Ctrl + r
向前查詢歷史。
指令標籤
這是一個來自How to cycle through reverse-i-search in BASH?
回答者提供的技巧,但此方法僅適用bash
而不適合zsh
,後者會將#
之後的內容傳遞給程式導致錯誤,
解決此問題似乎要配置INTERACTIVE_COMMENTS
1。
範例如下
ls / # list root dir
以下幾點是針對此方法進行考量,因為沒有嘗試實際應用可能會有思考不周全的部份, 列出可能存在的優缺點。
- 缺點
- 適合臨時作為標記
- 較常使用的還是建議別名或腳本
適當的時機可能在開始一項工作時,為了方便紀錄使用的指令而使用此標記。
配置歷史紀錄
為方便存取指令紀錄,.zshrc
添加以下兩行。
SAVEHIST=4000
HISTSIZE=$SAVEHIST
SAVEHIST
: 保存成檔案的歷史大小HISTSIZE
: 交互界面可查詢(上下鍵,收尋鍵)的大小
註: SAVEHIST
似乎為zsh
特有參數,而bash
無此參數採用HISTSIZE
即可
shell script編寫技巧
history
: 列出歷史,編寫script時嘗試以交互模式進行測試, 完成之後列出紀錄來輔助編寫,也可以直接檢視history
檔案。
zsh
#切換到emacs鍵綁定模式
set -o emacs
這樣可以兼容bash
大部分的鍵綁定
#切換到vi鍵綁定模式
set -o vi
參見vim,預設進入zsh為輸入模式,透過Esc
切換到normal mode
,透過i
回到輸入模式
zsh-autosuggestions
用來提示尚未輸入完成的指令
zsh-autosuggestions github, 安裝請參考這篇文檔
按下方向右鍵
即可採用建議指令
編輯指令
.zshrc
加入下面配置,如果配置含有bindkey -e
等類似的配置請放在之後
autoload -z edit-command-line
zle -N edit-command-line
bindkey "^X^E" edit-command-line
參見 How to edit command line in full screen editor in ZSH?
autojump
參見autojump
Linux Shell