作為開發者,我們每天都在終端機中花費大量時間。選擇合適的命令列工具可以顯著提升工作效率。今天為大家介紹 5 款在 2026 年值得關注的開源 CLI 工具,它們各自解決了開發過程中的常見痛點。
1. gping - 帶圖形視覺化的網路監控工具
傳統的 ping 指令只能顯示數字輸出,而 gping 將 ping 結果以即時圖形方式展示,讓你一目了然地看到網路延遲變化趨勢。
核心特性
- 📊 即時圖形化顯示 ping 延遲
- 🎨 支援自訂顏色主題
- 💻 跨平台支援(Windows、Mac、Linux)
- ⚡ 可同時監控多個主機
- 🔧 支援透過
--cmd標誌監控指令執行時間
安裝方法
Linux (Cargo):
cargo install gping
Linux (Homebrew):
brew install gping
Windows (Scoop):
scoop install gping
使用範例
# 監控單個主機
gping google.com
# 監控多個主機
gping google.com github.com 8.8.8.8
# 監控指令執行時間
gping --cmd "ls -la /var/log"
# 使用自訂顏色
gping --color "#00ff00" google.com
專案位址: https://github.com/orf/gping
2. croc - 安全便捷的檔案傳輸工具
croc 是一款革命性的檔案傳輸工具,它讓任何兩台電腦之間都能簡單安全地傳輸檔案和資料夾。與其他工具不同,croc 使用中繼輔助的點對點傳輸,無需開放連接埠或設定防火牆。
核心特性
- 🔐 端到端加密傳輸(使用 PAKE 協定)
- 🔄 支援斷點續傳
- 🌐 跨平台支援所有作業系統
- 🚀 多通道傳輸提升速度
- 📁 支援檔案和資料夾傳輸
安裝方法
Linux/macOS:
curl https://getcroc.schollz.com | bash
使用 Go:
go install github.com/schollz/croc/v10@latest
Windows (Chocolatey):
choco install croc
使用範例
傳送檔案:
# 傳送單個檔案
croc send document.pdf
# 傳送資料夾
croc send ./project-folder
# 傳送多個檔案
croc send file1.txt file2.txt file3.txt
接收檔案:
# 使用傳送方提供的代碼接收
croc <transfer-code>
# 範例:croc 1234-example-code
croc 的最大亮點是無需設定:傳送方執行指令後會自動產生一個代碼,接收方在另一台機器上輸入相同代碼即可開始傳輸。所有傳輸都透過中繼伺服器進行加密,確保安全性。
專案位址: https://github.com/schollz/croc
3. dasel - 強大的資料查詢和轉換工具
dasel (data selector) 是一款用於查詢和轉換各種資料格式的工具。它支援 JSON、YAML、TOML、XML、CSV 等多種格式,使用類似 SQL 的選擇器語法。
核心特性
- 📄 支援 JSON、YAML、TOML、XML、CSV 等格式
- 🔍 強大的選擇器語法
- 🔄 格式間相互轉換
- ⚡ 單一二進制檔案,無需相依性
- 🎯 支援條件篩選和排序
安裝方法
使用 Go:
go install github.com/TomWright/dasel/v2@latest
下載二進制檔案:
# Linux
wget https://github.com/TomWright/dasel/releases/latest/download/dasel_linux_amd64 -O /usr/local/bin/dasel
chmod +x /usr/local/bin/dasel
# macOS
wget https://github.com/TomWright/dasel/releases/latest/download/dasel_darwin_amd64 -O /usr/local/bin/dasel
chmod +x /usr/local/bin/dasel
使用範例
# 從 JSON 中選擇特定欄位
dasel -f data.json 'users.*.name'
# 從 YAML 轉換為 JSON
dasel -r yaml -w json < config.yaml
# 條件篩選
dasel -f users.json 'users.*.where(active==true).name'
# 處理 API 回應
curl https://api.example.com/users | dasel 'data.*.email'
實際場景: 當你需要快速從複雜的 JSON 回應中提取特定欄位,或者在不同設定格式之間轉換時,dasel 比寫 Python 腳本快得多。
專案位址: https://github.com/TomWright/dasel
4. qsv - 高效能 CSV 資料處理工具
qsv 是一個用 Rust 編寫的超快速 CSV 資料處理工具集。它提供了類似 SQL 的功能來處理 CSV 檔案,速度比傳統工具快 10-100 倍。
核心特性
- ⚡ 極速處理(Rust 編寫,多執行緒)
- 📊 支援大型 CSV 檔案(GB 等級)
- 🔧 40+ 個子指令(篩選、統計、轉換等)
- 📈 內建統計分析功能
- 🔗 支援遠端 URL 和壓縮檔案
安裝方法
Linux/macOS (預編譯二進制):
curl -LJO https://github.com/dathere/qsv/releases/latest/download/qsv-linux.zip
unzip qsv-linux.zip
sudo mv qsv /usr/local/bin/
使用 Cargo:
cargo install qsv
使用範例
# 檢視 CSV 檔案統計資訊
qsv stats data.csv
# 篩選特定行
qsv select name,email,age data.csv | qsv search -s age '^2[0-9]$'
# 排序
qsv sort -s age -n data.csv > sorted.csv
# 去重
qsv dedup data.csv > unique.csv
# 轉置(行列互換)
qsv transpose data.csv
# 取樣
qsv sample 100 data.csv > sample.csv
效能對比: 處理 100 萬行 CSV 檔案,qsv 只需幾秒,而傳統工具可能需要幾分鐘。
專案位址: https://github.com/dathere/qsv
5. grex - 智能正規表示式產生器
grex 是一款指令行工具,可以根據測試字串自動產生正規表示式。再也不用手動編寫複雜的正則了!
核心特性
- 🤖 根據範例自動產生正規表示式
- 📝 支援多種程式語言輸出
- 🎯 精確匹配或通用模式
- 🔧 可訂製產生選項
- 📚 支援從檔案讀取測試案例
安裝方法
使用 Cargo:
cargo install grex
使用 Homebrew:
brew install grex
下載二進制:
# Linux
wget https://github.com/pemistahl/grex/releases/latest/download/grex-x86_64-linux
chmod +x grex-x86_64-linux
sudo mv grex-x86_64-linux /usr/local/bin/grex
使用範例
# 根據範例產生正規表示式
grex 123 456 789
# 輸出:^\d+$
# 產生電子郵件匹配正規表示式
grex user@example.com admin@test.org
# 輸出:^[a-zA-Z]+@[a-zA-Z]+\.[a-zA-Z]+$
# 指定程式語言輸出
grex --programming-languages python 192.168.1.1 10.0.0.1
# 從檔案讀取測試案例
grex --file test-cases.txt
# 產生通用模式(更寬鬆)
grex --universal 2024-01-15 2024-02-20 2024-03-25
實際場景: 當你需要驗證使用者輸入、剖析日誌檔案或提取特定格式的資料時,grex 可以快速產生可靠且正確的正規表示式,避免手動編寫錯誤。
專案位址: https://github.com/pemistahl/grex
總結對比
| 工具 | 主要用途 | 安裝難度 | 學習曲線 |
|---|---|---|---|
| gping | 網路監控 | ⭐ | ⭐ |
| croc | 檔案傳輸 | ⭐ | ⭐ |
| dasel | 資料查詢 | ⭐⭐ | ⭐⭐ |
| qsv | CSV 處理 | ⭐⭐ | ⭐⭐⭐ |
| grex | 正規表示式產生 | ⭐ | ⭐ |
為什麼選擇這些工具?
- 開源免費 - 所有工具都是開源的,可以自由使用和貢獻
- 跨平台 - 支援 Linux、macOS、Windows
- 活躍維護 - 專案持續更新,社群活躍
- 解決實際問題 - 每個工具都針對開發中的具體痛點
- 效能優秀 - 大多使用 Rust/Go 編寫,速度快
開始使用
建議從 gping 和 croc 開始,它們最容易上手且立竿見影。熟悉後可以嘗試更強大的 dasel 和 qsv 來處理複雜的資料任務。
這些工具已經整合到我的日常工作流程中,顯著提升了效率。希望它們也能幫助你提升命令列工作效率!
參考資料:
