Linux-Bash-Shortcut
阿新 • • 發佈:2018-12-17
#Linux Bash快捷鍵
本文適用於Max OS以及大部分Linux發行版本注意本文內所說的前,後分別是指行首,行尾方向
Linux,Max OS作業系統,在其預設的命令列模式下(也就是Bsah),有許多快捷鍵。熟悉常用的快捷鍵可以大大提高我們的操作速度,提升工作效率。按照命令作用,大概可以分下面幾種型別:
程序控制
ctrl + c
當前向程序傳送一個SIGINT
訊號,通知程序退出。具體效果要看程序的程式如何處理SIGINT訊號,有可能會有延遲,有可能甚至會被忽略。比如scrapy程式,按下Ctrl + c
需要等當前的處理請求完畢後才會結束程序,如果要強制立即退出,需要按兩次Ctrl + c
ctrl + z
當前向程序傳送一個SIGTSTP訊號,讓程序轉到後臺執行,如果想恢復前臺執行可以使用fg process_name
ctrl + d
退出命令列
螢幕輸出
Ctrl + l
清除螢幕輸出Ctrl + s
停止螢幕輸出Ctrl + q
恢復螢幕輸出
移動游標
- ``ctrl + a` 移動到命令列首
ctrl + e
移動到命令列尾ctrl + f
往前移動一個字元ctrl + b
往後移動一個字元Esc + f
往前移動一個單詞(不包含符號)Esc+b
往後移動一個單詞(不包含符號)Ctrl + xx
在游標當前所處的位置和行首之間切換
刪除
Ctrl + d
刪除游標當前位置的字元Ctrl + h
刪除游標前一個字,相當於視窗鍵盤的退格鍵或者Mac的鍵盤的刪除鍵
剪下與貼上
-
Ctrl + k
從游標當然位置剪下到行尾 -
Ctrl + u
從游標當然位置剪下到行首 -
Ctrl + w
從游標當前位置向前剪下整個單詞(包含符號) -
Esc + Backspace
從當前位置向前剪下一個單詞(不包含符號,Mac鍵盤為Esc + delete鍵)scrapy crawl university -a max_num = 500 -t csv -o u.csv #注意:假設此時游標500後面,按下Ctrl + w後會將“max_num = 500”都刪除,如果只想刪除到“=”符號之後,則按Esc + BackSpace
-
Esc + d
從游標當前位置向後剪下一個單詞(不包含符號) -
Ctrl + y
將剪下板中的文字貼上到當前游標之前
編輯
-
Ctrl + -
撤銷上一步操作(注意沒有反撤銷操作,至少目前為止還沒發現) -
Ctrl + t
交換當前游標所處的字元與前一個字元 -
Esc + t
交換當前游標所處的單詞與前一個單詞(不包含符號)
scrapy crawl university -a max_num = 500 -t csv -o u.csv #還是以scrapy命令為例,假設現在游標處理max_num中的“u”處,按下“Esc + t”後,max_num就會變成num_max
修改大小寫
Esc + u
將游標所處位置往後一個單詞變為大寫Esc + l
將游標所處位置往後一個單詞變為小寫Esc + c
將游標所處位置的字元變為大寫,並將往後一個單詞變為小寫
歷史記錄
history
可以檢視所有命令的歷史記錄
該命令實際上相當於`cat ~/.bash_history`。大家可以看一下自己作業系統使用者目錄下的.bash_hitory檔案,裡面記錄了命令執行的序號、時間、命令以及所有引數。
echo $HISTSIZE
顯示歷史記錄最大記錄數量
HISTSIZE這個環境變數決定了歷史記錄的最大數量,我們可以通過修改它來修改.bash_history檔案的最大行數
history -c
清除所有的歷史命令Ctrl + p
上一條命令Ctrl + n
Ctrl + r
進入歷史記錄逆向搜尋模式Esc + r
撤消所有對當前歷史記錄命令的修改Esc + .
使用上一條命令的最後一個引數
命令縮寫
除了以上列出的快捷鍵,慶典還支援下面這些快捷命令
!!
執行上一條命令!command
執行上一條以“命令”開頭的命令^command
刪除上一條命令中的 “命令” 並執行^command1^command2
將上一條命令中第一個 “命令1” 替換為 “命令2” 並執行^command1^command2^
將上一條命令中所有的 “命令1” 替換為 “命令2” 並執行!$:p
打印出上一條命令的最後一個引數,類似於上面介紹的“Esc +。”!*:p
打印出上一條命令的所有引數
:p可以用在很多地方,表示將前面的命令只打印出來,不執行。比如:
!! :p打印出上一條命令
!scrapy:p打印出上一條以scrapy開頭的命令