高頻CLI工具推薦(二):如何提高生產(chǎn)力?
2021-06-30
點擊上方的“ ”,選擇設(shè)置為“Set as Star”
優(yōu)質(zhì)文章,即時送達!
作者根據(jù)多年的終端經(jīng)驗,詳細(xì)介紹了一些實用的CLI工具,希望能幫助讀者提高工作效率。
我大部分時間都在使用終端。我覺得有必要給大家推薦一個更好的終端工具。首先,為每個人列出一個推薦清單,如下所示。
高頻CLI工具推薦
1 條魚
-毫無疑問,在終端中,它是最常用、最重要的工具。過去我用的是 Bash 和 Z,但現(xiàn)在我用的是 Fish。這是一款出色的終端工具,具有許多開箱即用的功能,例如自動語法推薦和完成、語法突出顯示或使用快捷鍵在最近訪問的文件夾之間來回切換。
一方面,它非常適合初學(xué)者,因為用戶不需要進行任何設(shè)置。另一方面,由于其使用的腳本語法與其他腳本不同,通常用戶無法直接粘貼從網(wǎng)上復(fù)制的腳本。您必須將不兼容的命令更改為合法的 Fish 腳本,或者啟動 Bash 會話以運行 Bash 腳本。
#-
我可以理解這種變化背后的原因(畢竟 Bash 腳本不是一種用戶友好的語言),但是這種不兼容并沒有給我?guī)砣魏魏锰?。我很少?Bash/Fish 腳本,所以我經(jīng)常忘記這些語法,所以每次我想使用這些腳本時,我總是要從頭開始重新學(xué)習(xí)。與 Bash 腳本相比,F(xiàn)ish 腳本的資源相對較少。我一般不會看文檔重新發(fā)明輪子,而是復(fù)制粘貼現(xiàn)成的腳本并使用。
雖然前面提到了Fish的幾個缺點,但還是推薦大家使用。因為切換工具非常簡單,值得你一試。尤其是當(dāng)你懶得自己配置,又希望用最少的配置獲得好的使用效果時,那就不要錯過了。
魚插件
您可以自己添加相關(guān)插件來擴展Fish的功能。安裝插件最簡單的方法是使用插件管理工具,例如 Oh My Fish 或?,F(xiàn)在,我使用的插件管理工具是,我用它來安裝和管理三個插件:
/done-在長時間運行的腳本完成時發(fā)送通知。
/fish---一個自動補全(線工具)命令的插件。
fzf-一個將 fzf 工具與 Fish 集成的插件。
以前用過很多插件(比如,,,, fzf, z),但是為了避免影響我的運行速度,我改用其他工具了(這是我在z中使用的一個教訓(xùn)過去)。
下載鏈接:
2
如果您必須從本文中選擇我最喜歡的終端工具之一 - 它必須是??梢詰?yīng)用于任何。你只需要安裝它,然后在對應(yīng)的配置文件././.fish中添加一行配置,剩下的交給它來完成。
它可以:
還有無數(shù)其他信息要顯示。但是,它可以以更友好的形式智能地呈現(xiàn)給您!例如,如果您不在 git 存儲庫中,它將隱藏 git 信息。如果你不在項目中,就不會有版本信息,因為顯示沒有意義。絕不會顯示冗余信息,始終保持終端的美觀、優(yōu)雅、簡潔。
運行速度怎么樣?它是用 Rust 編寫的,盡管有這么多功能,但它仍然比我以前使用過的所有工具提示都要快!我對提示信息很干凈,所以我經(jīng)常破解自己的版本。我會根據(jù)已有的提示找到對應(yīng)的功能代碼,然后將它們粘在一起,確保只有我需要的功能才能讓它快速運行。 “外部工具永遠(yuǎn)不會比我精心制作的工具提示更快!”這就是我懷疑的原因。
下載鏈接:
3 z
"z" 允許您在文件目錄之間快速跳轉(zhuǎn)。它會記住您訪問過的歷史文件夾。經(jīng)過短暫的學(xué)習(xí),您可以使用 z ame 命令在目錄之間跳轉(zhuǎn)。
比如,如果我經(jīng)常訪問~/work/src/,我只需要運行z pro,我就可以立即跳轉(zhuǎn)到那里。 z的原理是指算法——一種基于統(tǒng)計和分析的算法。如果它存儲了您不想使用的路徑文件夾,您可以隨時手動刪除它。它提高了我經(jīng)常使用的不同文件路徑之間頻繁切換的效率,并為我節(jié)省了鍵盤擊鍵次數(shù)和大量路徑內(nèi)存。
下載鏈接:
4 fzf
fzf—,模糊查找器。它是一個通用工具,允許您使用模糊搜索來查找文件、歷史命令、進程、git 提交等。您鍵入一些字母,它會嘗試匹配結(jié)果列表中的任何字母。輸入的字母越多,結(jié)果就越準(zhǔn)確。你在其他代碼編輯器中可能有這種搜索體驗——當(dāng)你想打開一個文件時,只需輸入部分文件名即可搜索,無需輸入完整路徑——這就是模糊搜索。
我通過fish fzf插件使用它,所以我可以搜索命令歷史或快速打開文件。這是一個很棒的工具,可以每天為我節(jié)省大量時間。
下載鏈接:
5 fd
上面的動畫是find命令(左)和fd命令(右)的使用對比。
類似于系統(tǒng)自帶的find命令,但使用更簡單,查找速度更快,默認(rèn)設(shè)置好。
無論您想查找名為“”的文件,但不確定文件擴展名,您都應(yīng)該找到一個存儲所有這些文件的目錄,而不僅僅是一個文件。您可以卷起袖子開始為 find 命令編寫復(fù)雜的正則表達式,也可以直接從命令行運行 fd。反正對我來說,我只選擇最簡單的。
默認(rèn)情況下,fd 會忽略列出的隱藏文件和目錄。大多數(shù)時候,這是我們想要的,但在少數(shù)特殊情況下,如果您需要禁用此功能,我會為命令設(shè)置別名: fda='fd -IH'。
你會發(fā)現(xiàn)fd命令輸出的顏色配置非常漂亮,而且根據(jù)基準(zhǔn)測試(上面的GIF),它的執(zhí)行速度甚至比find命令還要快。
下載鏈接:
6
上圖是grep(左)和rg(右)命令執(zhí)行時的對比。
與上面的fd命令類似,是grep命令的替代,但是執(zhí)行速度更快,并且有完善的默認(rèn)配置和豐富的色彩輸出。
它也會跳過忽略和隱藏的文件軟件編程工具,所以如果有特殊需要,我們可以設(shè)置命令別名:rga ='rg -uuu'。它將禁用所有智能過濾并使性能與標(biāo)準(zhǔn) grep 命令保持一致。
下載鏈接:
7 htop 和
Mac上最常用的顯示進程運行狀態(tài)信息的工具就是大家熟悉的top了,是每個系統(tǒng)管理員的好幫手。而且,即使你像我一樣主要從事網(wǎng)絡(luò)開發(fā),查看電腦的運行狀態(tài)也是很有用的。您知道,只需查看當(dāng)前進程或占用您所有 RAM 的進程。你應(yīng)該怎么做?
htop 工具是 top 工具的絕佳替代品。
top工具是一個很基礎(chǔ)的監(jiān)控工具,功能有限,所以很多人轉(zhuǎn)用htop。與top相比,htop優(yōu)勢明顯——除了功能更全,配色也非常豐富,整體來說更加人性化。
借助該工具,您還可以一目了然地快速了解系統(tǒng)的當(dāng)前狀態(tài)。
是htop的補充工具。除了列出所有進程及其 CPU 和內(nèi)存使用情況外,它還可以顯示有關(guān)系統(tǒng)的其他信息,例如:
我選擇使用htop來過濾和終止進程,因為對我來說效率提升了很多,而且我也可以用它來快速瀏覽電腦的運行狀態(tài)。提供API接口、Web UI,支持多種導(dǎo)出格式,讓系統(tǒng)監(jiān)控更上一層樓。因此我強烈推薦這里的波浪!
htop 下載鏈接:
下載鏈接:
8 和
是用于在(我更喜歡內(nèi)置的 venv 模塊)中創(chuàng)建虛擬環(huán)境的工具。
是 Fish 的虛擬環(huán)境管理器(如果您不使用 Fish,請查看 )。它提供了許多命令來執(zhí)行快速創(chuàng)建、列出或刪除虛擬環(huán)境等操作。
下載鏈接:
下載鏈接:
9 和
您可以輕松地在版本之間切換。
,是用于管理計算機上不同版本的 Node 和 Ruby 的工具。
假設(shè)您要在計算機上安裝兩個版本。例如,您正在處理兩個不同的項目,或者由于特殊情況仍然需要使用。計算機上不同版本的管理很復(fù)雜。需要保證不同的項目有正確版本的軟件依賴包。一不小心,很容易把這個脆弱的配置搞亂,被其他軟件包使用的二進制文件覆蓋。
這個工具為版本管理提供了很多幫助,讓這個噩夢更容易管理??梢匀只颉鞍次募A”切換版本,每個版本相互隔離。
最近發(fā)現(xiàn)了一個叫做asdf的工具,可以統(tǒng)一管理,和其他envs。它為幾乎所有的編程語言提供版本管理。下次我需要為編程語言設(shè)置版本管理器時,我一定會嘗試。
下載鏈接:
下載鏈接:
下載鏈接:
10 點像素
解決了很多包管理的問題,但還是有辦法解決的。如果我想在全局環(huán)境中安裝包(例如,它是一個獨立的工具,如上所述),那么我會遇到全局安裝導(dǎo)致的問題。在虛擬環(huán)境之外安裝軟件包不是一個好主意,將來可能會導(dǎo)致意外問題。另一方面,如果我決定使用虛擬環(huán)境,則每次要運行程序時都需要激活虛擬環(huán)境。這也不是最方便的解決方案。
事實證明,pipx工具可以解決上述問題。它將軟件依賴包安裝到單獨的環(huán)境中(因此不會出現(xiàn)依賴沖突的問題)。同時,這些工具提供的 CLI 命令也可以在全局環(huán)境中使用。因此,我不需要激活任何環(huán)境-pipx 會為我做這件事!
如果你想進一步了解這些工具并想了解如何使用它們,我為 2020 年會議制作了一個名為“現(xiàn)代開發(fā)者工具包”的視頻。
這是一個兩小時的視頻教程,內(nèi)容涉及如何設(shè)置開發(fā)環(huán)境、要使用的工具以及如何從頭開始制作 TODO 應(yīng)用程序(包括測試和文檔)。你可以看。
pipx 下載鏈接:
11 ctop 和
Ctop的實時監(jiān)控示例
這兩個工具在您使用和監(jiān)控時會非常有用。 ctop 是容器的頂層接口。它可以為您做到:
這比試圖從 ps 命令中查找所有這些信息要方便得多。
?
是我最喜歡的工具
如果你覺得ctop很酷,請先嘗試再做決定!它是一個非常成熟的工具,帶有終端UI界面,并提供了非常豐富的管理功能。這是我最喜歡的管理工具!
ctop 下載鏈接:
下載鏈接:
推薦的低頻 CLI 工具
除了我?guī)缀趺刻於荚谑褂玫墓ぞ咧猓@些年來我還收集了一些很棒的工具,它們對于某些特定需求非常有用。例如軟件編程工具,一些終端工具可以用來將終端操作記錄到GIF中(并允許你在GIF中暫停和復(fù)制文本!),而其他終端工具可以用來列出目錄結(jié)構(gòu)、連接數(shù)據(jù)庫等。一介紹。
12
如果你用的是Mac,那我就不用再介紹了。它是業(yè)界普遍認(rèn)可的包管理器。順便說一句,它還有一個GUI版軟件叫,有興趣的可以試試。
下載鏈接:
13
是一種可用于記錄終端會話的工具。但是,與錄制 GIF 不同的是,它允許用戶選擇和復(fù)制這些錄制內(nèi)容中的代碼!
這對于錄制編碼教程非常有用。你應(yīng)該會遇到那種尷尬的情況——當(dāng)你準(zhǔn)備按照視頻教程在終端輸入一個巨大的命令時,但是講師沒有給你提供這段代碼片段,你要花很長時間整理這些長命令。錄制的內(nèi)容支持直接復(fù)制,功能非常強大。
下載鏈接:
14 和 diff-so-
我很少在終端使用diff操作(比較兩個文件的區(qū)別),但是如果需要進行這個操作,可以放棄使用diff命令而使用。輸出可以高亮顯示,這樣查看文件差異內(nèi)容更方便,而不是在diff命令輸出內(nèi)容下查看所有""符號比較文件差異。
如果你覺得還不夠,那我向你推薦diff-so-。是比較友好的差異比較工具。
它通過以下方式進一步改善了文件內(nèi)容差異顯示的外觀:
下載鏈接:
diff-so- 下載鏈接:
15 棵樹
您可以通過 brew 樹安裝該工具。如果要查看給定目錄的內(nèi)容,那么樹是執(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 蝙蝠
類似于終端常用的cat命令,用于顯示文件內(nèi)容,但bat效果更好。
增加了語法高亮、git標(biāo)簽(如果有)、自動分頁(如果文件大)等,讓輸出內(nèi)容更易讀。
bat下載鏈接: