在Linux/Unix環境下進行開發和系統管理的工作,其最主要的平台莫過於shell環境。shell下有很多十分有用的快速鍵,好好掌握這些快速鍵,會令你的工作效率有極大的提高。
AD:
【51CTO技術資料】近期在工作中發現,許多同事,尤其是我們的PHP開發人員,基本不會用Linux/unix下的捷徑,嚴重影響工作效率,所以特撰寫此文,每個用法後我會詳細注釋。
下述所有命令在Linux/unix的shell下有效,這裡以bash為主。如有出入,以你自己的伺服器為準。本文所指的Linux主要指RHEL/CentOS,unix指的是FreeBSD,這也是伺服器中用得最多的版本。
Ctrl + a 切換到命令列開始
這個操作跟Home實現的結果一樣的,但Home在某些unix環境下無法使用,便可以使用這個組合;在Linux下的vim,這個也是有效;另外,在windows的許多檔案編輯器裡,這個也是有效。
Ctrl + e 切換到命令列末尾
這個操作跟END實現的結果一樣的,但End鍵在某些unix環境下無法使用,便可以使用這個組合;在Linux下的vim,這個也是有效;另外,在windows的許多檔案編輯器裡,這個也是有效。
Ctrl + l 清除螢幕內容,效果等同於clear
Ctrl + u 清除剪下游標之前的內容
這個命令很有用,在nslookup裡也是有效。我有時看見同事一個字一個字的刪除shell命令,十分崩潰!其實完全可以用一個Ctrl + u搞定。
Ctrl + k 剪下清除游標之後的內容
Ctrl + y 粘貼剛才所刪除的字元
此命令比較強悍,刪除的字元有可能是幾個字串,但極有可能是一行命令。
Ctrl + r 在曆史命令中尋找 (這個非常好用,輸入關鍵字就調出以前的命令了)
這個命令我強烈推薦,有時history比較多時,想找一個比較複雜的,直接在這裡,shell會自動尋找並調用,方便極了
Ctrl + c 終止命令
Ctrl + d 退出shell,logout
Ctrl + z 轉入後台運行
不過,由Ctrl + z轉入後台啟動並執行進程在目前使用者退出後就會終止,所以用這個不如用nohup命令&,因為nohup命令的作用就是使用者退出之後進程仍然繼續運行,而現在許多指令碼和命令都要求在root退出時仍然有效。
下面再被充下大家不是太熟悉,我用得比較多的操作方式:
!! 重複執行最後一條命令
history 顯示你所有執行過的編號+曆史命令。這個可以配合!編輯來執行某某命令
↑(Ctrl+p) 顯示上一條命令
↓(Ctrl+n) 顯示下一條命令
!$ 顯示系統最近的一條參數
最後這個比較有用,比如我先用cat
/etc/sysconfig/network-scripts/ifconfig-eth0,然後我想用vim編輯。一般的做法是先用↑
顯示最後一條命令,然後用Home移動到命令最前,刪除cat,然後再輸入vim命令。其實完全可以用vim !$來代替。
開發和管理員的話,掌握以上用法後,基本上工作就很有效率了;用到最後,你會不經意發現,彈指之間,許多複雜的指令你會很輕鬆的搞定。
作者介紹:Andrew.Yu(撫琴煮酒)是經驗豐富的外企Linux/unix系統工程師、項目實施工程師。