快速編輯 Shell 命令列

2021-09-30 11:12:07 字數 2874 閱讀 2369

一、自動補齊:[tab]

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

實驗:

$ ec

按[tab], 補齊為:

$ echo

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

另外,[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] 向後刪除乙個字,用來對付剛剛輸入的錯誤字很有用

[ctrl + u] 從游標當前位置刪除所有字元至行首

[ctrl + k] 從游標當前位置刪除所有字元至行尾

[ctrl + d] 刪除游標當前位置的字元

[ctrl + y] 貼上最後乙個被刪除的字

[alt + d] 刪除從游標當前位置,到當前字的結尾字元

六、配置提示;

如果你是用 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 了,也沒裝。

七、綜合練習;

第一步: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]執行了。

快速編輯shell命令列

四 游標跳轉快捷鍵 為了方便大家記憶,加點英語助記語在後面 ctrl a 跳轉至命令列首 ahead of line ctrl e 跳轉至命令行尾 end of line ctrl f 向前跳轉乙個字元 jump forward one character ctrl b 向後跳轉乙個字元 jump ...

快速編輯 Shell 命令列

前言 快速編輯 shell 命令列 想起聽得最多的就是 nux 的初學者說最煩就是 linux unix 的命令列,所以就有了這個題目。如果你是個性急的人可以先嘗試下文章結尾的綜合練習體會一下 shell 的快捷鍵,也許這樣再看全文會更有趣。其實,命令列適應了,可能比圖形介面更有效率。至少對我來說是...

快速編輯 Shell 命令列

快速編輯 shell 命令列 前言快速編輯 shell 命令列 想起聽得最多的就是 nux 的初學者說最煩就是 linux unix 的命令列,所以就有了這個題目。如果你是個性急的人可以先嘗試下文章結尾的綜合練習體會一下 shell 的快捷鍵,也許這樣再看全文會更有趣。其實,命令列適應了,可能比圖形...