WSL,Windows Subsystem for Linux,就是以前的Bash on [Ubuntu on] Windows(嗯,微軟更名部KPI++),在wsl環境下咱們能夠運行一些Linux程序。java
首先要說一句,其實Windows 10在一週年更新(1607,內部版本14393)的時候就加入了wsl,可是直到剛剛更新的秋季創意者更新(1709,內部版本16299),wsl才正式脫離beta,逐漸趨於穩定,因此我選擇這個時候再寫這篇文章。如下內容都是基於秋季創意者更新(1709,內部版本16299.19)。linux
接下來,咱們正式介紹並安裝wsl。nginx
Windows Subsystem for Linux(簡稱WSL)是一個爲在Windows 10上可以原生運行Linux二進制可執行文件(ELF格式)的兼容層。它是由微軟與Canonical公司合做開發,目標是使純正的Ubuntu 14.04 "Trusty Tahr"映像能下載和解壓到用戶的本地計算機,而且映像內的工具和實用工具能在此子系統上原生運行。[1][2][3]git
WSL提供了一個微軟開發的Linux兼容內核接口(不包含Linux代碼),來自Ubuntu的用戶模式二進制文件在其上運行。[4]github
該子系統不能運行全部Linux軟件,例如那些圖形用戶界面,以及那些須要未實現的Linux內核服務的軟件。[5]不過,這能夠用在外部X服務器上運行的圖形X Window系統緩解。[6]web
此子系統起源於命運多舛的Astoria項目,其目的是容許Android應用運行在Windows 10 Mobile上。[5]此功能組件從Windows 10 Insider Preview build 14316開始可用。[7]shell
——維基百科windows
首先打開設置,進入應用,選擇程序和功能,點擊啓用或關閉Windows功能,勾選適用於Linux的Windows子系統,接下來重啓。瀏覽器
在beta的時候咱們須要在powershell裏面輸入bash才能下載wsl,並且沒有國內下載節點,不支持斷點續傳,因此一旦網絡不穩定就廢了。在1709版本的Windows10中,咱們能夠去商店搜索Ubuntu來下載,如今不但有Ubuntu,還有SUSE和openSUSE。(在Windows商店裏下載Ubuntu是否是感受很詭異w(゚Д゚)wtomcat
安裝完成以後咱們就能夠進行折騰了,有人可能會好奇那如何使用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裏面的環境折騰亂掉怎麼辦?得益於Windows商店的好處,咱們只要卸載並從新在商店下載便可。
最後,我認爲wsl對windows平臺的開發者絕對是重大利好,一方面,一部分linux上好用的工具也能夠在windows平臺上使用了,另外一方面,在windows上開發好的程序能夠直接部署到wsl上測試,這樣就能保證開發環境和生產環境儘量的類似。好了,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: