熟練命令列是工程師的核心競爭力。本文整理自 The Art of Command Line 專案精華,涵蓋 Bash 基礎、文字編輯、檔案管理、程序控制、SSH、套件管理、網路診斷、正則表達式等日常高頻技能,並附上進階工具推薦。

man bash 完整閱讀一次。Bash 無所不在,掌握它比學習 zsh/fish 更具通用性。
首選 Vim(vi),隨時可用。次選 Emacs、Nano。
man man 理解章節編號(1=指令, 5=檔案格式, 8=管理指令)apropos 關鍵字 搜尋相關手冊頁help 指令、help -d 指令掌握 >、>>、<、|、stdout/stderr 分離(2>&1)。
*、?、{...} 擴展規則;雙引號保留變數展開,單引號保持字面值。
& 背景執行、Ctrl-Z 暫停、fg/bg 切換、jobs 列表、kill %n 終止作業。
ssh-keygen、ssh-copy-id、ssh-agent/ssh-add、ProxyJump 多跳板連線。
| 類別 | 指令與關鍵參數 |
|---|---|
| 列表/檢視 | ls -l(欄位含義)、less、head/tail -f、less +F 即時追蹤 |
| 連結 | ln 硬連結、ln -s 符號連結(理解 inode 差異) |
| 權限/擁有者 | chown、chmod(數字/符號模式) |
| 磁碟用量 | du -sk * 目錄大小摘要、df -h 分區用量 |
| 檔案系統 | mount、fdisk/lsblk、mkfs.ext4/mkfs.xfs |
| 網路基礎 | ip a/ifconfig、dig、ss -tuln、curl -I |
-i 忽略大小寫、-o 僅顯示匹配、-A n/-B n 顯示前後 n 行s/舊/新/g、/pattern/d 刪除行-F':' '{print $1,$3}' 以冒號分欄輸出第 1、3 欄依發行版使用 apt (Debian/Ubuntu)、yum/dnf (RHEL/CentOS/Fedora)、pacman (Arch)、pip (Python)、brew (macOS)。
fzf 模糊搜尋、ripgrep (rg) 極速搜尋、fd 現代 find 替代品htop/btop 互動式程序監控、ncdu 磁碟用量視覺化tmux 終端機多工、git 版控jq JSON 處理、yq YAML 處理善用 Explainshell 解析複雜指令組合。持續精進命令列技藝,將為工程生涯帶來複利效應。