小二是公司新來的實(shí)習(xí)生,之前面試的過程中對(duì)答如流,所以我非??春盟?。第一天,我給他了一臺(tái)新電腦,要他先在本地搭建個(gè) Java 開發(fā)環(huán)境。
二話不說,他就開始馬不停蹄地行動(dòng)了。真沒想到,他竟然是通過命令行的方式安裝的 JDK,這遠(yuǎn)遠(yuǎn)超出了我對(duì)他的預(yù)期。
我以為,他會(huì)使用圖形化的方式來安裝 JDK 的,就像這樣。
還有這樣。
結(jié)果他是這樣的。
臥槽!牛逼高大上??!
看著他熟練地在命令行里安裝 JDK 的樣子,我的嘴角開始微微上揚(yáng),真不錯(cuò)!這次總算招到了一個(gè)靠譜的。
于是我就安排他做一個(gè)記錄。從他嘴里了解到,他用的命令行軟件管理器叫 chocolatey,這是一個(gè)Windows下的命令行軟件管理器,可以方便開發(fā)者像在Linux下使用yum命令來安裝軟件,或者像在macOS下使用brew 命令來安裝軟件,我感覺非??犰?。
以下是他的記錄,一起來欣賞下。
關(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í)目錄。
-
目錄列表,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í)行過的命令。
-
命令歷史,macOS/Linux 下可以使用
history
命令查看所有使用過的命令。Windows 可以按下 F7 鍵。
- 解壓文件,后綴名為“.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
安裝完成后如下圖所示:
如果不確定是否安裝成功的話,可以通過鍵入choco
命令來確認(rèn)。
這里推薦幾個(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。
好,現(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是否安裝成功了。
不得不承認(rèn)!非常nice!
2)macOS
首先推薦安裝 homebrew,這是macOS下的命令行軟件管理器,用來簡(jiǎn)化 macOS 上軟件的安裝過程。homebrew 是開源的,在 GitHub 已收獲 32k star。
homebrew 的安裝也非常的簡(jiǎn)單,只需要一行命令即可。
官方網(wǎng)址:https://brew.sh/index_zh-cn
-
使用
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
第二種,通過 homebrew 官網(wǎng)搜索,比如說我們要搜索 openjdk。
官方地址:https://formulae.brew.sh
這里有一份不錯(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ū)版就沒有此功能。
vscode:更加輕量級(jí)的 IDE,在編寫Java代碼上可以和idea媲美,但要想調(diào)試Java代碼的話,vscode 和idea的差距還是非常明顯的。
我會(huì)使用 Intellij IDEA 開發(fā)編程喵的后端代碼,vscode 來開發(fā)編程喵的前端代碼。
sublime text:功能更強(qiáng)大的文本編輯器,比記事本這種強(qiáng)大一萬倍,也更符合21世紀(jì)開發(fā)者的外觀審美。如果只是簡(jiǎn)單的修改一下代碼格式,或者注釋,顯然更加方便,因?yàn)閕dea還是比較吃內(nèi)存的,出差旅行的時(shí)候,在筆記本上緊急修改一些代碼時(shí),更易用。
我會(huì)配合 GitHub 桌面版來使用 sublime text,編輯 MD 文檔的時(shí)候會(huì)比較舒服。
有了 chocolatey 和 homebrew,以后再安裝任何一款軟件,只要倉庫里有,只需要一行命令就可以搞定了,還是非常值得給大家安利的。
-
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)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論