作為開發人員,我們花了很多時間在終端上。有很多有用的 CLI 工具,它們可以讓你在工作中更輕松、更快捷、更有趣。
這篇文章推薦50 CLI 工具,沒有一一嘗試,不過試了幾個,均覺得不錯,即提效又可以裝X。當然如果還有好用的CLI - 可以在評論區補充:)
實用性
thefuck- 自動更正錯誤鍵入的命令
thefuck`是那些一旦你嘗試過就無法沒有的實用程式之一。每當你輸入錯誤命令並出現錯誤時,只需執行它,它就會自動更正它。使用向上/向下選擇更正,或者只是執行以立即執行最有可能的更正。`fuck``fuck --yeah
GIF動圖
安裝
bash復制程式碼# MacOS (via Homebrew)brew install thefuck# Arch Linuxsudo pacman -S thefuck# FreeBSDpkg install thefuck
zoxide- 輕松導航 (更好的 cd)
z`允許你跳轉到任何目錄,而無需記住或指定其完整路徑。它會記住你存取過的目錄,因此你可以快速跳轉 - 你甚至不需要輸入完整的資料夾名稱。它還具有互動式選擇選項,因此你可以即時過濾目錄結果`fzf
GIF動圖
安裝
bash復制程式碼# MacOS (via Homebrew)brew install zoxide# Arch Linuxsudo pacman -S zoxide# Debian / Ubuntusudo apt install zoxide# FreeBSDpkg install zoxide# Other (via Rust Creates)cargo install zoxide --locked
tldr- 社群維護的文件 (更好的man)
tldr 是社群維護的大量手冊頁。與傳統的手冊頁不同,它們經過總結,包含有用的使用範例,並且顏色精美,便於閱讀
GIF動圖
安裝
bash復制程式碼# MacOS (via Homebrew)brew install tldr# Other (via NPM)npm install -g tldr
scc- 計算程式碼行數 (更好的 cloc)
scc 為你提供以每種語言為特定目錄編寫的程式碼行數的明細。它還顯示了一些有趣的統計數據,例如估計的開發成本和復雜性資訊。它的速度非常快,非常準確,並且支持多種語言
安裝
bash復制程式碼# MacOS (via Homebrew)brew install scc# Other (via go)go install github.com/boyter/scc/v3@latest
exa- 列出檔 (更好的 ls)
exa`是基於 Rust 的命令的現代替代品,用於列出檔。它可以顯示檔型別圖示、顏色、檔/資料夾資訊,並具有多種輸出格式 - 樹、網格或列表`ls
安裝
bash復制程式碼# MacOS (via Homebrew)brew install exa# Arch Linuxsudo pacman -S exa# Debian / Ubuntusudo apt install exa
duf- 磁盤使用情況 (更好的 df)
duf 非常適合顯示有關已裝載磁盤的資訊和檢查可用空間。它產生清晰多彩的輸出,並包括用於排序和自訂結果的選項。
安裝
bash復制程式碼# MacOS (via Homebrew)brew install duf# Arch Linuxsudo pacman -S duf# Debian / Ubuntusudo apt install duf# FreeBSDpkg install duf
aria2- 下載實用程式 (更好的 wget)
aria2 是一個輕量級、多協定、恢復下載實用程式,適用於 HTTP/HTTPS、FTP、SFTP、BitTorrent 和 Metalink,支持透過 RPC 介面進行控制。它的功能非常豐富,並且有很多選擇。還有 ziahamza/webui-aria2 - 一個不錯的 Web 界面伴侶。
安裝
bash復制程式碼# MacOS (via Homebrew)brew install aria2# Arch Linuxsudo pacman -S aria2# Debian / Ubuntusudo apt install aria2
bat- 讀取檔 (更好的cat)
bat`是具有語法高亮和 git 整合的複制。它是用 Rust 編寫的,效能非常高,並且有幾個用於自訂輸出和主題的選項。支持自動管道和檔串聯`cat
安裝
bash復制程式碼# MacOS (via Homebrew)brew install bat# Arch Linuxsudo pacman -S bat# Debian / Ubuntusudo apt install bat
diff-so-fancy- 檔比較 (更好的diff)
diff-so-fancy 為你提供更美觀的差異,用於比較字串、檔、目錄和 git 更改。更改突出顯示使發現更改變得更加容易,並且你可以自訂輸出布局和顏色
安裝
bash復制程式碼# MacOS (via Homebrew)brew install diff-so-fancy# Arch Linuxsudo pacman -S diff-so-fancy# Debian / Ubuntusudo apt install diff-so-fancy
entr- 監控變化
entr 允許你在檔更改時執行任意命令。你可以傳遞檔、目錄、符號連結或正規表式來指定它應該監視哪些檔。它對於自動重建計畫、對日誌做出反應、自動化測試等非常有用。與類似的計畫不同,它使用 kqueue(2) 或 inotify(7) 來避免輪詢,並提高效能
安裝
bash復制程式碼# MacOS (via Homebrew)brew install entr# Arch Linuxsudo pacman -S entr# Debian / Ubuntusudo apt install entr
exiftool- 讀取 + 寫入後設資料
ExifTool 是用於讀取、寫入、剝離和建立各種檔型別的元資訊的便捷實用程式。再也不會在分享照片時意外泄露你的位置!
fdupes- 重復檔尋找器
jdupes 用於辨識和/或刪除指定目錄中的重復檔。當你有兩個或多個相同的檔時,它對於釋放磁盤空間很有用
fzf- 模糊檔尋找器 (更好地find)
fzf 是一個非常強大且易於使用的模糊檔尋找器和過濾工具。它允許你跨檔搜尋字串或模式。fzf 還為大多數 shell 和 IDE 提供了外掛程式,用於在搜尋時顯示即時結果。亞歷克賽·薩莫什金(Alexey Samoshkin)的這篇文章重點介紹了它的一些用例。
GIF動圖
安裝
bash復制程式碼# MacOS (via Homebrew)brew install fzf# Arch Linuxsudo pacman -S fzf# Debian / Ubuntusudo apt install fzf
hyperfine- 命令基準測試
hyperfine 可以輕松準確地對任意命令或指令碼進行基準測試和比較。它負責預熱執行,清除緩存以獲得準確的結果,並防止來自其他程式的幹擾。它還可以將結果匯出為原始數據並生成圖表。
安裝
bash復制程式碼# MacOS (via Homebrew)brew install hyperfine# Arch Linuxsudo pacman -S hyperfine# Debian / Ubuntusudo apt install hyperfine
just- 現代命令執行器 (更好的make)
just`與類似,但有一些不錯的補充。它允許你將計畫命令組合到副本中,這些副本可以輕松列出和執行。支持別名、位置參數、不同的 shell、點環境整合、字串插入以及你可能需要的幾乎所有其他內容`make
安裝
bash復制程式碼# MacOS (via Homebrew)brew install just# Arch Linuxsudo pacman -S just# Debian / Ubuntusudo apt install just
jq- JSON 處理器
jq`就像 ,但對於 JSON - 你可以使用它輕松對結構化數據進行切片、過濾、對映和轉換。它可用於編寫復雜的查詢來提取或操作 JSON 數據。還有一個 [jq playground](https://link.juejin.cn?target=https://jqplay.org/),你可以使用它來試用它,或者根據即時反饋制定查詢`sed
most- 多視窗捲動分頁器 (最好的less)
most`是一個尋呼機,用於讀取長檔或命令輸出。 支持多視窗,並可選擇不換行文本`most
procs- 行程檢視器 (更好的 ps)
procs 是一個易於導航的流程檢視器,它具有彩色突出顯示功能,使流程的排序和搜尋變得容易,具有樹檢視和即時更新
GIF動圖
rip- 刪除工具 (更好的 rm)
rip 是一種安全、符合人體工程學且高效能的刪除工具。它可以讓你直觀地刪除檔和目錄,並輕松恢復已刪除的檔
GIF動圖
ripgrep- 在檔中搜尋 (更好的 grep)
ripgrep`是一個面向行的搜尋工具,它以遞迴方式在當前目錄中搜尋正規表式模式。它可以忽略二進制檔的內容並跳過二進制檔。它能夠在壓縮檔案中搜尋,或僅搜尋特定的副檔名,並使用各種編碼方法理解檔`.gitignore
rsync- 快速、增量的檔傳輸
rsync 允許你在本地復制大檔,或者從遠端主機或外部驅動器復制大檔。它可用於保持多個位置的檔同步,非常適合建立、更新和恢復備份
sd- 尋找和替換 (更好的 sed)
sd 是一個簡單、快速和直觀的尋找和替換工具,基於字串文字。它可以在檔、整個目錄或任何管道文本上執行
tre- 目錄階層 (更好的tree)
tre`輸出當前目錄或指定目錄的檔的樹狀列表,並帶有顏色。使用該選項執行時,它會對每個計畫進行編號,並建立一個臨時別名,你可以使用該別名快速跳轉到該位置`-e
xsel- 存取剪貼簿
xsel 讓你透過命令列讀取和寫入 X 選擇剪貼簿。它可用於將命令輸出透過管道傳遞到剪貼簿,或將復制的數據傳遞到命令中
CLI 監控和效能應用程式
bandwhich- 頻寬利用率監視器
即時顯示頻寬使用情況、連線資訊、傳出主機和 DNS 查詢
ctop- 容器指標和監控
類似於 ,但用於監控正在執行(Docker 和 runC)容器的資源使用情況。它顯示即時 CPU、記憶體和網路頻寬,以及每個容器的名稱、狀態和 ID。還有一個內建的日誌檢視器,以及用於管理(停止、啟動、執行等)容器的選項 top
GIF動圖
bpytop- 資源監控 (更好的 htop)
bpytop 是一個快速、互動式、視覺化的資源監視器。它顯示排名靠前的行程、最近的 CPU、記憶體、磁盤和網路歷史記錄。在界面中,你可以導航、排序和搜尋 - 還支持自訂顏色主題
GIF動圖
glances- 資源監視器 + Web 和 API
glances 是另一個資源監視器,但具有不同的功能集。它包括一個完全響應的 Web 檢視、一個 REST API 和歷史監控。它易於擴充套件,並且可以與其他服務整合
GIF動圖
gping- 互動式 ping 工具 (更好的 ping)
gping`可以在多個主機上執行 ping 測試,同時在即時圖表中顯示結果。當與標誌一起使用時,它還可用於監視執行時間`--cmd
GIF動圖
dua-cli- 磁盤使用率分析器和監控器(更好du)
dua-cli 透過互動方式,你可以檢視每個已裝載驅動器的已用磁盤空間和可用磁盤空間,並輕松釋放儲存空間
GIF動圖
speedtest-cli- 命令列速度測試實用程式
speedtest-cli 只需透過 speedtest.net 執行互聯網速度測試 - 但直接從終端:)
GIF動圖
dog- DNS尋找客戶端 (更好的dig)
dog 是一個易於使用的DNS尋找客戶端,支持DoT和DoH,顏色精美的輸出和發出JSON的選項
CLI 生產力應用程式
上網沖浪、播放音樂、檢視電子信件、管理行事曆、閱讀新聞等等,所有這些都無需離開終端!
browsh- CLI Web 瀏覽器
browsh 是一個完全互動式、即時和現代的基於文本的瀏覽器,呈現給 TTY 和瀏覽器。它支持滑鼠和鍵盤導航,對於純粹基於終端的應用程式來說,功能非常豐富。它還可以緩解困擾現代瀏覽器的電池消耗問題,並且透過對 MoSH 的支持,由於頻寬減少,你可以體驗到更快的載入時間
GIF動圖
buku- 書簽管理器
buku 是一個基於終端的書簽管理器,具有大量的配置、儲存和使用選項。還有一個可選的 Web UI 和瀏覽器外掛程式,用於在終端外存取你的書簽
cmus- 音樂瀏覽器/播放器
cmus 是終端音樂播放器,透過鍵盤快捷鍵控制。它支持多種音訊格式和編解碼器,並允許將曲目組織到播放列表中並套用播放設定
cointop- 跟蹤加密貨幣價格
cointop`顯示當前的加密貨幣價格,並跟蹤你投資組合的價格歷史。支持價格警報、歷史圖表、貨幣轉換、模糊搜尋等等。你可以透過 [Web 上的 cointop.sh](https://link.juejin.cn?target=https://cointop.sh/) 或執行`ssh cointop.sh
ddgr- 從終端搜尋網路
ddgr 就像谷歌員工一樣,但對於 DuckDuckGo。它快速、幹凈、簡單,支持即時答案、搜尋完成、搜尋劉海和高級搜尋。預設情況下,它尊重你的私密,並且還具有 HTTPS 代理支持,並與 Tor 配合使用
micro- 程式碼編輯器 (更好的 nano)
micro`是一個易於使用、快速且可延伸的程式碼編輯器,支持滑鼠。由於它被打包到一個二進制檔中,因此安裝非常簡單`curl https://getmic.ro | bash
khal- 行事曆客戶端
khal 是一個終端行事曆應用程式,可顯示即將發生的事件、月份和議程檢視。你可以將其與任何 CalDAV 行事曆同步,並直接添加、編輯和刪除事件
mutt- 電子信件客戶端
mut 是一個經典的,基於終端的信件客戶端,用於發送、閱讀和管理電子信件。它支持所有主流電子信件協定和信箱格式,允許附件、密件抄送/抄送、執行緒、信件列表和傳遞狀態通知
newsboat- RSS / ATOM新聞閱讀器
newsboat 是一個RSS提要閱讀器和聚合器,用於直接從終端閱讀新聞,部落格和關註更新
rclone- 管理雲端儲存
rclone 是一個方便的實用程式,用於將檔和資料夾同步到各種雲端儲存提供商。它可以直接從命令列呼叫,也可以輕松整合到指令碼中,以替代繁重的桌面同步應用程式
taskwarrior- 待辦事項 + 任務管理
task 是一個 CLI 任務管理/待辦事項應用程式。它既簡單又不顯眼,而且功能強大且可延伸,內建了高級組織和查詢功能。還有很多(700+!)額外的外掛程式,用於擴充套件其功能並與第三方服務整合
tuir- Reddit 的終端 UI
tuir 如果你想在實際瀏覽 Reddit 時看起來像在工作,那麽這是一個很好的選擇!它具有直觀的鍵繫結、自訂主題,也可以渲染影像和多媒體內容。還有黑客新聞的haxor
CLI 開發套裝
httpie- HTTP/API 測試測試客戶端
httpie 是一個 HTTP 客戶端,用於測試、偵錯和使用 API。它支持你所期望的一切 - HTTPS、代理、身份驗證、自訂檔頭、持久會話、JSON 解析。用法簡單,具有富有表現力的語法和彩色輸出。與其他 HTTP 客戶端(Postman、Hopscotch、Insomnia 等)一樣,HTTPie 也包括一個 Web UI
lazydocker- 完整的 Docker 管理應用程式
lazydocker 是一個 Docker 管理應用程式,可讓你檢視所有容器和映像、管理其狀態、讀取日誌、檢查資源使用情況、重新啟動/重建、分析層、修剪未使用的容器、映像和卷等等。它使你無需記住、鍵入和連結多個 Docker 命令。
lazygit - 完整的 Git管理應用程式
lazygit 是一個可視的 Git 客戶端,在命令列上。輕松添加、送出和提取檔、解決沖突、比較差異、管理日誌以及執行壓縮和倒帶等復雜操作。所有內容、顏色都有鍵繫結,並且易於配置和擴充套件
kdash- Kubernetes 儀表板應用程式
kdash 是一款多合一的 Kubernetes 管理工具。檢視節點指標、監視資源、流式傳輸容器日誌、分析上下文以及管理節點、Pod 和名稱空間
gdp-dashboard- 視覺化 GDP 偵錯程式
gdp-dashboard 向 GNU 偵錯程式添加一個可視元素,用於偵錯 C 和 C++ 程式。輕松分析記憶體、單步執行斷點和檢視寄存器
CLI 外部服務
ngrok- 用於共享本地主機的反向代理
ngrok safely* 將你的本地主機暴露在唯一 URL 後面的 Internet 中。這樣一來,你就可以與遠端同事即時共享你正在處理的工作。使用非常簡單,但它也具有許多高級功能,例如身份驗證、Webhook、防火墻、流量檢查、自訂/通配符域等等
tmate- 透過互聯網共享終端會話
tmate 讓你立即與世界其他地方的人共享即時終端會話。它可以跨不同的系統工作,支持存取控制/身份驗證,可以自托管,並具有 Tmux 的所有功能
asciinema- 錄制 + 共享終端會話
asciinema 對於輕松錄制、共享和嵌入終端會話非常有用。非常適合展示你構建的內容,或展示教程的命令列步驟。與螢幕擷取視訊不同,使用者可以復制貼上內容、即時更改主題並控制播放
navi- 互動式備忘單
navi 允許你瀏覽備忘單並執行命令。參數的建議值動態顯示在列表中。減少打字,減少錯誤,使自己不必記住數千條命令。它與 tldr 和 cheat.sh 整合以獲取內容,但你也可以匯入其他備忘單,甚至編寫自己的備忘單
transfer.sh- 快速檔共享
transfer`使直接從命令列上傳和共享檔變得非常容易。它是免費的,支持加密,為你提供唯一的 URL,也可以自托管。
我編寫了一個 Bash 輔助函式來簡化使用,你可以[在此處找到它](https://link.juejin.cn?target=https://github.com/Lissy93/dotfiles/blob/master/utils/transfer.sh)或透過執行`bash <(curl -L -s https://alicia.url.lol/transfer)
surge- 秒級部署站點
surge`是一個免費的靜態托管提供商,你可以透過一個命令直接從終端部署到它,只需從你的目錄中執行即可!它支持自訂域、自動 SSL 證書、pushState 支持、跨域資源支持 - 而且是免費的!`surge``dist
wttr.in- 檢視天氣
wttr.in`是一種以命令列中易於理解的格式顯示天氣的服務。只需執行或嘗試一下。有 URL 參數可以自訂返回的數據以及格式`curl wttr.in``curl wttr.in/London
CLI 樂趣
cowsay- 讓 ASCII 奶牛說出你的資訊
cowsay 是一頭可配置的會說話的牛。它改編自東尼·夢露的原作
figlet- 將文本輸出為大 ASCII 藝術文本
figlet 將文本輸出為 ASCII 圖稿
lolcat- 使控制台輸出 raibow 著色
lolcat 使傳遞給它的任何文本都呈現彩虹色
neofetch- 顯示系統數據和 ditstro 資訊
neofetch 打印發行版和系統資訊(因此你可以在 r/unixporn 上靈活使用 Arch)
例如,我使用 、 和 建立一個自訂的基於時間的 MODD,在使用者首次登入時顯示給使用者。它透過他們的名字問候他們,顯示伺服器資訊和時間、日期、天氣和 IP。這是原始碼。 cowsay``figlet``lolcat``neofetch
作者:前端晚間課 連結:https://juejin.cn/post/7314507576438718505