<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一套命令行生產(chǎn)力工具 (共 22 個)

          共 5854字,需瀏覽 12分鐘

           ·

          2021-11-17 21:18

          ??????關(guān)注我,和老表一起學(xué)Python、云服務(wù)器

          來源 |?switowski.com/blog/favorite-cli-tools

          程序員在搞開發(fā)時,終端CLI工具的使用必不可少,往往都是生產(chǎn)力工具,所以今天在此給大家推薦一下比較好用的終端工具。先給大家列個推薦清單,如下圖。

          高頻 CLI 工具推薦

          ?1、fish shell

          毋庸置疑,在終端工具中,Shell 是使用最頻繁也最重要的工具。過去,我曾經(jīng)使用過 Bash 和 Z Shell,而如今,這個Fish Shell,也是一個非常優(yōu)秀的終端 Shell 工具,擁有許多開箱即用的功能,例如語法自動推薦補全、語法高亮顯示或使用快捷鍵在最近訪問的文件夾之間來回切換。

          下載地址:https://fishshell.com/

          ?2、Starship

          如果必須要從本篇文章中選擇一個我最喜歡的終端工具——那非 Starship 莫屬。Starship 可以適用于任何 Shell。你只需要安裝它,然后在相應(yīng)的配置文件.bashrc/.zshrc/config.fish添加一行配置,剩下的工作交給它來完成就好了。

          它可以做到:

          • 根據(jù)你是否在代碼倉庫中添加了新文件、是否修改了文件、是否暫存了文件等情況,用相應(yīng)的符號表示 git 倉庫的狀態(tài)。

          • 根據(jù)你所在的 Python 項目目錄,展示 Python 的版本號,這也適用于 Go/Node/Rust/Elm 等其他編程語言環(huán)境。

          • 展示上一個命令執(zhí)行所用的時間,指令運行時間必須在毫秒級別。

          • 如果上一個命令執(zhí)行失敗,會展示相應(yīng)的錯誤提示符。

          還有不計其數(shù)的其他信息可以展示。但是,它能以更加友好的形式智能地給你呈現(xiàn)!比如,如果你不在 git 存儲庫中,它將隱藏 git 信息。如果您不在 Python 項目中,則不會有 Python 版本信息,因為顯示它沒有什么意義。它永遠不會給你展示多余信息,始終保持終端的美觀,優(yōu)雅和簡約。

          下載地址:https://starship.rs/

          ?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ù)以及大量的路徑記憶。

          下載地址:https://github.com/rupa/z

          ?4、fzf

          fzf — fuzzy finder,即模糊查找器。它是一種通用工具,可讓你使用模糊搜索來查找文件、歷史命令、進程、git 提交等。你鍵入一些字母,它會嘗試匹配結(jié)果列表中任何位置的字母。輸入的字母越多,結(jié)果也就越準(zhǔn)確。

          下載地址:https://github.com/junegunn/fzf

          ?5、fd

          上面動圖是 find 命令(左)和 fd 命令(右)的使用對比。

          類似于系統(tǒng)自帶的 find 命令,但使用起來更簡單,查找速度更快,并且具有良好的默認設(shè)置。

          比如你想找一個名為“invoice”的文件,但是不確定文件的擴展名,還是查找一個存放所有 invoice 的目錄,而不單是一個文件。你可以擼起袖子,開始為 find 命令編寫那些復(fù)雜的正則表達式,也可以直接命令行運行 fd invoice。

          默認情況下,fd 會忽略隱藏的以及在.gitignore列出的文件和目錄。大多數(shù)時候,這也是我們想要的,但是在極少數(shù)特殊情況下,如果需要禁用此功能時,我會給該命令設(shè)置一個別名:fda='fd -IH'。

          你會發(fā)現(xiàn),fd 命令輸出的顏色配置很漂亮,而且根據(jù)基準(zhǔn)測試(上述 GIF),它的執(zhí)行速度甚至比find 命令的還要快。

          下載地址:https://github.com/sharkdp/fd

          ?6、ripgrep

          上圖為 grep(左)與 rg(右)命令執(zhí)行時的對比。

          與上述fd指令類似,ripgrep是grep命令的替代方法, 不過ripgrep的執(zhí)行速度更快,而且具有健全的默認配置以及豐富的彩色輸出。

          下載地址:https://github.com/BurntSushi/ripgrep

          ?7、htop 和 glances

          在 Linux 或 Mac 上顯示進程運行狀態(tài)信息最常用工具是我們熟悉的top,它是每位系統(tǒng)管理員的好幫手。

          htop工具是top工具的絕佳替代品。

          top工具是非常基礎(chǔ)的監(jiān)控工具,提供的功能有限,因此很多人轉(zhuǎn)去使用 htop。htop比起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ù)

          • 以及最近消耗過多資源的進程列表

          htop 下載地址:https://hisham.hm/htop/
          glances 下載地址:https://nicolargo.github.io/glances/

          ?8、virtualenv 和 virtualfish

          Virtualenv 是用于在 Python 中創(chuàng)建虛擬環(huán)境的工具。

          VirtualFish 則是 Fish Shell 的虛擬環(huán)境管理器。它提供了許多命令來執(zhí)行快速創(chuàng)建、列出或刪除虛擬環(huán)境等操作。

          virtualenv 下載地址:https://pypi.org/project/virtualenv/
          virtualfish 下載地址:https://github.com/justinmayer/virtualfish

          ?9、pyenv、nodenv 和 rbenv

          pyenv 可以輕松實現(xiàn) Python 版本的切換。

          Pyenv、nodenv 和 rubyenv 是用于管理計算機上不同版本的 Python、Node 和 Ruby 的工具。

          假設(shè)你要在計算機上安裝兩個版本的 Python。比如,你正在從事兩個不同的 Python 項目,或者因為特殊情況仍然需要使用 Python2。不同 Python 版本在電腦上管理很復(fù)雜。你需要確保不同的項目具有正確版本的軟件依賴包。如果不小心,很容易弄亂這種脆弱的配置。

          該工具為版本管理提供了很多幫助,并將這一噩夢變得易于管理。它可以全局或“按文件夾”切換 Python 版本,而且每個版本都是相互隔離的。

          pyenv 下載地址:https://github.com/pyenv/pyenv
          nodenv 下載地址:https://github.com/nodenv/nodenv
          rbenv 下載地址:https://github.com/rbenv/rbenv

          ?10、pipx

          Virtualenv 解決了 Python 程序包管理中的許多問題,但是還有一個方案可以解決。如果我想在全局環(huán)境下安裝 Python 軟件包(比如它是一個獨立的工具,正如前面提到的glances 工具),那么我會遇到全局安裝帶來的問題。在虛擬環(huán)境之外安裝軟件包不是一個好主意,將來可能會導(dǎo)致意想不到的問題。另一方面,如果我決定使用虛擬環(huán)境,那么每次我要運行程序時都需要激活該虛擬環(huán)境。這也不是最方便的解決方案。

          事實證明,pipx工具可以解決上面提到的問題。它將 Python 軟件依賴包安裝到單獨的環(huán)境中(因此不會存在依賴項沖突的問題)。與此同時,這些工具提供的 CLI 命令在全局環(huán)境內(nèi)也可用。因此,我無需激活任何環(huán)境——pipx會幫我完成這個操作!

          pipx 下載地址:https://github.com/pipxproject/pipx

          ?11、ctop 和 lazydocker

          ctop 的實時監(jiān)控示例

          當(dāng)你使用 Docker 并對其監(jiān)控時,這兩個工具會很有幫助。ctop是 Docker 容器的頂級接口。它可以為你:

          • 展示正在運行和已停止的容器列表。

          • 展示統(tǒng)計信息,例如內(nèi)存、CPU 使用率以及針對每個容器的其他詳細信息窗口(例如綁定的端口等其他信息)。

          • 提供快捷菜單,方便快速停止、殺掉指定容器進程或顯示給定容器的日志。

          這比你嘗試從docker ps命令中找出所有這些信息要方便多了。

          lazydocker也是一個非常好用的 Docker 工具

          lazydocker它是一個非常成熟的擁有終端 UI 界面的工具,提供了非常豐富的功能用于管理 Docker。

          ctop 下載地址:https://github.com/bcicen/ctop
          lazydocker 下載地址:https://github.com/jesseduffield/lazydocker

          ?12、Homebrew

          如果使用的是 Mac,那就無需再多介紹 Homebrew 了。它是 macOS 上被業(yè)界普遍認可的軟件包管理器。

          下載地址:https://brew.sh/

          ?13、asciinema

          asciinema是可用于記錄終端會話的工具。但是,與錄制 GIF 不同,它可以讓用戶選擇并復(fù)制這些錄制中的代碼!這對于錄制編碼教程來說十分好用。asciinema錄制的內(nèi)容,支持直接復(fù)制,十分給力。

          下載地址:https://asciinema.org/

          ?14、colordiff 和 diff-so-fancy

          如果想在終端中使用diff操作(比較兩個文件之間的差異),可以放棄使用diff命令,而是使用 colordiff。colordiff輸出可以高亮顯示,因此在查看文件差異內(nèi)容時要方便得多,而不是在diff命令輸出內(nèi)容下,費力地查看所有的“ <”和“>”符號來對比文件差異。

          如果你覺得還不夠,那么推薦 diff-so-fancy。它是比colordiff更友好的一個差異對比工具。

          它通過以下方式進一步改善了文件內(nèi)容差異展示的外觀:

          • 突出顯示每一行中差異的單詞,而不是整行

          • 簡化變更文件的標(biāo)題

          • 去除 + 和 - 符號(顏色差異展示就夠了)

          • 清楚地指出新行和刪除的空行

          colordiff 下載地址:https://www.colordiff.org/
          diff-so-fancy 下載地址:https://github.com/so-fancy/diff-so-fancy

          ?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

          類似于在終端中常用的用于顯示文件內(nèi)容的cat命令,但是bat效果更佳。

          它增加了語法高亮顯示,git gutter 標(biāo)記(如果適用),自動分頁(如果文件很大)等功能,并且使得輸出的內(nèi)容閱讀起來更加友好。

          bat 下載地址:https://github.com/sharkdp/bat

          ?17、httpie

          如果你需要發(fā)送一些 HTTP 請求,但發(fā)現(xiàn)使用curl不夠直觀,那么可以嘗試一下httpie。這是一款非常好用的curl替代工具。合理的默認配置以及簡潔的語法使它更易于使用,命令返回也是彩色輸出。

          httpie 下載地址:https://httpie.org/

          ?18、tldr

          簡化版的命令幫助手冊。

          “man pages”展示的信息太全面了,但是很多時候使用tldr可以更快地幫你找到特定信息,這才是用戶真正想要的。

          tldr 下載地址:https://tldr.sh/

          ?19、exa

          exa是ls命令的一個可替代方案。

          它色彩艷麗,還可以顯示 git 狀態(tài)等其他信息,自動將文件大小轉(zhuǎn)換為方便人們閱讀的單位,并且所有這些都保持與ls幾乎相同的執(zhí)行速度。

          exa 下載地址:https://the.exa.website/

          ?20、litecli 和 pgcli

          這是SQLite 和 PostgreSQL CLI 的解決方案。借助自動提示和語法突出顯示,它們比默認的sqlite3和psql工具要好用很多。

          litecli 下載地址:https://litecli.com/
          pgcli 下載地址:https://www.pgcli.com/

          ?21、mas

          mas是一個用于從 App Store 安裝軟件的 CLI 工具。

          mas 下載地址:https://github.com/mas-cli/mas

          ?22、ncdu

          這是在終端進行磁盤分析時使用的工具,它使用起來簡單快捷。當(dāng)需要釋放一些硬盤空間時,可以使用這款工具。

          ncdu 下載地址:https://dev.yorhel.nl/ncdu

          ?總結(jié)

          以上推薦工具清單很長,小伙伴們有什么好用的也可以安利出來,一起交流進步。

          --END--

          如何找到我:

          近期優(yōu)質(zhì)文章:

          10行代碼!

          擁有一臺服務(wù)器后,我竟然這么酷?

          原創(chuàng)回答|用 Python 進行數(shù)據(jù)分析,學(xué)習(xí)書籍或資料推薦?

          學(xué)習(xí)更多:
          整理了我開始分享學(xué)習(xí)筆記到現(xiàn)在超過250篇優(yōu)質(zhì)文章,涵蓋數(shù)據(jù)分析、爬蟲、機器學(xué)習(xí)等方面,別再說不知道該從哪開始,實戰(zhàn)哪里找了
          點贊”就是對博主最大的支持?
          瀏覽 44
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  YY6080伦理韩国日本 | 成人操B视频 | 久久国产精品波多野结衣AV | 日韩w w w | 一级a一级a爰片免费免免在线 |