推荐的这22个高频 CLI 工具,确定不收藏吗?
?????
程序員在從事開發(fā)的時候,使用終端CLI工具是必不可少的,終端CLI工具往往是生產(chǎn)力工具,為大家推薦一些有用的終端工具,建議清單如下。
請點擊輸入圖片描述(最多18字)
高頻 CLI 工具推薦
1、fish shell
毫無疑問,在終端工具中,Shell是使用頻率最高、最重要的工具。以前我用的是Bash和Z Shell,但是現(xiàn)在,這個Fish Shell也是一個優(yōu)秀的終端Shell工具,有很多開箱即用的功能,比如自動語法推薦和補全、語法高亮或者用快捷鍵在最近訪問過的文件夾之間來回切換。
2、Starship
如果要我從這篇文章中選擇一個我最喜歡的終端工具——那就是Starship。星艦可以適用于任何貝殼。您只需要安裝它,然后將一行配置添加到相應(yīng)的配置文件中.bashrc/.zshrc/config.fish添加一行配置,剩下的工作交給它來完成就好了。
它可以做到:
-
根據(jù)您是否添加新文件、修改文件、臨時存儲文件等。在代碼倉庫中,使用相應(yīng)的符號來表示git倉庫的狀態(tài)。
-
根據(jù)您的Python項目目錄顯示Python版本號,這也適用于其他編程語言環(huán)境,如Go/Node/Rust/Elm。
-
顯示最后一個命令執(zhí)行所用的時間,指令運行時間必須以毫秒為單位。
-
如果最后一個命令執(zhí)行失敗,將顯示相應(yīng)的錯誤提示。
還有無數(shù)其他信息可以展示。然而,它能以更友好的形式智能地呈現(xiàn)給你!例如,如果您不在git存儲庫中,它將隱藏git信息。如果您不在Python項目中,將不會有Python版本信息,因為顯示它沒有意義。它永遠不會向你展示多余的信息,永遠保持終端美觀、優(yōu)雅、簡潔。
3、z
“z” 可以讓你快速地在文件目錄之間跳轉(zhuǎn)。它會記住你訪問的歷史文件夾,經(jīng)過短暫的學(xué)習(xí)后,你就可以使用z path_of_the_folder_name命令在目錄之間跳轉(zhuǎn)了。
比如,如果我經(jīng)常訪問 ~/work/src/projects,我只需要運行 z pro ,就可以立馬跳轉(zhuǎn)到那里。z 的原理參考了 frecency 算法——一個基于統(tǒng)計 frequency 和 recency 進行分析的算法。如果它存儲了您不想使用的路徑文件夾,您可以隨時手動刪除它。它提高了在不同常用文件路徑之間頻繁切換的效率,幫助我節(jié)省了擊鍵次數(shù)和大量的路徑內(nèi)存。
4、fzf
fzf — fuzzy finder,也就是模糊查找器。它是一個通用工具,允許你使用模糊搜索來查找文件、歷史命令、進程、git提交等。如果您鍵入一些字母,它將嘗試匹配結(jié)果列表中的任何字母。輸入的字母越多,結(jié)果就越準(zhǔn)確。
5、fd
類似于系統(tǒng)附帶的find命令,但使用更簡單,查找更快,并且具有良好的默認(rèn)設(shè)置。
例如,如果你想找到一個名為“invoice”的文件,但你不確定文件的擴展名,你應(yīng)該找到一個目錄來存儲所有的發(fā)票,而不僅僅是一個文件。您可以卷起袖子,開始為find命令編寫復(fù)雜的正則表達式,也可以直接從命令行運行fd invoice。
默認(rèn)情況下,fd 會忽略隱藏的以及在.gitignore列出的文件和目錄。大多數(shù)情況下,這是我們想要的,但在極少數(shù)情況下,如果我們需要禁用此功能,我會給命令取一個別名:fda='fd -IH '。
?
你會發(fā)現(xiàn)fd命令輸出的顏色配置很漂亮,根據(jù)基準(zhǔn)測試(上述GIF),它的執(zhí)行速度甚至比find命令還要快。
6、ripgrep
與上述fd指令類似,ripgrep是grep命令的替代方法, 不過ripgrep的執(zhí)行速度更快,而且具有健全的默認(rèn)配置以及豐富的彩色輸出。
7、htop 和 glances
在Linux或Mac上顯示進程運行狀態(tài)信息最常用工具是熟悉的top,它是每個系統(tǒng)管理員的好幫手。
htop工具是top工具的絕佳替代品。
Top tool是一個非常基礎(chǔ)的監(jiān)控工具,功能有限,所以很多人求助于htop。與top相比,h top有著明顯的優(yōu)勢——除了功能更加完善之外,配色也更加豐富,整體使用起來也更加友好。
借助 glances,還可以讓你一目了然地快速了解系統(tǒng)當(dāng)前狀態(tài)。
glances 是htop的補充工具。除了列出所有進程及其CPU和內(nèi)存使用情況之外,它還可以顯示有關(guān)系統(tǒng)的其他信息,例如:
-
網(wǎng)絡(luò)及磁盤使用情況
-
文件系統(tǒng)的已用空間和總空間
-
來自不同傳感器(如電池)的數(shù)據(jù)
-
以及最近消耗了太多資源的進程列表。
8、pyenv、nodenv 和 rbenv
pyenv 可以輕松實現(xiàn) Python 版本的切換。
Pyenv、nodenv 和 rubyenv 是用于管理計算機上不同版本的 Python、Node 和 Ruby 的工具。
假設(shè)您想在計算機上安裝兩個版本的Python。例如,您正在處理兩個不同的Python項目,或者由于特殊情況,您仍然需要使用Python2。不同的Python版本在計算機上管理起來非常復(fù)雜。您需要確保不同的項目有正確版本的軟件依賴包。如果不小心,很容易混淆這種脆弱的配置。
這個工具為版本管理提供了很多幫助,讓這個噩夢變得容易管理。它可以全局或按文件夾切換Python版本,每個版本之間是相互隔離的。
9、virtualenv 和 virtualfish
Virtualenv 是用于在 Python 中創(chuàng)建虛擬環(huán)境的工具。
VirtualFish 則是 Fish Shell 的虛擬環(huán)境管理器。它提供了許多命令來快速創(chuàng)建、列出或刪除虛擬環(huán)境。
virtualenv 下載地址:https://pypi.org/project/virtualenv/
virtualfish 下載地址:https://github.com/justinmayer/virtualfish
?10、pipx
Virtualenv解決了Python包管理中的很多問題,但是還有另外一個解決方案。如果我想在全局環(huán)境下安裝Python包(比如它是一個獨立的工具,正如前面提到的glances 工具),那么我會遇到全局安裝帶來的問題。在虛擬環(huán)境之外安裝軟件包不是一個好主意,這可能會導(dǎo)致未來出現(xiàn)意想不到的問題。另一方面,如果我決定使用虛擬環(huán)境,我需要在每次運行程序時激活虛擬環(huán)境。這不是最方便的解決辦法。
事實證明,pipx工具可以解決上述問題。它將Python軟件依賴包安裝到單獨的環(huán)境中(因此不存在依賴沖突問題)。同時,這些工具提供的CLI命令也可以在全局環(huán)境中使用。因此,我不需要激活任何環(huán)境——pipx會幫我做到這一點!
11、Homebrew
如果使用的是 Mac,那就無需再多介紹 Homebrew 了。它是 macOS 上被業(yè)界普遍認(rèn)可的軟件包管理器。
12、ctop 和 lazydocker
當(dāng)您使用Docker并對其進行監(jiān)控時,這兩個工具將非常有用。Ctop是Docker容器的頂層接口。它可以幫助你:
?
-
顯示運行和停止的容器列表。
-
顯示每個容器的統(tǒng)計信息,如內(nèi)存、CPU使用情況和其他詳細信息窗口(如綁定端口等其他信息)。
-
提供快捷菜單來快速停止、終止給定容器的進程或顯示給定容器的日志。
這比試圖從docker ps命令中找到所有這些信息要方便得多。
Lazydocker也是一個非常有用的docker工具。
Lazydocker是一個非常成熟的工具,具有終端UI界面,為管理docker提供了豐富的功能。
13、asciinema
Asciinema是一個可以用來記錄終端會話的工具。但是,與錄制GIF不同,它允許用戶選擇和復(fù)制這些錄制中的代碼!這對于錄制編碼教程非常有用。asciinema錄制的內(nèi)容支持直接復(fù)制,非常強大。
14、colordiff 和 diff-so-fancy
如果您想在終端中使用diff操作(比較兩個文件之間的差異),您可以放棄diff命令,改用colordiff。Colordiff輸出可以高亮顯示,這樣檢查文件差異的內(nèi)容就方便多了,而不是在diff命令輸出的內(nèi)容下費力的檢查所有“ <”和“>”符號來對比文件差異。
如果你認(rèn)為這還不夠,那就推薦 diff-so-fancy。它是比colordiff更友好的一個差異對比工具。
-
它通過以下方式進一步改善了文檔內(nèi)容差異顯示的外觀:
-
突出每行的不同單詞,而不是整行。
-
簡化變更文檔的標(biāo)題
-
移除+和-符號(色差顯示就足夠了)
-
明確指出新行和刪除的空行。
15、tree
可以通過brew install tree安裝該工具。如果要查看給定目錄的內(nèi)容,那么 tree 是執(zhí)行此操作的必備工具。它能以漂亮的樹狀結(jié)構(gòu)顯示所有子目錄及文件:
$?tree?. . ├──?recovery.md ├──?README.md ├──?archive ├──?automator │???├──?Open\?Iterm2.workflow │???│???└──?Contents │???│???????├──?Info.plist │???│???????├──?QuickLook │???│???????│???└──?Thumbnail.png │???│???????└──?document.wflow │???└──?Start\?Screen\?Saver.workflow ├──?brew-cask.sh?16、bat
類似于終端常用的cat命令顯示文件內(nèi)容,但bat效果更好。
它增加了語法高亮顯示,git gutter 標(biāo)記(如果適用),自動分頁(如果文件很大)等功能,并使輸出內(nèi)容更易于閱讀。
17、httpie
如果你需要發(fā)送一些HTTP請求,但是發(fā)現(xiàn)使用curl不夠直觀,可以試試httpie。這是一個非常容易使用的卷曲替換工具。合理的默認(rèn)配置和簡潔的語法讓它更容易使用,命令返回也是彩色輸出。
18、tldr
命令幫助手冊的簡化版本。
“man pages”中顯示的信息過于全面,但經(jīng)常使用tldr可以幫助您更快地找到特定信息,這才是用戶真正想要的。
19、exa
Exa是ls命令的替代命令。
它色彩豐富,還可以顯示git狀態(tài)等其他信息,自動將文件大小轉(zhuǎn)換為方便人們閱讀的單位,所有這些都保持了與ls幾乎相同的執(zhí)行速度。
20、litecli 和 pgcli
這是SQLite和PostgreSQL CLI的解決方案。在自動提示和語法突出顯示的幫助下,它們比默認(rèn)的sqlite3和psql工具好得多。
?21、mas
Mas是一個命令行界面工具,用于從應(yīng)用商店安裝軟件。
?22、ncdu
這是一個用在終端進行磁盤分析的工具,使用簡單快捷。當(dāng)你需要釋放一些硬盤空間時,你可以使用這個工具。
總結(jié)
以上是生活随笔為你收集整理的推荐的这22个高频 CLI 工具,确定不收藏吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全球首款短视频聚合应用「酱爆视频」设计横
- 下一篇: 微信小程序 是否支持webp格式图片