WSL(Windows上的Linux子系统)
WSL(Windows上的Linux子系統(tǒng))
WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微軟改名部KPI++),在wsl環(huán)境下我們可以運行一些Linux程序。
首先要說一句,其實Windows 10在一周年更新(1607,內部版本14393)的時候就加入了wsl,但是直到剛剛更新的秋季創(chuàng)意者更新(1709,內部版本16299),wsl才正式脫離beta,逐漸趨于穩(wěn)定,所以我選擇這個時候再寫這篇文章。以下內容都是基于秋季創(chuàng)意者更新(1709,內部版本16299.19)。
接下來,我們正式介紹并安裝wsl。
Windows Subsystem for Linux(簡稱WSL)是一個為在Windows 10上能夠原生運行Linux二進制可執(zhí)行文件(ELF格式)的兼容層。它是由微軟與Canonical公司合作開發(fā),目標是使純正的Ubuntu14.04 "Trusty Tahr"映像能下載和解壓到用戶的本地計算機,并且映像內的工具和實用工具能在此子系統(tǒng)上原生運行。[1][2][3]
WSL提供了一個微軟開發(fā)的Linux兼容內核接口(不包含Linux代碼),來自Ubuntu的用戶模式二進制文件在其上運行。[4]
該子系統(tǒng)不能運行所有Linux軟件,例如那些圖形用戶界面,以及那些需要未實現(xiàn)的Linux內核服務的軟件。[5]不過,這可以用在外部X服務器上運行的圖形X Window系統(tǒng)緩解。[6]
此子系統(tǒng)起源于命運多舛的Astoria項目,其目的是允許Android應用運行在Windows 10 Mobile上。[5]此功能組件從Windows 10 Insider Previewbuild 14316開始可用。[7]
——維基百科
首先打開設置,進入應用,選擇程序和功能,點擊啟用或關閉Windows功能,勾選適用于Linux的Windows子系統(tǒng),接下來重啟。
在beta的時候我們需要在powershell里面輸入bash才能下載wsl,而且沒有國內下載節(jié)點,不支持斷點續(xù)傳,所以一旦網絡不穩(wěn)定就廢了。在1709版本的Windows10中,我們可以去商店搜索Ubuntu來下載,現(xiàn)在不但有Ubuntu,還有SUSE和openSUSE。(在Windows商店里下載Ubuntu是不是感覺很詭異w(?Д?)w
安裝完成之后我們就可以進行折騰了,有人可能會好奇那如何使用windows上的文件呢?其實windows的目錄全部掛載在/mnt這個目錄下,我們可以在/mnt/c目錄下看到c盤的各種文件。好了,先運行一下screenfetch來看看。
作為一個java web developer,常用的大概就是ssh,git,jdk,tomcat,nginx等等。我們一一來測試一下。
SSH
我們可以看到ssh遠程連接可以正常使用,所以嘛putty或者xshell這種東西可以卸載了(逃
Git
git的各種命令也很正常。
JDK
接下來測試jdk,我們來編譯一小段代碼試試看,可以看到jdk也沒什么問題。
Tomcat&Nginx
我們啟動tomcat,然后在Edge瀏覽器里面訪問,便可以看到tomcat的默認首頁,是不是很神奇?當然nginx也是沒有問題的。
另外,gcc和clang經過測試也可以使用,這里就不再展示了。
據說大神們已經可以在wsl上運行圖形化的Linux程序了,這點我沒有測試過,有興趣的小伙伴可以自行折騰。
那如果我們把wsl里面的環(huán)境折騰亂掉怎么辦?得益于Windows商店的好處,我們只要卸載并重新在商店下載即可。
最后,我認為wsl對windows平臺的開發(fā)者絕對是重大利好,一方面,一部分linux上好用的工具也可以在windows平臺上使用了,另一方面,在windows上開發(fā)好的程序可以直接部署到wsl上測試,這樣就能保證開發(fā)環(huán)境和生產環(huán)境盡可能的相似。好了,Enjoy it!
(btw,貼幾個wsl的相關資料,感興趣的小伙伴自行閱讀研究。
release notes:
https://msdn.microsoft.com/en-us/commandline/wsl/release_notes
WSL團隊的blog:
https://blogs.msdn.microsoft.com/wsl/
issue tracker:
https://github.com/Microsoft/BashOnWindows/issues
總結
以上是生活随笔為你收集整理的WSL(Windows上的Linux子系统)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java application作用域_
- 下一篇: 看中道音响如何焕新你的居家24h