近期在工作中發現經常性的使用一些重復性命令,經常性的修改一些長明令,感覺有必要科普一下shell命令行的一些常見快捷鍵了,以便大家節省時間提高工作效率。
下述所有命令在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/iptables,然後我想用vim編輯。一般的做法是先用↑ 顯示最後一條命令,然後用Home移動到命令最前,刪除cat,然後再輸入vim命令。其實完全可以用vim !$來代替。