1. 程式人生 > 其它 >Windows 和 Linux 合體,值得體驗

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 子系統詳細教程

最後,看完文章覺得實用的話,就順手點個贊吧。