這些技巧不在教科書裡,卻能極大提升終端效率。建議打開終端實時練習,肌肉記憶比收藏更靠譜。
!$ —— 復用上一條命令的最後一個參數$ mkdir mydir $ mv !$ yourdir $ cd !$
避免重複輸入長路徑,配合 cp、tar 等極其高效。
sudo !! —— 以 root 權限重跑上一條命令$ apt-get install vim E: 權限不足 $ sudo !! # 等價於 sudo apt-get install vim
忘記加 sudo 時的救星。
cd - —— 在最近兩個目錄間來回切換$ cd /home/a $ cd /home/b $ cd - # 回到 /home/a $ cd - # 再回 /home/b
雙目錄來回切換神器,配合 pushd/popd 可構建目錄棧。
Alt+. 或 Esc . —— 插入上一條命令的最後一個參數交互式編輯時按下即可把上一條命令的尾參數塞進當前命令行,比 !$ 更直觀。
^old^new —— 替換上一條命令中的字符串並執行$ echo "wanderful" $ ^a^o # 自動執行 echo "wonderful"
長命令拼寫錯誤的快速修正,等價於 !!:gs/old/new。
du -s * | sort -n | tail —— 找出當前目錄佔用空間最大的 10 個文件/目錄:w !sudo tee % —— 在 Vim 中以 root 權限保存只讀文件忘記 sudo vim 打開系統配置文件時,此命令可直接寫入,無需重開。
date -d @1234567890 —— 時間戳轉可讀時間$ date -d @1700000000 2023年11月14日 星期二 18:13:20 CST
> file.txt —— 一鍵創建/清空文件比 touch 更短,重定向空輸出即可。
mtr coolshell.cn —— 綜合 ping + traceroute 的網絡診斷神器實時顯示每跳丟包率、延遲,排查網絡抖動首選。
echo "ls -l" | at midnight —— 定時執行一次性任務at 守護進程需運行,適合臨時排程,比 cron 輕量。
curl -u user --silent "https://mail.google.com/mail/feed/atom" | perl -ne 'print "\t" if /<name>/; print "$2\n" if /<(title|name)>(.*)<\/\1>/;' —— 命令行檢查 Gmail 未讀郵件需開啟 Gmail Atom Feed,配合雙因子認證需用應用專用密碼。
ps aux | sort -nk +4 | tail —— 列出佔用內存最多的 10 個進程第 4 欄為 %MEM,數值排序後取尾部。
man ascii —— 本地查閱 ASCII 碼表斷網、翻牆不便時的離線速查表。
Ctrl+X E —— 用 $EDITOR 編輯當前命令行長命令多行編輯、複雜腳本修改時極其舒適。
netstat -tlnp —— 列出本機監聽端口及進程經典組合:-t TCP、-l LISTEN、-n 數字地址、-p 進程信息。
tail -f /path/to/log | sed '/^Finished: SUCCESS$/ q' —— 實時監控日志,匹配關鍵字自動退出部署腳本、CI/CD 流水線監控的利器。
ssh user@server bash < /path/to/local/script.sh —— 遠程執行本地腳本,無需拷貝標準輸入管道傳遞腳本內容,臨時運維、批量分發極其方便。
ssh user@host cat /path/to/remotefile —— 直接輸出遠程文件內容配合重定向 > localfile 即為無 scp 下載。
lsof -i —— 實時查看網絡連接與進程綁定比 netstat 更詳盡,顯示進程名、用戶、FD 類型等。
vim scp://user@host//path/to/file —— Vim 直接編輯遠程文件依賴 netrw 插件,保存時自動 scp 上傳,體驗如本地編輯。
python -m http.server / python -m SimpleHTTPServer —— 一鍵啟動 HTTP 靜態服務器當前目錄即為 Web 根目錄,https://localhost:8000 訪問,臨時分享文件最快方式。
history | awk '{CMD[$2]++;count++;} END { for (a in CMD) print CMD[a] " " CMD[a]/count*100 "% " a }' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10
簡化版:
history | awk '{print $2}' | sort | uniq -c | sort -rn | head -10
從高頻命令洞察你的工程師畫像。
tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]" —— 終端裡跑《黑客帝國》數字雨純娛樂,但能展示管道、字符處理、ANSI 色碼綜合運用。
HISTCONTROL=ignorespace)。Ctrl+R 逆向搜索歷史,比 history | grep 快得多。