小二是公司新來的實習生,之前面試的過程中對答如流,所以我非常看好他。第一天,我給他了一臺新電腦,要他先在本地搭建個 Java 開發環境。
二話不說,他就開始馬不停蹄地行動了。真沒想到,他竟然是通過命令行的方式安裝的 JDK,這遠遠超出了我對他的預期。
我以為,他會使用圖形化的方式來安裝 JDK 的,就像這樣。
還有這樣。
結果他是這樣的。
臥槽!牛逼高大上啊!
看著他熟練地在命令行里安裝 JDK 的樣子,我的嘴角開始微微上揚,真不錯!這次總算招到了一個靠譜的。
于是我就安排他做一個記錄。從他嘴里了解到,他用的命令行軟件管理器叫 chocolatey,這是一個Windows下的命令行軟件管理器,可以方便開發者像在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 的話需要手動安裝。
安裝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
安裝完成后如下圖所示:
如果不確定是否安裝成功的話,可以通過鍵入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!
2)macOS
首先推薦安裝 homebrew,這是macOS下的命令行軟件管理器,用來簡化 macOS 上軟件的安裝過程。homebrew 是開源的,在 GitHub 已收獲 32k star。
homebrew 的安裝也非常的簡單,只需要一行命令即可。
官方網址:https://brew.sh/index_zh-cn
-
使用
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
第二種,通過 homebrew 官網搜索,比如說我們要搜索 openjdk。
官方地址:https://formulae.brew.sh
這里有一份不錯的 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項目,但社區版就沒有此功能。
vscode:更加輕量級的 IDE,在編寫Java代碼上可以和idea媲美,但要想調試Java代碼的話,vscode 和idea的差距還是非常明顯的。
我會使用 Intellij IDEA 開發編程喵的后端代碼,vscode 來開發編程喵的前端代碼。
sublime text:功能更強大的文本編輯器,比記事本這種強大一萬倍,也更符合21世紀開發者的外觀審美。如果只是簡單的修改一下代碼格式,或者注釋,顯然更加方便,因為idea還是比較吃內存的,出差旅行的時候,在筆記本上緊急修改一些代碼時,更易用。
我會配合 GitHub 桌面版來使用 sublime text,編輯 MD 文檔的時候會比較舒服。
有了 chocolatey 和 homebrew,以后再安裝任何一款軟件,只要倉庫里有,只需要一行命令就可以搞定了,還是非常值得給大家安利的。
-
JAVA
+關注
關注
19文章
2970瀏覽量
104838 -
Shell
+關注
關注
1文章
366瀏覽量
23410
原文標題:發現一款好用到爆的Shell工具,被驚艷到了!
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論