Windows 和 Linux 合體,值得體驗
想體驗 Linux,卻捨不得解除安裝 Windows ?
想學習 Linux,卻懶得裝 VM?
想使用 Linux,卻沒有第二臺電腦?
很多小白內心的 OS 是,為毛這個世界這麼複雜,需要各平臺切換來切換去的,還能不能讓我安靜的程式設計了。
好吧,也許跟我一樣喜歡極簡的你,可以體驗一下這個 Windows 10 的新功能。
確切得說,不應該叫做 Windows / Linux 合體。它實際上是 Windows 10 新推出的專屬 Linux 的 Windows 子系統。
官方名稱為Bash/WSL。
也可以叫做Bash on Ubuntu on Windows。
也許很多人已經使用過這個功能了,但是在這裡,我不防再給大家普及一下,因為我覺得使用它確實太方便了。
什麼是 Bash/WSL
WSL 的全稱是 Windows Subsystem for Linux,所謂 Bash,是一個 Linux Shell。
通俗點講,就是一個 Windows 中只帶命令列、不帶 GUI 的 Linux 系統。
先上個圖給大家感受一下吧。
安裝好之後,它會出現在開始選單。
接下來出現的命令列就跟 Linux 上的終端一模一樣了。
沒錯,這就是 Windows 中的 Linux 系統。
從圖中,你可以看出當前所用系統以及 Linux 目錄結構。
Windows 10 creators update 中裝的是 Ubuntu 16.04.2 LTS。
Bash/WSL 評價
也許有人把它當作一個不中用的玩具,可是微軟的確是想把它打造成一個真的二手轉讓地圖系統,讓使用者可以在 Windows 和 Linux 之間自由切換。
從微軟的官方說明看,這不僅僅是給拿來學習和練手的大學生用的,Bash/WSL 面向的使用者是眾多的開發者:
- Web / App 開發者,
- Open Source 開發者,
- 跨平臺開發者。
所以我們有理由相信,跟原生 Linux 相比,Bash/WSL 有著接近相同的使用體驗。
有權威人士使用跨平臺的效能測試工具進行測試發現,在 Windows 下執行這些原生的 ELF 二進位制程式和在 Linux 下執行所消耗的 CPU 、記憶體和 IO 效能相當。
另外,Bash/WSL 擁有原生 Linux 大部分的功能:
- 執行 Linux 大部分的命令,例如 grep, sed, awk 等等。
- 使用 Linux 相容檔案系統、目錄結構,無縫訪問 Windows 目錄。
- 執行 Bash Shell 指令碼,以及 Linux 命令列 App (vim,emacs 等)。它支援多種語言 (Javascript/node.js, Ruby, Python, C/C++, C# & F#, Rust, Go 等)和服務(sshd, MySQL, Apache, lighttpd)。
- 通過 apt 安裝 Linux 工具。
- 等等。
當然, 目前來說,它僅僅只有一歲,還有著很多的侷限,例如:
- 僅僅支援命令列,不支援 GUI
- 只支援 Ubuntu
- Linux 功能支援不完備
不過我相信以微軟的實力,Bash/WSL 功能會越來越完善,體驗會越來越好的。
我在前面一篇文章中講過,VS2015/2017 可以進行 Linux 開發,這恰恰是 Bash/WSL 的有力補充。 有了WSL,再加上 Visual Studio,真的給開發人員帶來很大的便利,不用再惱火得在各個平臺之間切換了。
網上有人評論說,這個功能晚了 10 年,早出來的話,早就大一統了。雖然略顯誇張,但我還是很支援微軟的這個 Linux 功能,因為對開發人員來說,有的時候,簡單未必不是好事。
不過有一點大家搞清楚,微軟提供的 Linux 的所有功能都在 User Mode,做嵌入式或者本身需要操作 Linux Kernel 的,你還得用真實的 Linux ,這一點不可替代。
嘗試一下
我前面說了這麼多,你是不是也有點躍躍欲試,想安裝下體驗看看了?
那麼開始吧。
首先,你的電腦系統必須同時滿足以下兩個條件:
至少是 Windows 10 Anniversary Update
必須是 64 bit
然後,想繼續安裝的話,看我下面這篇文章吧:
在 Windows 上搭建 Linux 子系統詳細教程
最後,看完文章覺得實用的話,就順手點個贊吧。