快速編輯 Shell 命令列(轉)
快速編輯 Shell 命令列(轉)[@more@]前言快速編輯 Shell 命令列想起聽得最多的就是 *nux 的初學者說最煩就是 Linux / Unix 的命令列,所以就有了這個題目。如果你是個性急的人可以先嚐試下文章結尾的綜合練習體會一下 Shell 的快捷鍵,也許這樣再看全文會更有趣。其實,命令列適應了,可能比圖形介面更有效率。至少對我來說是這樣,我現在一看見那些所謂的 IDE 就有眼花繚亂感覺,真正用來寫程式碼的面積都被擠到只有一包煙那麼大了,呵呵。有時為找個選項花很長時間找對話方塊,也很痛苦吧。為什麼那麼多人害怕命令列呢?我想最大的問題就是很多人覺得命令列的輸入和編輯都很“慢”,很低效。但是對於 Linux / Unix 這類從核心得到整體架構,再到哪怕是最小的一個應用小軟體都以文字來支撐的系統,沒有嫻熟的命令列技巧確實是玩不轉的。希望本文能對你提高命令列使用效率有幫助。但是由於 Linux / Unix 的發行版實在是太多,Shell 的主流版本也有好幾個,所以,本文所說的內容,可能和你的系統有出入,但是思想是一樣的,在你自己的平臺上摸索一下,你也會找到你的平臺太下編輯命令列的技巧和規律。另外,Shell 的很多快捷鍵和 VIM, Emacs 的快捷鍵是相通的,所以,熟練使用 Shell 快捷鍵,對適應 *nux 下的其他軟體有很好的啟示作用。命令列的技巧除了本文提到的,還有很多,你可以自己慢慢積累,收集和體會。當然如果你經常需要輸入很繁瑣的命令,那麼建議你自己寫 Shell 指令碼,定義 function, alias 等技巧來實現。我目前使用的系統配置核心: 2.6.14-gentoo-r5;系統發行版: Gentoo Linux -- 2005.1;Shell 版本: Gun bash -- 3.00.16X Server: Xorg -- 6.8.2;視窗系統: Gnome -- 2.10.1;終端: gnome-terminal -- 2.10.0;現在就開始吧一、自動補齊:[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] ,此時的終端顯示應該為:$ printf "hello, world.
"可以[Enter]執行了。八、關於本文;當你熟練的時候,上面的步驟應該在20秒之內就完成了吧,希望大家都能成為命令列的高手!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945348/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux快速編輯Shell命令列(轉)Linux命令列
- vi編輯命令(轉)
- Linux命令列編輯快捷鍵Linux命令列
- linux 命令列編輯快捷鍵Linux命令列
- Shell命令列命令列
- CentOS7 vi編輯命令【轉】CentOS
- SQL*Plus的行編輯命令(轉)SQL
- Linux命令列下編輯常用的快捷Linux命令列
- Linux 命令列下的最佳文字編輯器Linux命令列
- linux Shell 命令列-03-array Shell 陣列Linux命令列陣列
- 【SQL*Plus】使用EDIT命令快速編輯指令碼檔案SQL指令碼
- shell陣列(轉)陣列
- shell的命令(轉)
- vim 列編輯模式模式
- Windows下使用Sublime text3快速編輯Linux檔案,寫ShellWindowsLinux
- 【Mongo】shell命令列模式執行mongo命令Go命令列模式
- 支援 Homebrew 安裝和編輯器模式的 flomo 命令列工具模式命令列
- 命令列與Shell -> 文字處理命令之sed命令列
- Unix中Vi編輯常用命令總結(轉)
- Shell命令列中的特殊字元及其轉義(去除特殊含義)命令列字元
- 1、Shell命令列書寫規則命令列
- Linux 命令如何編輯 PDF?Linux
- vi編輯器相關命令
- vim編輯器常用的命令
- Linux VI編輯命令使用Linux
- Emacs 編輯器(轉)Mac
- [shell問答錄]:命令、程式、子shell...(轉)
- 【Java】【轉】在命令列中編譯和執行javaJava命令列編譯
- 命令列快速提示:許可權命令列
- 用Weex命令列快速建立工程命令列
- rlwrap 的安裝使用(實現sqlplus下命令列history編輯)SQL命令列
- shell指令碼的命令列引數 - todo指令碼命令列
- shell命令列中操作HBase資料庫命令列資料庫
- 快速上手Linux核心命令(六):Linux的文字編輯器vi和vimLinux
- Linux循序漸進(23):Vi的編輯操作及命令(轉)Linux
- 常用編輯器列模式快捷鍵模式
- Linux Shell之sort命令(轉)Linux
- shell中set命令詳解(轉)