<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>

          22款終端生產(chǎn)力工具,效率飛起!

          共 5855字,需瀏覽 12分鐘

           ·

          2020-10-29 08:12

          譯文:switowski.com/blog/favorite-cli-tools

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

          高頻 CLI 工具推薦

          1、fish shell

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

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

          2、Starship

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

          它可以做到:

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

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

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

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

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

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

          3、z

          “z” 可以讓你快速地在文件目錄之間跳轉(zhuǎn)。它會(huì)記住你訪問(wèn)的歷史文件夾,經(jīng)過(guò)短暫的學(xué)習(xí)后,你就可以使用z path_of_the_folder_name命令在目錄之間跳轉(zhuǎn)了。

          比如,如果我經(jīng)常訪問(wèn) ~/work/src/projects,我只需要運(yùn)行 z pro ,就可以立馬跳轉(zhuǎn)到那里。z 的原理參考了 frecency 算法——一個(gè)基于統(tǒng)計(jì) frequency 和 recency 進(jìn)行分析的算法。如果它存儲(chǔ)了你不想使用的路徑文件夾,你隨時(shí)可以手動(dòng)將其刪除。它提高了我在常用的不同文件路徑之間頻繁切換的效率,幫我節(jié)省了鍵盤(pán)擊鍵次數(shù)以及大量的路徑記憶。

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

          4、fzf

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

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

          5、fd

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

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

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

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

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

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

          6、ripgrep

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

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

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

          7、htop 和 glances

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

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

          top工具是非?;A(chǔ)的監(jiān)控工具,提供的功能有限,因此很多人轉(zhuǎn)去使用 htop。htop比起top,優(yōu)勢(shì)很明顯——除了功能更加完善以外,它的色彩搭配也很豐富,整體上使用起來(lái)更加友好。

          借助 glances,還可以讓你一目了然地快速了解系統(tǒng)當(dāng)前狀態(tài)。

          glances 是htop的補(bǔ)充工具。除了列出所有進(jìn)程及其 CPU 和內(nèi)存使用情況之外,它還可以顯示有關(guān)系統(tǒng)的其他信息,比如:

          • 網(wǎng)絡(luò)及磁盤(pán)使用情況

          • 文件系統(tǒng)已使用的空間和總空間

          • 來(lái)自不同傳感器(例如電池)的數(shù)據(jù)

          • 以及最近消耗過(guò)多資源的進(jìn)程列表

          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)境管理器。它提供了許多命令來(lái)執(zhí)行快速創(chuàng)建、列出或刪除虛擬環(huán)境等操作。

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

          9、pyenv、nodenv 和 rbenv

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

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

          假設(shè)你要在計(jì)算機(jī)上安裝兩個(gè)版本的 Python。比如,你正在從事兩個(gè)不同的 Python 項(xiàng)目,或者因?yàn)樘厥馇闆r仍然需要使用 Python2。不同 Python 版本在電腦上管理很復(fù)雜。你需要確保不同的項(xiàng)目具有正確版本的軟件依賴包。如果不小心,很容易弄亂這種脆弱的配置。

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

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

          10、pipx

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

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

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

          11、ctop 和 lazydocker

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

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

          • 展示正在運(yùn)行和已停止的容器列表。

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

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

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

          lazydocker也是一個(gè)非常好用的?Docker 工具

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

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

          12、Homebrew

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

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

          13、asciinema

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

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

          14、colordiff 和 diff-so-fancy

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

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

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

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

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

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

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

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

          15、tree

          可以通過(guò)brew install tree安裝該工具。如果要查看給定目錄的內(nèi)容,那么 tree 是執(zhí)行此操作的必備工具。它能以漂亮的樹(shù)狀結(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效果更佳。

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

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

          17、httpie

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

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

          18、tldr

          簡(jiǎn)化版的命令幫助手冊(cè)。

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

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

          19、exa

          exa是ls命令的一個(gè)可替代方案。

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

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

          20、litecli 和 pgcli

          這是SQLite 和 PostgreSQL CLI 的解決方案。借助自動(dòng)提示和語(yǔ)法突出顯示,它們比默認(rèn)的sqlite3和psql工具要好用很多。

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

          21、mas

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

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

          22、ncdu

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

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

          總結(jié)

          以上推薦工具清單很長(zhǎng),小伙伴們有什么好用的也可以安利出來(lái),一起交流進(jìn)步。

          推薦閱讀

          介紹一款賊美的Vue+Element開(kāi)源后臺(tái)管理UI

          騷操作:不重啟 JVM,如何替換掉已經(jīng)加載的類?

          放棄Spring Boot 中的 RestTemplate,我選擇 Retrofit !

          騰訊 Git 規(guī)范出爐,寫(xiě)給開(kāi)發(fā)者的指南!

          最棒 Spring Boot 干貨總結(jié)(超詳細(xì),建議收藏)

          我的天,Spring Boot 居然還有 Plus 版本

          瀏覽 47
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  久0久干 久爱无码 | 99国产精品一区二区 | 色婷婷亚洲婷婷 | 福利视频免费观看 | 台湾无码字幕无码 |