0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

命令行软件管理器:chocolatey

Q4MP_gh_c472c21 来源:沉默王二 作者:沉默王二 2022-05-06 15:45 次阅读

小二是公司新来的实习生,之前面试的过程中对答如流,所以我非常看好他。第一天,我给他了一台新电脑,要他先在本地搭建个 Java 开发环境。

二话不说,他就开始马不停蹄地行动了。真没想到,他竟然是通过命令行的方式安装的 JDK,这远远超出了我对他的预期。

我以为,他会使用图形化的方式来安装 JDK 的,就像这样。

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

还有这样。

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

结果他是这样的。

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

卧槽!牛逼高大上啊!

看着他熟练地在命令行里安装 JDK 的样子,我的嘴角开始微微上扬,真不错!这次总算招到了一个靠谱的。

于是我就安排他做一个记录。从他嘴里了解到,他用的命令行软件管理器叫 chocolatey,这是一个Windows下的命令行软件管理器,可以方便开发者像在Linux下使用yum命令来安装软件,或者像在macOS下使用brew 命令来安装软件,我感觉非常酷炫。

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

以下是他的记录,一起来欣赏下。

关于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 ..返回上级目录。
e8dec25a-ccf1-11ec-bce3-dac502259ad0.png
  • 目录列表,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 下都可以使用上下箭头来选择以往执行过的命令。
e8f97e9c-ccf1-11ec-bce3-dac502259ad0.png
  • 命令历史,macOS/Linux 下可以使用history命令查看所有使用过的命令。Windows 可以按下 F7 键。
e9151ef4-ccf1-11ec-bce3-dac502259ad0.png
  • 解压文件,后缀名为“.zip”的文件是一个包含了其他文件的压缩包,macOS/Linux 系统自身已经提供了用于解压的 unzip 命令, Windows 的话需要手动安装。

安装JDK

1)Windows

推荐先安装 chocolatey。这是一个Windows下的命令行软件管理器,可以方便开发者像在Linux下使用yum命令来安装软件,或者像在macOS下使用brew 命令来安装软件,非常酷炫。

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

传统的安装方式要么非常耗时,要么非常低效,在命令行安装软件除了简单高效,还能自动帮我们配置环境变量。

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

安装完成后如下图所示:

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

如果不确定是否安装成功的话,可以通过键入choco命令来确认。

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

这里推荐几个非常高效的操作命令:

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

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

好,现在可以直接在shell中键入choco install jdk8来安装 JDK8 了,并且会自动将Java加入到环境变量中,不用再去「我的电脑」「环境变量」中新建 JAVA_HOME 并复制 JDK 安装路径配置 PATH 变量了,是不是非常 nice?

稍等片刻,键入java -version就可以确认Java是否安装成功了。

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

不得不承认!非常nice!

2)macOS

首先推荐安装 homebrew,这是macOS下的命令行软件管理器,用来简化 macOS 上软件的安装过程。homebrew 是开源的,在 GitHub 已收获 32k star。

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

homebrew 的安装也非常的简单,只需要一行命令即可。

官方网址:https://brew.sh/index_zh-cn

e9b59f1e-ccf1-11ec-bce3-dac502259ad0.png
  • 使用brew install xxx可以安装 macOS 上没有预装的软件
  • 使用brew install --cask yyy可以安装 macOS 其他非开源软件。

这里是 homebrew 常用命令的一个清单,可供参考。

命令 描述
brew update 更新 Homebrew
brew search package 搜索软件包
brew install package 安装软件包
brew uninstall package 卸载软件包
brew upgrade 升级所有软件包
brew upgrade package 升级指定软件包
brew list 列出已安装的软件包列表
brew services command package 管理 brew 安装软件包
brew services list 列出 brew 管理运行的服务
brew info package 查看软件包信息
brew deps package 列出软件包的依赖关系
brew help 查看帮助
brew cleanup 清除过时软件包
brew link package 创建软件包符号链接
brew unlink package 取消软件包符号链接
brew doctor 检查系统是否存在问题

安装完 homebrew 后,建议替换homebrew 的默认源为中科大的,原因就不用我多说了吧?替换方法如下所示:

替换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 官网搜索,比如说我们要搜索 openjdk。

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

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

这里有一份不错的 homebrew 帮助文档,可供参考:

https://sspai.com/post/56009

OK,我们来安装JDK,只需要简单的一行命令就可以搞定。

brew install openjdk@8

对比下载安装包,通过图形化界面的方式安装 JDK,是不是感觉在 Shell 下安装 JDK 更炫酷一些?

关键是还省去了环境变量的配置。

记得还没有走出新手村的时候,就经常被环境变量配置烦不胜烦。那下载这种命令行的方式,要比手动在环境变量中配置要省事一百倍,也更不容易出错。

关于编辑器

安装完 Java 之后,你还需要一个编辑器,用来编写 Java 代码。

编辑器多种多样,常见的有集成开发环境(IDE,比如 Intellij IDEA 和 vscode),和简单的文本编辑工具(比如 sublime text)。

我建议这三个工具都要装,日常开发中,我会在这三个编辑器中来回切换。

Intellij IDEA:主要用来编写Java代码,并且最好安装旗舰版,社区版用来学习JavaSE部分是绰绰有余的,但要想拥有更强大的生产力,旗舰版是必须的,因为功能更加强大。

比如说 idea 旗舰版中可以直接通过 Initializr 来创建springboot项目,但社区版就没有此功能。

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

vscode:更加轻量级的 IDE,在编写Java代码上可以和idea媲美,但要想调试Java代码的话,vscode 和idea的差距还是非常明显的。

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

我会使用 Intellij IDEA 开发编程喵的后端代码,vscode 来开发编程喵的前端代码。

sublime text:功能更强大的文本编辑器,比记事本这种强大一万倍,也更符合21世纪开发者的外观审美。如果只是简单的修改一下代码格式,或者注释,显然更加方便,因为idea还是比较吃内存的,出差旅行的时候,在笔记本上紧急修改一些代码时,更易用。

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

我会配合 GitHub 桌面版来使用 sublime text,编辑 MD 文档的时候会比较舒服。


有了 chocolatey 和 homebrew,以后再安装任何一款软件,只要仓库里有,只需要一行命令就可以搞定了,还是非常值得给大家安利的。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    102989
  • Shell
    +关注

    关注

    1

    文章

    358

    浏览量

    22902

原文标题:发现一款好用到爆的Shell工具,被惊艳到了!

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    idea如何输入命令行参数

    在许多软件开发和系统管理的任务中,我们经常需要向应用程序传递命令行参数。命令行参数是在运行时传递给程序的值,用于指定程序的行为和配置选项。本文将详细介绍如何在不同的编程语言和操作系统中
    的头像 发表于 12-06 15:01 364次阅读

    eclipse怎么使用命令行

    命令行中使用Eclipse来完成一些特定的任务。本文将详细介绍如何在命令行中使用Eclipse。 首先,我们需要确保已经正确安装了JDK(Java Development Kit)和Eclipse
    的头像 发表于 12-06 11:26 924次阅读

    pycharm命令行终端运行代码

    Python是一种非常流行的编程语言,许多开发者使用它来编写各种应用程序和脚本。为了方便开发者编写和测试代码,PyCharm是一种集成开发环境(IDE),它提供了许多功能和工具,其中包括命令行终端
    的头像 发表于 11-22 11:20 1333次阅读

    linux命令行运行步骤

    现光标右边出现了一个类似于“ ”或“#”的字符,这就是命令行提示符。在大多数Linux发行版中,普通用户的提示符是“ ”,而管理员或root用户的提示符是“#”。 查找可用的命令 Linux系统有许多
    的头像 发表于 11-17 10:18 340次阅读

    linux虚拟机命令行界面如何操作

    Linux虚拟机的命令行界面可以分为四个方面进行详尽的说明:登录、基本操作、文件管理和系统管理。 第一部分:登录 首先,您需要启动虚拟机并打开终端。在启动过程中,您可以按下一些键(如F12、Del或ESC,具体取决于虚拟化
    的头像 发表于 11-17 09:57 944次阅读

    linux虚拟机怎么调出命令行

    命令行的方式可以因不同的虚拟机软件而异,下面将介绍几种常用的虚拟机软件以及它们调出命令行的方法。 VMware虚拟机 VMware是一个功能强大的虚拟机
    的头像 发表于 11-17 09:55 2110次阅读

    linux切换到命令行模式

    在Linux中,可以通过以下步骤切换到命令行模式: 打开终端。可以在应用菜单中找到终端或命令行终端。 在终端中输入命令“exit”或“logout”,然后按回车键。 系统会提示您输入管理
    的头像 发表于 11-13 16:47 809次阅读

    linux虚拟机怎么调出命令行

    在Linux虚拟机中调出命令行界面,可以通过以下步骤实现: 打开虚拟机,进入到Linux系统。 在桌面或应用菜单中找到终端或命令行图标,点击打开。 输入命令行指令,执行相应的操作。 另外,也可以通过
    的头像 发表于 11-08 11:28 1635次阅读

    linux命令行与shell编程实战

    Linux命令行与Shell编程实战主要涉及以下内容: Linux命令行基础:学习Linux命令行的基本操作,如文件管理、进程管理、网络配置
    的头像 发表于 11-08 10:57 363次阅读

    一个开源MCU级的命令行交互组件

    一个开源MCU级命令行交互组件~
    的头像 发表于 10-17 16:26 189次阅读
    一个开源MCU级的<b class='flag-5'>命令行</b>交互组件

    OneCommand管理器命令行接口版本10.4用户手册

    电子发烧友网站提供《OneCommand管理器命令行接口版本10.4用户手册.pdf》资料免费下载
    发表于 08-23 09:38 0次下载
    OneCommand<b class='flag-5'>管理器</b><b class='flag-5'>命令行</b>接口版本10.4用户手册

    Emulex One命令管理器命令行界面脉冲适配器用户指南

    电子发烧友网站提供《Emulex One命令管理器命令行界面脉冲适配器用户指南.pdf》资料免费下载
    发表于 08-17 10:08 0次下载
    Emulex One<b class='flag-5'>命令</b><b class='flag-5'>管理器</b><b class='flag-5'>命令行</b>界面脉冲适配器用户指南

    Emulex HBA管理器应用程序命令行界面用户指南 14.0版

    电子发烧友网站提供《Emulex HBA管理器应用程序命令行界面用户指南 14.0版.pdf》资料免费下载
    发表于 08-11 11:25 1次下载
    Emulex HBA<b class='flag-5'>管理器</b>应用程序<b class='flag-5'>命令行</b>界面用户指南 14.0版

    Emulex HBA管理器应用程序命令行界面

    电子发烧友网站提供《Emulex HBA管理器应用程序命令行界面.pdf》资料免费下载
    发表于 08-04 11:29 0次下载
    Emulex HBA<b class='flag-5'>管理器</b>应用程序<b class='flag-5'>命令行</b>界面

    Fcoder从命令行批量转换为TIFF

    命令行批量转换为TIFF 2TIFF图像转换软件是一个专业的命令行实用程序,用于以批处理模式将办公文档和图像转换为TIFF。基于简单的命令行语法,它可以在PC、服务器上使用,也可以内
    的头像 发表于 05-22 14:13 426次阅读
    Fcoder从<b class='flag-5'>命令行</b>批量转换为TIFF