Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Shell 進階技巧 24 招:讓命令行操作飛起來

編輯:Linux 教學

這些技巧不在教科書裡,卻能極大提升終端效率。建議打開終端實時練習,肌肉記憶比收藏更靠譜。

1. !$ —— 復用上一條命令的最後一個參數

$ mkdir mydir
$ mv !$ yourdir
$ cd !$

避免重複輸入長路徑,配合 cp、tar 等極其高效。

2. sudo !! —— 以 root 權限重跑上一條命令

$ apt-get install vim
E: 權限不足
$ sudo !!   # 等價於 sudo apt-get install vim

忘記加 sudo 時的救星。

3. cd - —— 在最近兩個目錄間來回切換

$ cd /home/a
$ cd /home/b
$ cd -   # 回到 /home/a
$ cd -   # 再回 /home/b

雙目錄來回切換神器,配合 pushd/popd 可構建目錄棧。

4. Alt+. 或 Esc . —— 插入上一條命令的最後一個參數

交互式編輯時按下即可把上一條命令的尾參數塞進當前命令行,比 !$ 更直觀。

5. ^old^new —— 替換上一條命令中的字符串並執行

$ echo "wanderful"
$ ^a^o    # 自動執行 echo "wonderful"

長命令拼寫錯誤的快速修正,等價於 !!:gs/old/new。

6. du -s * | sort -n | tail —— 找出當前目錄佔用空間最大的 10 個文件/目錄

7. :w !sudo tee % —— 在 Vim 中以 root 權限保存只讀文件

忘記 sudo vim 打開系統配置文件時,此命令可直接寫入,無需重開。

8. date -d @1234567890 —— 時間戳轉可讀時間

$ date -d @1700000000
2023年11月14日 星期二 18:13:20 CST

9. > file.txt —— 一鍵創建/清空文件

比 touch 更短,重定向空輸出即可。

10. mtr coolshell.cn —— 綜合 ping + traceroute 的網絡診斷神器

實時顯示每跳丟包率、延遲,排查網絡抖動首選。

11. echo "ls -l" | at midnight —— 定時執行一次性任務

at 守護進程需運行,適合臨時排程,比 cron 輕量。

12. 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,配合雙因子認證需用應用專用密碼。

13. ps aux | sort -nk +4 | tail —— 列出佔用內存最多的 10 個進程

第 4 欄為 %MEM,數值排序後取尾部。

14. man ascii —— 本地查閱 ASCII 碼表

斷網、翻牆不便時的離線速查表。

15. Ctrl+X E —— 用 $EDITOR 編輯當前命令行

長命令多行編輯、複雜腳本修改時極其舒適。

16. netstat -tlnp —— 列出本機監聽端口及進程

經典組合:-t TCP、-l LISTEN、-n 數字地址、-p 進程信息。

17. tail -f /path/to/log | sed '/^Finished: SUCCESS$/ q' —— 實時監控日志,匹配關鍵字自動退出

部署腳本、CI/CD 流水線監控的利器。

18. ssh user@server bash < /path/to/local/script.sh —— 遠程執行本地腳本,無需拷貝

標準輸入管道傳遞腳本內容,臨時運維、批量分發極其方便。

19. ssh user@host cat /path/to/remotefile —— 直接輸出遠程文件內容

配合重定向 > localfile 即為無 scp 下載。

20. lsof -i —— 實時查看網絡連接與進程綁定

比 netstat 更詳盡,顯示進程名、用戶、FD 類型等。

21. vim scp://user@host//path/to/file —— Vim 直接編輯遠程文件

依賴 netrw 插件,保存時自動 scp 上傳,體驗如本地編輯。

22. python -m http.server / python -m SimpleHTTPServer —— 一鍵啟動 HTTP 靜態服務器

當前目錄即為 Web 根目錄,https://localhost:8000 訪問,臨時分享文件最快方式。

23. 統計歷史命令 TOP 10

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

從高頻命令洞察你的工程師畫像。

24. tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]" —— 終端裡跑《黑客帝國》數字雨

純娛樂,但能展示管道、字符處理、ANSI 色碼綜合運用。

小貼士

  • 命令前加空格不寫入 history(需 HISTCONTROL=ignorespace)。
  • 善用 Ctrl+R 逆向搜索歷史,比 history | grep 快得多。
Copyright © Windows教程網 All Rights Reserved