我用錯了終端機好幾年:資深開發者是如何操作 Terminal 的
原始來源與檔名:20260512_2026-05-06T095725+0800-I Used the Terminal Wrong for Years.md
來源:[[Tushar Kanjariya]] / Medium — 2026-03-19
原始檔名:2026-05-06T095725+0800-I Used the Terminal Wrong for Years.md
NAPKIN | 餐巾紙
餐巾紙公式
Terminal Mastery ≠ Memorizing 500 commands. Terminal Mastery = Treating it as an Environment (Aliases, Shortcuts, History Search, Background Jobs). The Holy Trinity of Friction Removal:
sudo !!+Ctrl+R+fzf.
大多數開發者把終端機 (Terminal) 當成自動販賣機:敲指令,拿結果,不斷重複,效率極低。但資深開發者把它當作一個「環境」。這篇文章分享了 11 個消除開發摩擦力的終端機神技,沒有花拳繡腿,全都是每天會用到 20 次以上的實用技巧。從用 !! 和 !$ 重複指令、用 Ctrl+R 與 fzf 顛覆歷史搜尋,到利用 tmux 讓工作流永不中斷,以及將輸出直接管線 (Pipe) 到剪貼簿。當你把這些技巧內化成肌肉記憶後,你也會像變魔術一樣,在 90 秒內修復生產環境的部署問題。
一句話
如果你每次打錯字還要狂按左鍵回去改,或是忘記加上 sudo 還要重新手打整串指令,那你在終端機裡浪費了太多生命。記住這幾個肌肉記憶:忘記
sudo就打sudo !!;想用剛才的資料夾名稱就打!$;想找以前打過的指令就按Ctrl+R;想跳到行首就按Ctrl+A。去裝個模糊搜尋神器fzf,然後把cd ..設定成..的 alias。終端機不是文字版的點擊介面,它是你手的延伸。
餐巾紙草圖
[ Terminal Friction Removers ]
1. The "Oops" Commands:
Forgot sudo? -> sudo !!
Same argument? -> mkdir app; cd !$
Typo? -> ^chekcout^checkout
2. The "Time Travel" Search:
Up Arrow (Linear, Slow) ---> Ctrl+R + fzf (Fuzzy, Instant)
3. The "Don't Block Me" Jobs:
Wait 10 mins ---> npm run build & (Runs in background)
4. The Mouse-Killer:
Select + Copy ---> cat key.pub | pbcopy
ROUND 1: SKELETON | 骨架掃描
“這篇文章在說什麼”
- 核心心法: 終端機不是工具 (Tool),而是一個環境 (Environment)。
- 11 個實戰技巧:
- 重複與重用:
sudo !!(重複上一個指令);!$(提取上一個指令的最後一個參數,如mkdir test後接cd !$)。 - 反向搜尋: 拋棄無腦按上箭頭,使用
Ctrl+R進行歷史指令的文字反向搜尋。 - 瞬間修復拼字:
^old^new直接替換上一個指令的錯字並執行(如^chekcout^checkout)。 - 善用 Aliases (別名): 將常用的組合縮寫,如
alias ..='cd ..'或alias -- -='cd -'(返回上一個目錄,就像瀏覽器的上一頁)。 - 快捷鍵:
Ctrl+A(到行首)、Ctrl+E(到行尾)、Ctrl+W(刪除前一個單字)、Ctrl+K(刪除游標後的字)、Alt+F/B(按單字跳躍)。 - tmux (終端多工器): 讓 Session 不會因為斷線或關閉視窗而死亡,並支援分割窗格。
- 背景執行: 在指令尾端加上
&放入背景執行,或用Ctrl+Z暫停後輸入bg。 - 指令組裝: 寫一個 Bash function 把
cd跟ls -la綁在一起執行。 - fzf (Fuzzy Finder): 終端機的神器,讓歷史紀錄、切換分支 (
git checkout $(git branch | fzf)) 等清單變成視覺化的模糊搜尋。 - 剪貼簿管線:
cat file.txt | pbcopy(Mac) 或xclip(Linux),徹底消滅滑鼠選取複製。 - thefuck: 自動糾錯工具,打錯指令時輸入
fuck就能自動推斷並修復。
- 重複與重用:
ROUND 2: DISSECTION | 血肉解剖
“憑什麼這麼說”
核心論證鏈
- 摩擦力 (Friction) 的複利效應: 重新輸入一個長指令或許只花你 5 秒鐘,但它會打斷你的心流 (Flow)。當你一天必須打斷心流 50 次去移動游標時,你的大腦會感到疲憊。利用快捷鍵與別名消除這些微秒級的摩擦力,是資深工程師看起來「毫不費力」的秘訣。
關鍵證據
- 作者列出的 Aliases 清單和快捷鍵,都是經過無數次實戰篩選下來的「肌肉記憶」。例如
Alt+F(按單字向前跳) 取代了「死按著右鍵不放」,這在修改超長 Docker 或 Git 指令時具有毀滅性的效率優勢。
邊界條件
- Muscle Memory (肌肉記憶) 的建立門檻: 這些技巧看著簡單,但要內化需要刻意練習。如果只是把這篇文章加到書籤,第二天照樣無腦按上箭頭,那讀再多也沒用。建議每次強迫自己只練一個(例如這週只練
!$和Ctrl+R)。
ROUND 3: SOUL | 靈魂提取
“還能怎么用”
- 知識連結: 呼應了《Adventures in Claude Code land》中提到「資深工程師偏愛決定性的 bash 工具」這個概念。當你把終端機玩得出神入化時,你會發現很多複雜的 GUI 軟體或 AI 代理其實都可以用一行 bash + pipe 優雅解決。
- 深層洞見: **“The terminal is a tool. But tools respond to the hands that know them.” (終端機是個工具。但工具只會回應那些了解它們的雙手。) ** 程式設計師每天有 30% 的時間在跟終端機搏鬥,拒絕學習終端機的進階用法,就像是拒絕學盲打的作家一樣荒謬。
- 行動呼籲:
現在,打開你的終端機。
- 輸入
brew install fzf(或對應的安裝指令)。 - 打開你的
~/.zshrc或~/.bashrc,把文章中的alias -- -='cd -'加進去。 - 下次下錯指令遇到
Permission denied時,請管住你想要按「上」跟「左」的手指,直接敲下sudo !!。
- 輸入