0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

命令行軟件管理器:chocolatey

Q4MP_gh_c472c21 ? 來源:沉默王二 ? 作者:沉默王二 ? 2022-05-06 15:45 ? 次閱讀

小二是公司新來的實(shí)習(xí)生,之前面試的過程中對(duì)答如流,所以我非??春盟?。第一天,我給他了一臺(tái)新電腦,要他先在本地搭建個(gè) Java 開發(fā)環(huán)境。

二話不說,他就開始馬不停蹄地行動(dòng)了。真沒想到,他竟然是通過命令行的方式安裝的 JDK,這遠(yuǎn)遠(yuǎn)超出了我對(duì)他的預(yù)期。

我以為,他會(huì)使用圖形化的方式來安裝 JDK 的,就像這樣。

e889375e-ccf1-11ec-bce3-dac502259ad0.png

還有這樣。

e8975ce4-ccf1-11ec-bce3-dac502259ad0.png

結(jié)果他是這樣的。

e8ab19a0-ccf1-11ec-bce3-dac502259ad0.png

臥槽!牛逼高大上??!

看著他熟練地在命令行里安裝 JDK 的樣子,我的嘴角開始微微上揚(yáng),真不錯(cuò)!這次總算招到了一個(gè)靠譜的。

于是我就安排他做一個(gè)記錄。從他嘴里了解到,他用的命令行軟件管理器叫 chocolatey,這是一個(gè)Windows下的命令行軟件管理器,可以方便開發(fā)者像在Linux下使用yum命令來安裝軟件,或者像在macOS下使用brew 命令來安裝軟件,我感覺非??犰?。

e8caefd2-ccf1-11ec-bce3-dac502259ad0.png

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

關(guān)于shell

對(duì)于一名 Java 后端程序員來說,初學(xué)階段,你可以選擇在 IDE 中直接編譯運(yùn)行 Java 代碼,但有時(shí)候也需要在 Shell 下編譯和運(yùn)行 Java 代碼。

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

但當(dāng)你需要在生產(chǎn)環(huán)境下部署 Java項(xiàng)目或者查看日志的話,就必然會(huì)用到 Shell,這個(gè)階段,Shell 的使用頻率高到可以用一個(gè)成語來形容——朝夕相伴。

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

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

  • 切換目錄,可以使用 cd 命令切換目錄,cd ..返回上級(jí)目錄。
e8dec25a-ccf1-11ec-bce3-dac502259ad0.png
  • 目錄列表,macos/linux 下可以使用 ls 命令列出目錄下所有的文件和子目錄(Windows 下使用 dir 命令),使用通配符*對(duì)展示的內(nèi)容進(jìn)行過濾,比如ls *.java列出所有.java后綴的文件,如果想更進(jìn)一步的話,可以使用ls H*.java列出所有以 H 開頭.java后綴的文件。
  • 新建目錄,macOS/Linux 下可以使用 mkdir 命令新建一個(gè)目錄(比如mkdir hello可以新建一個(gè) hello 的目錄),Windows 下可以使用 md 命令。
  • 刪除文件,macOS/Linux 下可以使用rm命令刪除文件(比如rm hello.java刪除 hello.java 文件),Windows 下可以使用 del 命令。
  • 刪除目錄,macOS/Linux 下可以使用rm -r命令刪除目錄以及它所包含的所有文件(比如說rm -r hello刪除 hello 目錄)。Windows 下可以使用 deltree 命令。
  • 重復(fù)命令,macOS/Linux/Windows 下都可以使用上下箭頭來選擇以往執(zhí)行過的命令。
e8f97e9c-ccf1-11ec-bce3-dac502259ad0.png
  • 命令歷史,macOS/Linux 下可以使用history命令查看所有使用過的命令。Windows 可以按下 F7 鍵。
e9151ef4-ccf1-11ec-bce3-dac502259ad0.png
  • 解壓文件,后綴名為“.zip”的文件是一個(gè)包含了其他文件的壓縮包,macOS/Linux 系統(tǒng)自身已經(jīng)提供了用于解壓的 unzip 命令, Windows 的話需要手動(dòng)安裝。

安裝JDK

1)Windows

推薦先安裝 chocolatey。這是一個(gè)Windows下的命令行軟件管理器,可以方便開發(fā)者像在Linux下使用yum命令來安裝軟件,或者像在macOS下使用brew 命令來安裝軟件,非??犰?。

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

傳統(tǒng)的安裝方式要么非常耗時(shí),要么非常低效,在命令行安裝軟件除了簡(jiǎn)單高效,還能自動(dòng)幫我們配置環(huán)境變量。

  • 官方地址:https://chocolatey.org/
  • 安裝文檔:https://chocolatey.org/install#individual

安裝完成后如下圖所示:

e93b833c-ccf1-11ec-bce3-dac502259ad0.png

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

e94c6fa8-ccf1-11ec-bce3-dac502259ad0.png

這里推薦幾個(gè)非常高效的操作命令:

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

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

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

https://community.chocolatey.org/packages

比如說我們來查找 Java。

e957b53e-ccf1-11ec-bce3-dac502259ad0.png

好,現(xiàn)在可以直接在shell中鍵入choco install jdk8來安裝 JDK8 了,并且會(huì)自動(dòng)將Java加入到環(huán)境變量中,不用再去「我的電腦」「環(huán)境變量」中新建 JAVA_HOME 并復(fù)制 JDK 安裝路徑配置 PATH 變量了,是不是非常 nice?

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

e97ff5bc-ccf1-11ec-bce3-dac502259ad0.png

不得不承認(rèn)!非常nice!

2)macOS

首先推薦安裝 homebrew,這是macOS下的命令行軟件管理器,用來簡(jiǎn)化 macOS 上軟件的安裝過程。homebrew 是開源的,在 GitHub 已收獲 32k star。

e9a6bba2-ccf1-11ec-bce3-dac502259ad0.png

homebrew 的安裝也非常的簡(jiǎn)單,只需要一行命令即可。

官方網(wǎng)址:https://brew.sh/index_zh-cn

e9b59f1e-ccf1-11ec-bce3-dac502259ad0.png
  • 使用brew install xxx可以安裝 macOS 上沒有預(yù)裝的軟件
  • 使用brew install --cask yyy可以安裝 macOS 其他非開源軟件。

這里是 homebrew 常用命令的一個(gè)清單,可供參考。

命令 描述
brew update 更新 Homebrew
brew search package 搜索軟件包
brew install package 安裝軟件包
brew uninstall package 卸載軟件包
brew upgrade 升級(jí)所有軟件包
brew upgrade package 升級(jí)指定軟件包
brew list 列出已安裝的軟件包列表
brew services command package 管理 brew 安裝軟件包
brew services list 列出 brew 管理運(yùn)行的服務(wù)
brew info package 查看軟件包信息
brew deps package 列出軟件包的依賴關(guān)系
brew help 查看幫助
brew cleanup 清除過時(shí)軟件包
brew link package 創(chuàng)建軟件包符號(hào)鏈接
brew unlink package 取消軟件包符號(hào)鏈接
brew doctor 檢查系統(tǒng)是否存在問題

安裝完 homebrew 后,建議替換homebrew 的默認(rèn)源為中科大的,原因就不用我多說了吧?替換方法如下所示:

替換brew.git:
cd"$(brew--repo)"
gitremoteset-urloriginhttps://mirrors.ustc.edu.cn/brew.git

替換homebrew-core.git:
cd"$(brew--repo)/Library/Taps/homebrew/homebrew-core"
gitremoteset-urloriginhttps://mirrors.ustc.edu.cn/homebrew-core.git

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

第一種,通過brew search xxx命令搜索,比如說我們要搜索 jdk

e9c7cf22-ccf1-11ec-bce3-dac502259ad0.png

第二種,通過 homebrew 官網(wǎng)搜索,比如說我們要搜索 openjdk。

官方地址:https://formulae.brew.sh

e9ffb676-ccf1-11ec-bce3-dac502259ad0.png

這里有一份不錯(cuò)的 homebrew 幫助文檔,可供參考:

https://sspai.com/post/56009

OK,我們來安裝JDK,只需要簡(jiǎn)單的一行命令就可以搞定。

brew install openjdk@8

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

關(guān)鍵是還省去了環(huán)境變量的配置。

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

關(guān)于編輯器

安裝完 Java 之后,你還需要一個(gè)編輯器,用來編寫 Java 代碼。

編輯器多種多樣,常見的有集成開發(fā)環(huán)境(IDE,比如 Intellij IDEA 和 vscode),和簡(jiǎn)單的文本編輯工具(比如 sublime text)。

我建議這三個(gè)工具都要裝,日常開發(fā)中,我會(huì)在這三個(gè)編輯器中來回切換。

Intellij IDEA:主要用來編寫Java代碼,并且最好安裝旗艦版,社區(qū)版用來學(xué)習(xí)JavaSE部分是綽綽有余的,但要想擁有更強(qiáng)大的生產(chǎn)力,旗艦版是必須的,因?yàn)楣δ芨訌?qiáng)大。

比如說 idea 旗艦版中可以直接通過 Initializr 來創(chuàng)建springboot項(xiàng)目,但社區(qū)版就沒有此功能。

ea18e254-ccf1-11ec-bce3-dac502259ad0.png

vscode:更加輕量級(jí)的 IDE,在編寫Java代碼上可以和idea媲美,但要想調(diào)試Java代碼的話,vscode 和idea的差距還是非常明顯的。

ea40e25e-ccf1-11ec-bce3-dac502259ad0.png

我會(huì)使用 Intellij IDEA 開發(fā)編程喵的后端代碼,vscode 來開發(fā)編程喵的前端代碼。

sublime text:功能更強(qiáng)大的文本編輯器,比記事本這種強(qiáng)大一萬倍,也更符合21世紀(jì)開發(fā)者的外觀審美。如果只是簡(jiǎn)單的修改一下代碼格式,或者注釋,顯然更加方便,因?yàn)閕dea還是比較吃內(nèi)存的,出差旅行的時(shí)候,在筆記本上緊急修改一些代碼時(shí),更易用。

ea61e42c-ccf1-11ec-bce3-dac502259ad0.png

我會(huì)配合 GitHub 桌面版來使用 sublime text,編輯 MD 文檔的時(shí)候會(huì)比較舒服。


有了 chocolatey 和 homebrew,以后再安裝任何一款軟件,只要倉庫里有,只需要一行命令就可以搞定了,還是非常值得給大家安利的。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2973

    瀏覽量

    104904
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    366

    瀏覽量

    23425

原文標(biāo)題:發(fā)現(xiàn)一款好用到爆的Shell工具,被驚艷到了!

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    圖形用戶界面與命令行接口的比較

    界面(GUI) : GUI是一種用戶界面,允許用戶通過圖形圖標(biāo)和視覺指示與電子設(shè)備進(jìn)行交互。 它通常包括窗口、按鈕、圖標(biāo)和菜單等元素,用戶可以通過鼠標(biāo)或觸摸屏進(jìn)行操作。 命令行接口(CLI) : CLI是一種用戶界面,用戶通過輸入文本
    的頭像 發(fā)表于 11-12 14:38 ?461次閱讀

    Mobaxterm 的命令行使用方法

    的遠(yuǎn)程桌面協(xié)議(如RDP和VNC),以及文件傳輸協(xié)議(如FTP和SFTP)。本文將詳細(xì)介紹如何使用Mobaxterm的命令行功能。 2. 安裝 Mobaxterm 在開始之前,確保你已經(jīng)安裝
    的頭像 發(fā)表于 11-11 09:08 ?1736次閱讀

    APM32F411板的python+pyocd命令行操作

    前段時(shí)間學(xué)習(xí)了一下如何使用pyocd配合APM32F411VCTINY板在命令行下給它進(jìn)行各種騷操作,在使用一段時(shí)間后就想著:pyocd是基于python的,那是不是也可以使用python腳本+pyocd使用起來呢?
    的頭像 發(fā)表于 10-18 16:21 ?370次閱讀
    APM32F411板的python+pyocd<b class='flag-5'>命令行</b>操作

    使用idf4.3在命令行打開menuconfig,如何才能開啟lwip配置界面?

    請(qǐng)問使用idf4.3在命令行打開menuconfig,如何才能開啟lwip配置界面。
    發(fā)表于 06-21 06:08

    請(qǐng)問CY8CKIT-005-A是否支持命令行編程?

    我使用 minipro4 SWD 和 MTB-programmer 5.0 對(duì) MCU 編程,在批量生產(chǎn)中,我們希望使用腳本編程,它是否支持命令行編程?
    發(fā)表于 06-03 06:19

    Nvidia Jetson Nano + CYW55573/AWXB327MA-PUR M.2無法使用操作系統(tǒng)內(nèi)置的網(wǎng)絡(luò)管理器管理Wi-Fi如何解決?

    %E2%84%A2%20CYW5557.... 我們可以使用命令行指令成功連接互聯(lián)網(wǎng)。 但是,我們無法使用操作系統(tǒng)內(nèi)置的網(wǎng)絡(luò)管理器管理 Wi-Fi。 網(wǎng)絡(luò)管理器中與 Wi-Fi 相關(guān)的
    發(fā)表于 05-23 06:47

    鴻蒙ArkUI-X跨平臺(tái)開發(fā):【命令行工具(ACE Tools)】

    ACE Tools是一套為ArkUI-X項(xiàng)目跨平臺(tái)應(yīng)用開發(fā)者提供的命令行工具,支持在Windows/Ubuntu/macOS平臺(tái)運(yùn)行,用于構(gòu)建OpenHarmony/HarmonyOS、Android和iOS平臺(tái)的應(yīng)用程序,其功能包括開發(fā)環(huán)境檢查,新建項(xiàng)目,編譯打包,安裝調(diào)試等。
    的頭像 發(fā)表于 05-21 17:39 ?1898次閱讀
    鴻蒙ArkUI-X跨平臺(tái)開發(fā):【<b class='flag-5'>命令行</b>工具(ACE Tools)】

    高效云端管理的秘訣——華為云命令行工具 KooCLI

    發(fā)現(xiàn)了云上命令行工具,我的云端管理效率從此得到了質(zhì)的飛躍。 我從華為云官方產(chǎn)品幫助文檔中了解了 KooCLI 工具,文檔中介紹的便捷操作和高效管理讓我心動(dòng)不已,于是,我開啟了我的體驗(yàn)。通過簡(jiǎn)單的
    的頭像 發(fā)表于 05-10 00:25 ?719次閱讀
    高效云端<b class='flag-5'>管理</b>的秘訣——華為云<b class='flag-5'>命令行</b>工具 KooCLI

    鴻蒙OpenHarmony南向:【Hi3516標(biāo)準(zhǔn)系統(tǒng)入門(命令行方式)】

    除小型系統(tǒng)外,Hi3516DV300開發(fā)板還支持標(biāo)準(zhǔn)系統(tǒng)。此章節(jié)簡(jiǎn)要介紹如何使用命令行在Hi3516DV300開發(fā)板上進(jìn)行標(biāo)準(zhǔn)系統(tǒng)的開發(fā)。
    的頭像 發(fā)表于 05-08 09:26 ?918次閱讀
    鴻蒙OpenHarmony南向:【Hi3516標(biāo)準(zhǔn)系統(tǒng)入門(<b class='flag-5'>命令行</b>方式)】

    STM8 flash loader命令行調(diào)用錯(cuò)誤的原因?

    [td]我目前在用flash loader的命令行,編寫自己的上位機(jī)軟件來升級(jí)程序,但是在用命令行調(diào)用的時(shí)候一直出錯(cuò),有人能幫忙分析下嗎? 我編寫的bat文件
    發(fā)表于 05-06 07:23

    HarmonyOS開發(fā):【基于命令行(安裝庫和工具集)】

    使用命令行進(jìn)行設(shè)備開發(fā)時(shí),可以通過以下步驟安裝編譯OpenHarmony需要的庫和工具。
    的頭像 發(fā)表于 04-25 21:03 ?448次閱讀
    HarmonyOS開發(fā):【基于<b class='flag-5'>命令行</b>(安裝庫和工具集)】

    香港vps的centos如何切換命令行和桌面?

    要在CentOS上切換命令行和桌面環(huán)境,您可以通過以下步驟進(jìn)行: 1、安裝桌面環(huán)境:如果您的CentOS VPS上還沒有安裝圖形桌面環(huán)境,您需要安裝一個(gè)。一般來說,常用的桌面環(huán)境有GNOME、KDE
    的頭像 發(fā)表于 04-10 17:41 ?683次閱讀

    STM32G070RB使用jlink命令行下載無法識(shí)別芯片怎么解決?

    STM32G070RB 使用jlink命令行下載無法識(shí)別芯片,想手動(dòng)添加芯片,請(qǐng)問哪里可以下載驅(qū)動(dòng).elf文件 或者有什么方法能夠?qū)崿F(xiàn)jlink命令行下載
    發(fā)表于 04-02 06:15

    tasking的命令行控制中如何生成makefiles文件?

    tasking的命令行控制中如何生成makefiles文件?
    發(fā)表于 02-06 07:56

    是否可以使用XMC Flasher命令行實(shí)用程序(bat 文件)將目標(biāo)閃存讀取到*.hex 文件中?

    是否可以使用 XMC Flasher 命令行實(shí)用程序(bat 文件)將目標(biāo)閃存讀取到*.hex 文件中?
    發(fā)表于 01-26 07:24