羣裏有人問「問個問題,linux命令行 有沒有快捷鍵一下從行末會到行頭? 常常敲了不少命令 發現忘加 sudo 了,而後把命令刪了從新敲一遍」。html
本身還真不知道怎麼操做,只知道歷史命令可使用上下光標切換。linux
正好早上微博有人科普,感謝龍浩的blog的總結,我也補充點知識,糾正一下百度知道上關於「HISTFILESIZE」和「HISTSIZE」的區別錯誤回答。nginx
好吧,開始說說歷史記錄個數的「HISTFILESIZE」和「HISTSIZE」的區別,shell
默認狀況下HISTFILESIZE和HISTSIZE的值都是500,表示能夠記錄500條命令記錄。bash
HISTFILESIZE 表示記錄在文件中的命令條數
HISTSIZE 表示記錄在內存中的命令條數網絡
當咱們在shell命令行執行命令的時候,最近的HISTSIZE條命令被保存在內存當中可使用上下光標或者ctrl+p,ctrl+n上下查找命令。命令行
當退出shell時HISTFILESIZE條命令被保存到歷史命令文件中,下次登陸shell時會從歷史命令文件中讀取命令道內存歷史命令道中htm
當網絡中斷等異常時,你會發現以前的歷史命令,下次登陸時用上下光標找不到上次的歷史命令,因此要正常退出或者發送探測包保持shell在線。blog
若是想增長曆史命令保存的數量,能夠在~/.bash_profile中手動修改HISTFILESIZE和HISTSIZE這兩個變量的值。內存
搜索操做快捷鍵
搜索歷史命令的快捷鍵:Ctrl + r
它是經過關鍵字去匹配歷史記錄,執行後會提示:(reverse-i-search)`':
輸入你記得的關鍵字去匹配,若是出現你須要的命令,按Enter就能夠選擇命令;若是不是請輸入更精確的關鍵字去匹配。
移動操做快捷鍵
Ctrl + f-- 向右移動一個字符,固然多數人用→
Ctrl + b-- 向左移動一個字符, 多數人用←
ESC + f-- 向右移動一個單詞,MAC下建議用ALT + →
ESC + b-- 向左移動一個單詞,MAC下建議用ALT + ←
Ctrl + a-- 跳到行首
Ctrl + e-- 跳到行尾
刪除操做快捷鍵
Ctrl + d-- 向右刪除一個字符
Ctrl + h-- 向左刪除一個字符
Ctrl + u-- 刪除當前位置字符至行首(輸入密碼錯誤的時候多用下這個)
Ctrl + k-- 刪除當前位置字符至行尾
Ctrl + w-- 刪除從光標到當前單詞開頭
命令切換操做快捷鍵
Ctrl + p-- 上一個命令,也能夠用↑
Ctrl + n-- 下一個命令,也能夠用↓
其餘操做快捷鍵
Ctrl + y-- 插入最近刪除的單詞
Ctrl + c-- 終止操做
Ctrl + d-- 當前操做轉到後臺
Ctrl + l-- 清屏 (有時候爲了好看)
學完這幾個快捷鍵組合,回答一下開始的問題吧,相信你們本身也試過了,就是ctrl+a快捷鍵能使光標回到行首。