關於WSL(Windows上的Linux子系統)的簡單介紹及安裝

来源:http://www.cnblogs.com/skyshalo/archive/2017/10/24/7724072.html
-Advertisement-
Play Games

WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微軟改名部KPI++),在wsl環境下我們可以運行一些Linux程式。 首先要說一句,其實Windows 10在一周年更新(1607,內部版本14393)的時候就加入 ...


    WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微軟改名部KPI++),在wsl環境下我們可以運行一些Linux程式。

    首先要說一句,其實Windows 10在一周年更新(1607,內部版本14393)的時候就加入了wsl,但是直到剛剛更新的秋季創意者更新(1709,內部版本16299),wsl才正式脫離beta,逐漸趨於穩定,所以我選擇這個時候再寫這篇文章。以下內容都是基於秋季創意者更新(1709,內部版本16299.19)。

    接下來,我們正式介紹並安裝wsl。

Windows Subsystem for Linux(簡稱WSL)是一個為在Windows 10上能夠原生運行Linux二進位可執行文件ELF格式)的相容層。它是由微軟Canonical公司合作開發,目標是使純正的Ubuntu 14.04 "Trusty Tahr"映像能下載和解壓到用戶的本地電腦,並且映像內的工具和實用工具能在此子系統上原生運行。[1][2][3]

WSL提供了一個微軟開發的Linux相容內核介面(不包含Linux代碼),來自Ubuntu的用戶模式二進位文件在其上運行。[4]

該子系統不能運行所有Linux軟體,例如那些圖形用戶界面,以及那些需要未實現的Linux內核服務的軟體。[5]不過,這可以用在外部X伺服器上運行的圖形X Window系統緩解。[6]

此子系統起源於命運多舛的Astoria項目,其目的是允許Android應用運行在Windows 10 Mobile上。[5]此功能組件從Windows 10 Insider Preview build 14316開始可用。[7]

——維基百科

    首先打開設置,進入應用,選擇程式和功能,點擊啟用或關閉Windows功能,勾選適用於Linux的Windows子系統,接下來重啟。

    在beta的時候我們需要在powershell裡面輸入bash才能下載wsl,而且沒有國內下載節點,不支持斷點續傳,所以一旦網路不穩定就廢了。在1709版本的Windows10中,我們可以去商店搜索Ubuntu來下載,現在不但有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裡面的環境折騰亂掉怎麼辦?得益於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:

https://github.com/Microsoft/BashOnWindows/issues


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 系統win7 32位 安裝office2010出現了錯誤,提示要安裝MSXML6.10.1129.0解決方法 1、下載MSXML6.10.1129.0進行安裝 2、若本機已安裝過不管用: a、在運行里輸入:regsvr32 /u msxml6.dll,然後確定 b、再次在運行里輸入:regsvr32 ...
  • 1.1 環境說明 [root@test ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@test ~]# uname -r 2.6.32-696.el6.x86_64 [root@test ~]# getenforce Dis ...
  • 一.背景 1.1 OS 版本 windows 10 1.2 source insight版本 source insight 3.50.0034 二.解決方案 刪除"我的文檔"下麵的source insight目錄 ...
  • 本文目錄:1. 入門示例:虛擬主機提供web服務2. tomcat體繫結構基本說明3. tomcat的appBase和docBase詳細說明 4. tomcat進階:tomcat配置文件server.xml詳解 4.1 頂級元素server 4.2 頂級元素service 4.3 執行器execut ...
  • 授權chmod 777 -R /home/xueyueziyan/桌面/配置備份chmod 777 -R /home/xueyueziyan/桌面/Softwares 安裝vsftpdyum -y install vsftpd 備份cp /etc/vsftpd/vsftpd.conf /home/x ...
  • 一主板: 主板是電腦中各個部件工作的一個平臺,它把電腦的各個部件緊密的連接在一起,各個部件通過主板進行數據傳輸。 二.中央處理器(cpu) cpu,是一臺電腦的運算核心和控制中心。其主要功能是解釋電腦指令以及處理電腦軟體中的數據。cpu是整個系統中最高的執行單元,因此cpu已成為決定電腦性能的 ...
  • 1》HAProxy簡介: HAProxy是免費,高效,可靠的高可用及負載均衡解決方案,該軟體非常適合於處理高負載站點的七層數據請求,HAProxy的工作模式使其可以非常容易且安全地集成 到我們現有的站點架構中,使用類似的代理軟體還可以對外屏蔽內部的真實WEB伺服器,防止內部伺服器遭受外部攻擊;HAP ...
  • 第一次面試遇到的問題,當時完全懵逼了 網上搜到的答案: 1. 管道( pipe ):管道是一種半雙工的通信方式,數據只能單向流動,而且只能在具有親緣關係的進程間使用。進程的親緣關係通常是指父子進程關係。 2. 有名管道 (named pipe) : 有名管道也是半雙工的通信方式,但是它允許無親緣關係 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...