Linux Mac 用戶終端命令行快捷鍵 + 符號速查全解
作為一個剛接觸 Linux 和終端的 macOS 用戶,常常被命令行的各種快捷鍵和符號弄得頭暈腦脹,本文將帶你系統地掌握命令行中最常用的快捷鍵和符號,并通過邏輯聯想幫助你輕松記住每一個組合。
一、基礎控制類快捷鍵
快捷鍵 | 功能 | 記憶邏輯 |
---|
Ctrl + C | 中斷當前命令 | C = Cancel,終止運行 |
Ctrl + Z | 掛起當前命令(后臺) | Z = Zap,掛起程序,可用 fg 恢復 |
Ctrl + L | 清屏(等效 clear) | L = Look fresh / clear |
Ctrl + M | 等效回車 | M = Meta-Enter(早期終端設計) |
Tab | 自動補全 | 超常用,節省時間 |
二、歷史命令操作
快捷鍵 | 功能 | 記憶邏輯 |
---|
Ctrl + P | 上一條命令 | P = Previous |
Ctrl + N | 下一條命令 | N = Next |
Ctrl + R | 搜索歷史命令 | R = Reverse Search,命令模糊查找神器 |
Alt + . | 粘貼上一條命令最后一個參數 | . 表示最后一個詞尾 |
Alt + 數字 Alt + . | 粘貼上一條命令第 N 個參數 | 數字索引參數位置 |
Alt + 數字 Alt + . Alt + . | 粘貼上上一條命令第 N 個參數 | 多層參數調用 |
三、命令行編輯快捷鍵
光標移動
快捷鍵 | 功能 | 記憶邏輯 |
---|
Ctrl + A | 移動光標到行首 | A = Ahead |
Ctrl + E | 移動光標到行尾 | E = End |
Ctrl + B | 向左移動一個字符 | B = Backward |
Ctrl + F | 向右移動一個字符 | F = Forward |
Option + 左/右 | 按單詞跳轉 | 對應 Alt + B/F |
Ctrl + ] + 字符 | 向后跳轉到字符 | 快速定位字符位置 |
Ctrl + Alt + ] + 字符 | 向前跳轉到字符 | 反向字符跳轉 |
刪除/剪切/撤銷
快捷鍵 | 功能 | 記憶邏輯 |
---|
Ctrl + H | 刪除前一個字符 | 模擬 Backspace |
Ctrl + D | 刪除當前字符 | D = Delete |
Ctrl + K | 刪除光標到行尾 | K = Kill to end(殺死后面) |
Ctrl + U | 刪除光標到行首 | U = Undo 回撤(撤回前面) |
Ctrl + W | 刪除光標前的單詞 | W = Word |
Ctrl + \ | 刪除光標前空白字符 | 清除冗余空格 |
Ctrl + Y | 粘貼最近刪除的內容 | Y = Yank(拉回來) |
Ctrl + _ | 撤銷上一步編輯 | _ 表示“底層回滾” |
Ctrl + X Ctrl + E | 用系統編輯器編輯命令 | E = Edit(適合長命令) |
四、macOS 專屬快捷鍵
快捷鍵 | 功能 |
---|
Option + ←/→ | 按單詞跳轉 |
Command + K | 清除整個終端窗口內容(區別于清屏) |
Shift + Insert | 粘貼(某些終端支持) |
五、Shell 特殊符號 & 語法
符號 | 含義 | 記憶邏輯 | 示例 |
---|
~ | 當前用戶主目錄 | 像屋頂,回到“家” | cd ~ → 回到 /Users/用戶名 |
/ | 根目錄 | 文件系統的大樹根 | cd / → 根目錄 |
. | 當前目錄 | “這里” | ls . → 列出當前目錄 |
.. | 上一級目錄 | “上面一層” | cd .. → 返回上一級 |
- | 上一次所在目錄 | Dash = “來回切換” | cd - → 在兩個目錄間切換 |
* | 通配符,匹配零個或多個任意字符 | 星號 = 任意多字符 | ls *.txt → 匹配所有 .txt 文件 |
? | 通配符,匹配任意單個字符 | 問號 = 單字符匹配 | ls file?.sh → 匹配 file1.sh 等 |
[] | 字符集,匹配方括號內任意一個字符 | 列表選擇 | ls file[12].sh → file1.sh 或 file2.sh |
{} | 花括號擴展,生成一組字符串 | 花括號 = 批量 | mv a{,1}.txt → a.txt → a1.txt |
` | ` | 管道,將前一個命令輸出導入下一個命令的輸入 | 管道 = 水流聯通 |
> | 重定向輸出到文件(覆蓋) | 大于號 = 寫入 | echo hi > file.txt |
>> | 重定向追加到文件 | 雙箭頭 = 追加 | echo ok >> file.txt |
< | 重定向文件到命令 | 小于號 = 讀入 | wc -l < file.txt |
2> | 重定向標準錯誤 | 2 = stderr | cmd 2> err.log |
&> | 同時重定向標準輸出和標準錯誤 | & = both | cmd &> all.log |
&& | 前一命令成功時再執行后一命令 | and | make && make install |
` | | ` | 前一命令失敗時執行后一命令 |
; | 順序執行命令 | 順序分號 | cmd1; cmd2 |
$() | 命令替換,將子命令輸出作為字符串 | $ + () = 子命令 | echo $(date) |
` | 同上(舊語法),不推薦使用 | 反引號 = 早期替代 | ``echo `whoami``` |
$VAR | 變量引用 | $ = 取值 | echo $HOME |
${VAR:-default} | 變量為空則使用默認值 | :- = 默認 | echo ${NAME:-guest} |
export VAR=… | 設置環境變量 | export = “導出給子進程” | export PATH=$PATH:~/bin |
alias ll='ls -la' | 創建命令別名 | alias = 別名 | ll → ls -la |
function fn { … } | 定義 shell 函數 | function = 函數 | fn(){ echo hi; } |