解放雙手!推薦一款 GitHub 星標 8.2k+的命令行軟件管理器,非常酷炫!

小二是公司新來的實習生,之前面試的過程中對答如流,所以我非常看好他。第一天,我給他了一臺新電腦,要他先在本地搭建個 Java 開發環境。

二話不說,他就開始馬不停蹄地行動了。真沒想到,他竟然是通過命令行的方式安裝的 JDK,一行命令就搞定了!連環境變量都不用配置,這遠遠超出了我對他的預期

我以爲,他會傻乎乎地下一步下一步來安裝 JDK,就像這樣。

然後這樣配置環境變量。

結果他是這樣的,就一行命令,環境變量也不用配置!

臥槽!牛逼高大上啊!

看着他熟練地在命令行裏安裝 JDK 的樣子,我的嘴角開始微微上揚,真不錯!這次總算招到了一個靠譜的。

於是我就安排他做一個記錄,打算髮表在我的小破站《Java 程序員進階之路》上。從他嘴裏瞭解到,他用的命令行軟件管理器叫 chocolatey,這是一個Windows下的命令行軟件管理器,在 GitHub 上已經收穫 8.2k+的星標,可以方便開發者像在Linux下使用yum命令來安裝軟件,或者像在macOS下使用brew 命令來安裝軟件,非常酷炫。

以下是他的記錄,一起來欣賞下。

先來了解 shell

對於一名 Java 後端程序員來說,初學階段,你可以選擇在 IDE 中直接編譯運行 Java 代碼,但有時候也需要在 Shell 下編譯和運行 Java 代碼。

Windows 下自帶的 Shell 叫命令提示符,或者 cmd 或者 powershell,macOS 下叫終端 terminal。

但當你需要在生產環境下部署 Java項目或者查看日誌的話,就必然會用到 Shell,這個階段,Shell 的使用頻率高到可以用一個成語來形容——朝夕相伴。

一些第三方軟件會在原生的 Shell 基礎上提供更強大的功能,常見的有 tabby、Warp、xhsell、FinalShell、MobaXterm、Aechoterm、WindTerm、termius、iterm2 等等,有些只能在 Windows 上使用,有些只能在 macOS 上使用,有些支持全平臺。還有 ohmyzsh 這種超神的 Shell 美化工具。

這裏,我們列舉一些 Shell 的基本操作命令(Windows 和 macOS/Linux 有些許差異):

  • 切換目錄,可以使用 cd 命令切換目錄,cd .. 返回上級目錄。

  • 目錄列表,macos/linux 下可以使用 ls 命令列出目錄下所有的文件和子目錄(Windows 下使用 dir 命令),使用通配符 * 對展示的內容進行過濾,比如 ls *.java 列出所有 .java後綴的文件,如果想更進一步的話,可以使用 ls H*.java 列出所有以 H 開頭 .java 後綴的文件。
  • 新建目錄,macOS/Linux 下可以使用 mkdir 命令新建一個目錄(比如 mkdir hello 可以新建一個 hello 的目錄),Windows 下可以使用 md 命令。
  • 刪除文件,macOS/Linux 下可以使用 rm 命令刪除文件(比如 rm hello.java 刪除 hello.java 文件),Windows 下可以使用 del 命令。
  • 刪除目錄,macOS/Linux 下可以使用 rm -r 命令刪除目錄以及它所包含的所有文件(比如說 rm -r hello 刪除 hello 目錄)。Windows 下可以使用 deltree 命令。
  • 重複命令,macOS/Linux/Windows 下都可以使用上下箭頭來選擇以往執行過的命令。

  • 命令歷史,macOS/Linux 下可以使用 history 命令查看所有使用過的命令。Windows 可以按下 F7 鍵。

  • 解壓文件,後綴名爲“.zip”的文件是一個包含了其他文件的壓縮包,macOS/Linux 系統自身已經提供了用於解壓的 unzip 命令, Windows 的話需要手動安裝。

再來了解chocolatey

先安裝 chocolatey。這是一個Windows下的命令行軟件管理器,可以方便開發者像在Linux下使用yum命令來安裝軟件,或者像在macOS下使用brew 命令來安裝軟件,非常酷炫。

The biggest challenge is reducing duplication of effort, so users turn to Chocolatey for simplicity

傳統的安裝方式要麼非常耗時,要麼非常低效,在命令行安裝軟件除了簡單高效,還能自動幫我們配置環境變量。

第一步,以管理員的身份打開 cmd 命令行。

第二步,執行以下命令:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

稍等片刻,就完成安裝了。

安裝完成後如下圖所示:

如果不確定是否安裝成功的話,可以通過鍵入 choco 命令來確認。

這裏推薦幾個非常高效的操作命令:

  • choco search xxx,查找 xxx 安裝包
  • choco info xxx,查看 xxx 安裝包信息
  • choco install xxx,安裝 xxx 軟件
  • choco upgrade xxx,升級 xxx 軟件
  • choco uninstall xxx, 卸載 xxx 軟件

如何知道 chocolatey 倉庫中都有哪些安裝包可用呢?

可以通過上面提到的命令行的方式,也可以訪問官方倉庫進行篩選。

https://community.chocolatey.org/packages

比如說我們來查找 Java。

好,現在可以直接在shell中鍵入 choco install jdk8 來安裝 JDK8 了,並且會自動將Java加入到環境變量中,不用再去「我的電腦」「環境變量」中新建 JAVA_HOME 並複製 JDK 安裝路徑配置 PATH 變量了,是不是非常 nice?

稍等片刻,鍵入 java -version 就可以確認Java是否安裝成功了。

不得不承認!非常nice!

再比如說安裝 Redis,只需要找到 Redis 的安裝命令在 Choco 下執行一下就 OK 了。

安裝 Git:

choco install git.install 

安裝 node.js

choco install nodejs.install 

安裝 7zip

choco install 7zip

安裝 Filezilla

choco install filezilla

Choco 上的軟件包也非常的多,基本上軟件開發中常見的安裝包都有。

小結

通過小二的實戰筆記,我們可以瞭解到。

對比下載安裝包,通過圖形化界面的方式安裝 JDK,然後下一步,下一步是不是感覺在 Shell 下安裝 JDK 更炫酷一些?

關鍵是還省去了環境變量的配置。

記得還沒有走出新手村的時候,就經常被環境變量配置煩不勝煩。那下載這種命令行的方式,要比手動在環境變量中配置要省事一百倍,也更不容易出錯。

通過 Choco 可以集中安裝、管理、更新各種各樣的軟件。特別適合管理一些輕量級的開源軟件,一條命令搞定,升級的時候也方便,不用再重新去下載新的安裝包,可以有效治癒更新強迫症患者的症狀。

如果不想特殊設置的話,Chocolatey 整體的操作與使用還是比較親民的。就連剛接觸軟件開發的小白也可以直接使用,而且路人看着會覺得你特別厲害。


本文已收錄到 GitHub 上星標 2.2k+ 的開源專欄《Java 程序員進階之路》,據說每一個優秀的 Java 程序員都喜歡她,風趣幽默、通俗易懂。內容包括 Java 基礎、Java 併發編程、Java 虛擬機、Java 企業級開發、Java 面試等核心知識點。學 Java,就認準 Java 程序員進階之路😄。

https://github.com/itwanger/toBeBetterJavaer

star 了這個倉庫就等於你擁有了成爲了一名優秀 Java 工程師的潛力。

沒有什麼使我停留——除了目的,縱然岸旁有玫瑰、有綠蔭、有寧靜的港灣,我是不繫之舟

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章