用于Linux的Windows子系統(tǒng)之一更令人討厭的技巧是很難從Windows獲取Linux文件。哦,你可以做到,但你真的有機會破壞文件。引用微軟的話說,“在任何情況下,請不要使用Windows應用程序,工具,腳本,控制臺等訪問,創(chuàng)建和/或修改發(fā)行版文件系統(tǒng)中的文件”
在即將推出的Windows 2010年4月10日更新(又稱Windows 10 19H1)中,這個Linux文件問題最終將得到解決。
根據致力于Windows子系統(tǒng)Linux(WSL)的微軟編程經理Craig Loewen所說,“下一個Windows更新即將推出,我們正在為它帶來令人興奮的WSL更新!這些更新包括從Windows訪問Linux文件系統(tǒng),以及如何在命令行中管理和配置發(fā)行版的改進。“
通過此最新更新,您將能夠“輕松訪問Linux發(fā)行版中的所有文件”。它的工作原理是在Linux實例中運行 9P協(xié)議文件服務器。這是一種分布式文件網絡協(xié)議。在WSL中,它使您能夠使用Linux文件和文件系統(tǒng),同時支持其元數據和權限。Windows文件程序充當服務器的客戶端。它們使用AF_Unix套接字相互通信。Linux使用AF_Unix在進程之間進行通信。
如果技術細節(jié)讓您眼睛睜著眼睛,請不要擔心。從Windows訪問Linux文件很容易。
例如,要使用文件資源管理器,請開始運行Linux,確保當前文件夾是Linux主目錄,然后鍵入“資源管理器”。當它發(fā)布時,你已經準備好了。您還可以在Linux文件上使用大多數Windows文件命令。
直接從Windows,您可以通過訪問\\ wsl $ \ {distro name} \找到您的發(fā)行版文件,其中{distro name}是正在運行的發(fā)行版的名稱。
如果Linux未運行,您仍將無法訪問WSL文件。這將在稍后的Windows 10版本中出現。我懷疑我們會在即將發(fā)布的版本中看到它。
還有其他問題你也應該警惕。首先,由于您使用網絡協(xié)議訪問本地Linux文件,因此適用于訪問網絡資源的所有常規(guī)規(guī)則,例如,CMD cd \\ wsl $ \ Ubuntu \ home命令將無效,因為CMD不會t支持UNC路徑作為當前目錄。您也無法安全地訪問AppData文件夾中的Linux文件。如果您嘗試這樣做,那么您將繞過9P服務器,并且您確實存在損壞文件的危險。實際上,您可能會破壞您的Linux實例。
雖然文件改進是最大的改進,但還有其他重要的新命令行功能。這些包括能夠以不同用戶身份運行命令,終止運行分發(fā),以及導出和導入不同的發(fā)行版。
使用最后一個,您將能夠導出當前發(fā)行版的tar文件。有了這個,您可以與其他人共享您的發(fā)行版設置。然后,他們可以導入tar文件,以便他們可以運行自己的自定義發(fā)行版實例。
WSL一直很有用。通過這一最新版本,它將比以往更加輕松。