Windows10 系統的 Linux Subsystem與真正的 Linux 有什麼區別?


MSDN有四篇blog寫這個:

Windows Subsystem for Linux Overview?

blogs.msdn.microsoft.com圖標

這是第一篇,裡面有其他三篇的鏈接。

這東西同你通常見到的Linux發行版差距還是挺大的,比如init就不是流行的systemd,這樣一來好多腳本和軟體包就跪了。

替代cygwin可以,替代Linux不行。


你可以拿一本Linux的書來對照著學,在你學到"文件"那一節之前你會在WSL里享受一段歲月靜好的時光。


linux子系統不能擁有獨立的圖形界面,而獨立的linux系統可以有


子系統的root用戶許可權低於windows管理員許可權,如果你不以管理員運行子系統shell的話,有些操作(例如設置防火牆)會有莫名其妙的錯誤。

總之,想用子系統,請每次以管理員方式運行shell


補充一個具體而微的,跑不了docker


首先,你連linux都能打錯,所以他們的區別對你來說不是很重要。

其次,這兩個東西完全不是一回事,不能比較,win10的子系統只是為了方便開發者。第一個重點詞:「方便」,僅僅只是為了提供linux的一些常用功能而已,還有許多功能做的不是太好,甚至有bug。第二個重點詞:「開發者」,win10的子系統主要面向開發者,一般用戶基本用不到(當然你想裝沒人攔你),所以只提供命令行界面以及配色(許多linux上的配色在子系統上顯示效果很差),當然,對於開發者而已,命令行已經足夠了,即使是我電腦里安裝了Ubuntu(linux的其中一個發行版),我用到的也只是命令行,系統本身自帶的其他功能不怎麼用,因為命令行已經足夠了!!!

最後,因為種種原因,win10的子系統在一定程度上運行速度比linux慢很多,最主要體現在安裝軟體的時候,linux一般10秒能完成的事情,win10子系統需要一分鐘以上,甚至更多。

總而言之,條件允許的話,建議安裝雙系統,條件不允許的話,可以用win10子系統嘗嘗鮮,相信在你努力專研linux的命令之後,你也會和我一樣愛上linux的。


差別大了

橘生於淮南則為橘,生於淮北則為枳 大概就是這麼個意思吧


你自己去實際裝一個linux就知道差別了。


內核不一樣啊,那麼對底層硬體的支持和處理方式也不一樣。我認為win出wsl一個重要原因是方便使用docker。


謝邀

其實區別有許多,下面以最有名的Linux發行版——Ubuntu(以下簡稱母系統)及Windows10下面的Ubuntu子系統(以下簡稱子系統)舉例

1.母系統在安裝時有圖形化界面,雖然對Windows用戶說不太好看,而子系統只有命令型,沒有圖形化界面

2.母系統圖形化界面安裝在安裝時和Windows途徑一樣——安裝包安裝,商店安裝,當然還有一個命令型安裝(Windows更多為10裡面的系統應用安裝,比如商店),而子系統,你確定能安裝什麼東西?

3.母系統只要會一點基本操作的人就OK(雖然調查出來大部分人不會用這個界面),而子系統更多的是針對開發者使用,不一樣

如果一定要用Linux,推薦虛擬機,只要設置內存和硬碟大,性能夠用就可以用了;或者雙系統也不錯。除非你是Windows端開發者,可以嘗試使用


Linux系統是用來幹嘛的呢?

1.伺服器系統

2.開發人員工具

3.因為需求

Windows10子系統Linux能幹嘛呢?

裝x咯!可能更方便吧!


說個最簡單的,TCP協議實現就不完善,例如:

向一個socket寫入大量數據,寫到一半就讓對方關閉此埠

如果是正常的協議實現,在自己的程序下一次寫埠時應該得到一個ECONNRESET,但是實際上得到的是EPIPE

而向一個已經關閉的埠上寫入數據,得到的是EPIPE(這個是對的)

也就是說WSL中linux子系統沒有百分百的按照TCP協議實現TCP棧,在這個子系統上使用一些軟體可以(當然也有可能遇到神奇的BUG),但是涉及到做實驗及觀察現象時,請用虛擬機或者真機


推薦閱讀:

TAG:操作系統 | Linux | Ubuntu | Windows10 | WindowsSubsystemforLinux |