Linux 命令行快捷鍵

  羣裏有人問“問個問題,Linux 命令行有沒有快捷鍵一下從行末會到行頭?經常敲了很多命令發現忘加 sudo 了,然後把命令刪了重新敲一遍”。

  自己還真不知道怎麼操作,只知道歷史命令可以使用上下光標切換。

  正好早上微博有人科普,感謝龍浩的 blog 的總結,我也補充點知識,糾正一下百度知道上關於 “HISTFILESIZE” 和 “HISTSIZE” 的區別錯誤回答。

  好吧,開始說說歷史記錄個數的 “HISTFILESIZE” 和 “HISTSIZE” 的區別

  默認情況下 HISTFILESIZE 和 HISTSIZE的值都是 500,表示可以記錄 500 條命令記錄。

  • HISTFILESIZE 表示記錄在文件中的命令條數

  • HISTSIZE 表示記錄在內存中的命令條數

  當我們在 shell 命令行執行命令的時候,最近的 HISTSIZE 條命令被保存在內存當中可以使用上下光標或者 ctrl+p,ctrl+n 上下查找命令。

  當退出 shell 時 HISTFILESIZE 條命令被保存到歷史命令文件中,下次登錄 shell 時會從歷史命令文件中讀取命令道內存歷史命令道中。

  當網絡中斷等異常時,你會發現之前的歷史命令,下次登錄時用上下光標找不到上次的歷史命令,所以要正常退出或者發送探測包保持 shell 在線。

  如果想增加歷史命令保存的數量,可以在 ~/.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快捷鍵能使光標回到行首。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章