Linux命令怎么設(shè)置成鍵盤快捷鍵
Linux命令怎么設(shè)置成鍵盤快捷鍵
Linux的一個特色就是其命令多而且功能強大, 頻繁輸入命令不僅麻煩而且工作量較大,雖然可以使用TAB進行>命令補足,或者使用aliase來簡化某個命令的輸入,但這并不能從根本上解決敲擊鍵盤次數(shù)過多的問題。那么Linux命令怎么設(shè)置成鍵盤快捷鍵?下面跟著學習啦小編一起來了解一下吧。
Linux命令怎么設(shè)置成鍵盤快捷鍵
可以把任何命令或命令的組合指定給鍵盤上的某個鍵,可以是Alt+[A-Z],
Ctrl-[A-Z], Alt+Shift+[A-Z], F1-F12, Ctrl-F[1-12], Alt-F[1-12], Alt+Shift+F[1-12],還有更不可思議的是甚至還可以為功能鍵加上“參數(shù)”,這樣你按下那個鍵的時候,它會等待你輸入相應(yīng)的參數(shù),并根據(jù)不同的參數(shù)運行不同的命令。
當然,有一些熱鍵會被終端所捕獲,如常見的Ctrl-D/C/Q/Z等,不過沒關(guān)系,可用的熱鍵還多著呢!
定義熱鍵的配置文件為:/etc/inputrc 或 ~/.inputrc,定義熱鍵的格式如下:
“《熱鍵對應(yīng)的ASCII字符》”:“《執(zhí)行的命令》”
其中熱鍵對應(yīng)的ASCII字符可以通過 “先按Ctrl-V, 然后按熱鍵” 的方式來輸入, 如Ctrl-G對應(yīng)的字符為^G, Alt-P對應(yīng)的字符為^[p, Ctrl-Alt-H對應(yīng)的字符為^[^H.
可以用/C來代替Ctrl,/M來代替Alt, /M-/C來代替Alt-Ctrl, 如/C-M = Ctrl-M, /M-/C-H = Alt-Ctrl-M. 另外還可以用/e代表^[。
先來看一些基本的熱鍵定義,(這里熱鍵里的字母不區(qū)分大小寫):
“^[-”:“su -/C-M” # 按Alt+- 執(zhí)行su - 命令,末尾/C-M表示輸入完定義的命令后回車,也可以更簡潔地用一個/n來表示。
“/M-/C-G”:“gaim & &》/dev/null && disown/C-M”
# 按Ctrl-Alt-g在當前shell打開gaim, 并脫離該shell獨立運行,即:即使你退出了該shell, gaim也不會關(guān)閉
其他一些組合鍵可以根據(jù)自己的需要配置,偶就不多說了。
大家也許會覺得這樣定義熱鍵太亂了,而且很難記住,還有一定的限制。這個問題在后面會得到解決。
一般情況下,我們可以使用上下方向鍵來查找命令歷史列表,以此重復(fù)輸入命令,但是方向鍵離主鍵盤區(qū)太遠,如》果頻繁使用的話,會耽誤不少時間,而且挪動右手時也不太方便,有沒有什么辦法把方向鍵的功能轉(zhuǎn)移到我們經(jīng)?!非妹畹牡胤侥?如使用Alt+J = Down Arrow 向下查找,Alt+K=Up Arrow 向下查找
通過定義熱鍵可以做到這點:
“/eh”:“^[OD” # move left
# Alt-H 向左移一個字符, 相當于Left Arrowgh, 這里^[OD即向上方向鍵的ASCII字符,輸入方式與前面提到的類似
“/el”:“^[OC” # move right
# Alt-L 向右移一個字符,相當于Right Arrow
“/ej”:“^[OB” # move up
# Alt-J 向下移動,相當于Up Arrow
“/ek”:“^[OA” # move down
# Alt-K 向上移動,相當于Down Arrow
“/ei”:“^?” # left earse one character
# Alt-I 向左刪除一個字符,相當于Backspace
“/eo”:delete-char # right earse one character
# Alt-O 向右刪除一個字符,相當于Delete
“/en”:backward-kill-word # left kill one word
# Alt-N 向左刪除一個單詞
“/em”:kill-word # right kill one word
# Alt-M 向右刪除一個單詞
“/ea”:“^[n^[n^[n^[n^[n^[n^[n” # kill to the head
# Alt-A 刪除當前位置到開頭,也就是多Alt-N幾次(A--》 ahead)
“/ee”:“^[m^[m^[m^[m^[m^[m^[m” # kill to the head
# Alt-E 刪除當前位置到末尾,也就是多Alt-M幾次(E--》 end)
“/ep”: insert-last-argumem“
# Alt-P 插入上一個命令最后一個參數(shù) (P--》 Paste)
”/ew“: forward-word
# 系統(tǒng)默認Alt-F (forward)跳到當前單詞詞尾,如果已在詞尾,則跳到下一個單詞(右邊一個單詞)詞尾
”/eq“: backward-word
# 系統(tǒng)默認Alt-B (backward)跳到當前單詞詞首,如果已在詞首,則跳到上一個單詞(左邊一個單詞)詞首
發(fā)覺F和B鍵離得太遠,不方便,偶分別改作Alt-Q, Alt-W, 但是Alt-F/B照樣可以用
這樣輸入命令的時候幾乎可以不用離開主鍵盤區(qū),而且移動光標,刪除字符,刪除單詞,上下歷史命令查找都集中》在一塊,比以前方便多了。不過開始可能有些不習慣,就跟使用vi一樣,需多練幾次。
Linux下絕大部分服務(wù)的配置是基于配置文件的,一般說來,更改了某個服務(wù)的配置文件,要使其立即生效,還需重啟該服務(wù)直接的或依附的守護進程才行。難道你就不覺得“每次 vi /etc/xxx.conf 完后又 service xxx restart/reload 或 killall -HUP xxx”這樣做很繁瑣么?如果要配置的服務(wù)較多而且要不停地調(diào)試呢?況且我們平常使用Linux時難免會不時地終止或啟動某個服務(wù)進程,輸入命令的次數(shù)也不少。如果為每個服務(wù)都指定一個熱鍵的話,似乎不大可能。如果我們賦予一個熱鍵為一個基本鍵,而相應(yīng)的服務(wù)為其“參數(shù)”,那又如何呢?
舉個例子,賦予Alt-S (S--》Start)為啟動服務(wù)的基本鍵,服務(wù)名的前2個字符為啟動“參數(shù)”,那么就可以像下面那樣隨意啟動某個服務(wù)了:
“/essm”:“service smb start/n”
# /es=Alt-s, sm=smb,
# 即:按下Alt-s后緊跟著再輸入sm(這時輸入的sm并不會顯示在終端上),就可以啟動samba的服務(wù)進程了,不必擔心按下鍵與輸入“參數(shù)”間的時間延遲問題,你按下Alt-s,然后去外面兜一圈回來,再接著輸入sm,照樣可以。
“/esht”:“service httpd start/n” # ht=httpd,啟動Apache服務(wù)
類似地,我們賦予
Alt-D(D--》 shutDown) 為停止服務(wù)的基本鍵
Alt-R(R--》 Restart) 為重啟服務(wù)的基本鍵
Alt-T(T--》 Status) 為查看服務(wù)狀態(tài)的基本鍵
Alt-C(C--》 Configure) 為打開服務(wù)對應(yīng)的主配置文件的基本鍵
如:“/ecnf”:“vi /etc/exports/n” # Alt-c+nf 打開NFS的配置文件
“/ecsm”:“vi /etc/samba/smb.conf/n” # Alt-c+sm 打開smb的配置文件
如果某個服務(wù)(如ssh)有2個配置文件,可以在其后再加一個數(shù)字,如:
“/ecssh1”:“vi /etc/ssh/sshd_config/n” # 打開sshd服務(wù)端配置文件
“/ecssh2”:“vi /etc/ssh/ssh_config/n” # 打開sshd客戶端配置文件
如果要執(zhí)行某個應(yīng)用程序呢?可以用Alt-x做基本鍵(x--》 eXeccute) 如:
“/exga”:“gaim & &》/dev/null && disown && clean /n”
“/exxm”:“xmms & &》/dev/null && disown && clean /n”
“/exvm”:“vmware & &》/dev/null && disown && clean /n” “/exna”:“nautilus & &》/dev/null && disown && clean /n”
等等。。.。
到現(xiàn)在為止我們只要按1個組合鍵+2個字符就可以實現(xiàn)下面眾多的功能:
1. 執(zhí)行指定的應(yīng)用程序
2. 啟動|重啟|關(guān)閉|指定的服務(wù)進程
3. 查看指定服務(wù)的狀態(tài)
4. 打開指定服務(wù)的指定配置文件
上面就是Linux命令設(shè)置成鍵盤快捷鍵的方法介紹了,設(shè)置成鍵盤快捷鍵后,你按下那個鍵,它會等待你輸入相應(yīng)參數(shù),從而運行不同的命令,可根據(jù)個人需求進行設(shè)置。