GNOME 終端中的快捷鍵大全

[轉]gnome 終端中的快捷鍵大全 

快速編輯 Shell 命令行

想起聽得最多的就是 *nux 的初學者說最煩就是 Linux / Unix 的命令行,所以就有了這個題目。如果你是個性急的人可以先嚐試下文章結尾的綜合練習體會一下 Shell 的快捷鍵,也許這樣再看全文會更有趣。

其實,命令行適應了,可能比圖形界面更有效率。至少對我來說是這樣,我現在一看見那些所謂的 IDE 就有眼花繚亂感覺,真正用來寫代碼的面積都被擠到只有一包煙那麼大了,呵呵。有時爲找個選項花很長時間找對話框,也很痛苦吧。

爲什麼那麼多人害怕命令行呢?

我想最大的問題就是很多人覺得命令行的輸入和編輯都很“慢”,很低效。但是對於 Linux / Unix 這類從內核得到整體架構,再到哪怕是最小的一個應用小軟件都以文本來支撐的系統,沒有嫺熟的命令行技巧確實是玩不轉的。希望本文能對你提高命令行使用效率有幫助。

但是由於 Linux / Unix 的發行版實在是太多,Shell 的主流版本也有好幾個,所以,本文所說的內容,可能和你的系統有出入,但是思想是一樣的,在你自己的平臺上摸索一下,你也會找到你的平臺太下編輯命令行的技巧和規律。

另外,Shell 的很多快捷鍵和 VIM, Emacs 的快捷鍵是相通的,所以,熟練使用 Shell 快捷鍵,對適應 *nux 下的其他軟件有很好的啓示作用。

命令行的技巧除了本文提到的,還有很多,你可以自己慢慢積累,收集和體會。當然如果你經常需要輸入很繁瑣的命令,那麼建議你自己寫 Shell 腳本,定義 function, alias 等技巧來實現。

我目前使用的系統配置

內核: 2.6
Shell 版本: Gun bash
窗口系統: Gnome
終端: Gnome-terminal

現在就開始吧


一、自動補齊:[Tab]

這個技巧很多人都應該會了,就是當輸入命令,目錄或者是文件名的時候按 [Tab] 鍵。系統就會幫你補齊可能要輸入的東西,如果有多個選擇系統會列表出來。你可以看清楚之後再多輸入一個或多個 charactor ,再按[Tab]。

實驗:

$ ec

按[Tab], 補齊爲:

$ echo


二、查找和執行歷史命令:[Ctrl + r], [Ctrl + p], [Ctrl + n]

在終端中按捉 [Ctrl] 鍵的同時 [r] 鍵,出現提示:(reverse-i-search), 此時你嘗試一下輸入你以前輸入過的命令,當你每輸入一個字符的時候,終端都會滾動顯示你的歷史命令。當顯示到你想找的合適的歷史命令的時候,直接 [Enter],就執行了歷史命令。

另外, [Ctrl + p][Ctrl + n] 快速向前或向後滾動查找一個歷史命令,對於快速提取剛剛執行過不久的命令很有用。

實驗:

$ echo "hello, world" [Enter]
$ hello, world

[Ctrl + r ] (接着輸入 echo)

(reverse-i-search)`ch': echo "hello,world" [Enter]
$hello,world


三、取消本次命令輸入:[Ctrl + c]

這個快捷鍵可以使你從一個可能你已經厭煩了的命令中安全地退出!!也許是個不值一提的小技巧,但是經驗告訴我它很有用。很多 Unix 初學者會習慣性地按 [Enter] 以擺脫困境,但是說不定就會發生災難性的事件,譬如刪除了一個重要的配置文件:(


四、光標跳轉快捷鍵:

爲了方便大家記憶,加點英語助記語在後面 :)

[Ctrl + a] 跳轉至命令行首    Ahead of line
[Ctrl + e] 跳轉至命令行尾    End of line
[Ctrl + f] 向前跳轉一個字符  jump Forward one character
[Ctrl + b] 向後跳轉一個字符  jump Backward one character
[Alt + f] 向前跳轉到下一個字的第一個字符
[Alt + b] 向後跳轉到下一個字的第一個字符


五、編輯命令的快捷鍵:

[Ctrl + w] 向前刪除一個字,用來對付剛剛輸入的錯誤字很有用(左邊爲前)
[Alt + d]  向後刪除一個字(右邊爲後)
[Ctrl + u] 從光標當前位置刪除所有字符至行首(其實是放到緩衝區了,可以用ctrl + y,還原回來:
謝謝kevinbin指定
[Ctrl + k] 從光標當前位置刪除所有字符至行尾(同上)
[Ctrl + d] 刪除光標當前位置的字符,一直按,將把字符刪到行尾
[Ctrl + y] 粘貼最後一個被刪除的字

六、快速清屏;

ctrl + L


七、配置提示;

如果你是用 Gnome 下的終端窗口 gnome-teminal ,上面的 Gnu Shell 快捷鍵會跟 Gnome 的窗口快捷鍵有衝突。

那麼你需要做如下配置:

在 gnome-terminal 的菜單欄中選 "Edit" -] "Keyboard Shortcuts ..."打開 "Keyboard Shortcuts" 對話框,並勾選下面兩個複選項

"Disable all menu access keys (such as Alt+f to open File menu)"
"Disable menu shortcut key (F10 by default)"

至於 KDE 下應該怎麼配 KDE 的終端窗口,請熟悉 KDE 的朋友補充一下,我很久沒用 KDE 了,也沒裝。


八、綜合練習;

上面列舉的快捷鍵,練習2~3天應該就能熟練,爲了大家快速理解和記憶,我們來做個小小的綜合練習:

第一步:echo

$ echo "hello, world." [Enter]

我們先輸入 echo "hello, world" 這個命令,然後回車,也就看到了終端的輸出:

$ hello, world.

第二步:[Ctrl + r]

我們試試找出歷史命令 echo "hello, world.",這時,我們按[e],[c],[h]這三個鍵,這個歷史命令大概已經找到了,
終端的顯示應該是這樣:

(reverse-i-search)`ech': echo "hello,world."

現在,如果[Enter]就會再一次執行這個命令,但我們現在來練習一下命令行的編輯。

第三步:[Ctrl + a]

這樣,我們就取出了歷史命令 echo "hello, world.",並且將光標定位到行首,此時,光標應該在 echo 命令的 e 字符上高亮。
終端的顯示應該是這樣:

$ echo "hello,world"


第四步:[Alt + d]

刪除了命令 echo, 並且光標仍然在行首,終端顯示爲:

$ "hello, world."


第五步:輸入命令 "printf"

我們嘗試一下用 Posix 的系統調用 printf 來替代 shell 命令 echo,輸入[p][r][i][n][t][f],此時終端顯示爲:

$ printf "hello, world."

並且光標在 f 字符後面高亮。

第六步:[Ctrl + e]

光標跳轉到命令行尾部。

第七步:[Ctrl + b]

光標後退一個字符,此時光標應處於後雙引號 " 處高亮。

第八步:輸入換行轉義符 "/n"

輸入[/][n] ,此時的終端顯示應該爲:

$ printf "hello, world./n"

可以[Enter]執行了。


九、關於本文;

當你熟練的時候,上面的步驟應該在20秒之內就完成了吧,希望大家都能成爲命令行的高手!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章