基礎的Linux Shell技巧小結_linux shell

來源:互聯網
上載者:User

一、自動補齊:[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] 向後刪除一個字,用來對付剛剛輸入的錯誤字很有用[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 了,也沒裝。


七、綜合練習;

上面列舉的快速鍵,練習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]執行了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.