在19H1(目前處于 階段,預計4月份正式推送)中,微軟為適用于Linux的子系統帶來了一項有趣的功能,這項功能允許用戶從 10訪問Linux子系統中的文件,今天的這期教程,我們來討論這一功能的具體用法。
一、前提條件
在開始使用這一新功能之前,請確保你的設備正在運行的 10系統滿足以下條件:
在開始使用上文我們所提到的這一功能之前,請確保以下條件的滿足:
要在 10中啟用Linux子系統,請先確認你的計算機所使用的處理器支持虛擬化技術,且該項功能已經開啟;
然后,我們需要在“控制面板”-“程序”-“啟用或關閉功能”中勾選“適用于Linux的子系統”,接著重新啟動 10;
最后,我們需要在微軟商店(過去叫商店)中下載、安裝并簡單設置Linux子系統。
在適用于Linux的子系統剛剛推出時,我們只有一個發行版可選,不過現在,除了之外,我們還可以選擇、SUSE Linux、、Kali Linux等其他發行版。
今天的這期教程適用于微軟商店中所提供的所有Linux發行版。
二、在資源管理器中訪問文件
現在,我們已經可通過 10中的文件資源管理器來Linux子系統中的文件,就像我們平時訪問和管理 10里的文件一樣。對于Linux子系統中的文件,我們不僅可以使用 10的文件資源管理器來執行移動、復制和粘貼等操作,我們甚至可以使用++或者 Code來編輯它們。
當我們處于Linux子系統的命令行窗口時,只需輸入并執行下面這行命令,我們即可以在文件資源管理器中訪問和管理Linux子系統中我們當前所處的文件路徑下的文件:
.exe .
提示:在輸入和執行以上命令時深入理解計算機系統txt,請注意,.exe和.之間有個空格。
例如,當我們在正在運行的Linux子系統中執行下面這行命令:
cd /home/
那么我們所處的路徑將為/home/
此時,我們若在Linux的命令行中執行下面這行命令:
.exe .
那么文件資源管理器將會訪問Linux子系統中/home下的文件和文件夾。
同樣地深入理解計算機系統txt,我們可以通過這一原理訪問Linux子系統中幾乎所有的文件。
三、在中訪問文件
有些時候,我們需要在中訪問Linux子系統里的文件,這并非是件難事。
Linux子系統的文件目錄在文件資源管理器中的路徑為:
\\wsl$\正在運行的Linux發行版的名稱\
例如:
\\wsl$\
熟悉CMD或者命令的同學可能已經猜到應該怎樣做了。是的,用dir命令即可。
例如,如果我們想要使用來訪問子系統中的文件,那么我們一共需要執行兩條命令,第一條命令是:
cd \\wsl$\
這條命令的作用是切換到Linux子系統根目錄中的文件所在的路徑;
第二條命令是:
dir
這條命令是獲取當前文件路徑下的文件(包括文件夾)列表。
四、已知問題
通過文件資源管理器來訪問Linux子系統中的文件是 10上的一個新功能(目前處于預覽階段),它可能并不完美,以下是微軟在其官方博客中提到的一些已知問題:
1、就目前來說,只有當某一Linux子系統運行時,我們才可以從文件資源管理器訪問它里面的文件,據IT之家了解,微軟將會在未來的更新中提供文件資源管理器對處于非運行狀態的Linux子系統中的文件的訪問支持。
2、如果你想在命令提示符(CMD)中操作Linux子系統里的文件,那么請注意,由于CMD不支持將UNC路徑作為當前目錄,所以類似于:
cd \\wsl$\\home
這樣的命令是無法執行的。
不過,類似于下面這樣的命令執行起來則沒有問題:
copy \\wsl$\\home\\\test.txt C:\\
這行命令的作用是將系統/home/(用戶文件夾)//test.txt復制到系統C盤的文件夾內。
3、不要通過文件夾訪問你的Linux子系統中的文件,因為這很有可能會導致Linux系統中的文件損壞。
五、導出Linux分區至 10
如果當前 10中有Linux子系統正在運行,那么在將Linux分區導出至 10之前,請先結束目標Linux子系統的運行。方法如下:
首先,我們需要知道當前有哪些Linux發行版正在運行。為此,我們可以在 10的命令提示符或者中輸入并運行這行命令:
wsl.exe --list --
以為例,若要結束它的運行,那么我們需要執行的命令為:
wsl.exe --
如果你嫌上面那行命令太長,那么運行這行命令也可以:
wsl -
現在,我們已經結束了Linux子系統的運行。如果你忘了執行這一步也沒關系,因為當我們開始把Linux分區導出至 10時,Linux的運行將被強行終止。
要將Linux分區導出至 10,我們需要打開命令提示符或者,然后執行這個命令:
wsl.exe -- Linux發行版的名稱 要導出到的位置\導出的壓縮文件的文件名
例如,我們想把Linux分區導出至桌面,那么以小編的電腦為例,我們應該在命令提示符或者里面執行的命令為:
wsl -- C:\Users\\\.tar
在導出文件時,請耐心等待,因為導出的過程需要一些時間。
導出完成后,我們可以在目標位置看到一個.tar格式的壓縮文件,這個壓縮文件里面的內容就是Linux分區中的全部文件。
六、將導出的Linux歸檔文件導入到一個新的Linux子系統
在上一小節,我們已經將Linux分區中的全部文件導出到 10的桌面的一個歸檔文件里,現在,我們再嘗試著把這些文件導入到一個新的Linux子系統當中。這一操作可以用于克隆Linux子系統。
要執行這一導入操作,我們可以在命令提示符或者中執行這條命令:
wsl.exe -- 新的Linux子系統的名稱 新的Linux子系統的目標位置 TAR歸檔文件的路徑
例如:
wsl.exe -- C:\ C:\Users\\\.tar
在導入文件時,請耐心等待,因為導入的過程需要一些時間。
導入成功后,我們可以在新的Linux子系統的目標位置看到這樣兩個文件夾:
要運行新的Linux子系統,我們需要在命令提示符或者中執行以下命令:
wsl -- 新的Linux子系統的名稱
例如:
wsl --
若要刪除我們通過導入Linux歸檔文件而得到的這個新的Linux子系統,我們可以在命令提示符或者中執行這條命令:
wsl.exe -- 目標Linux子系統的名稱
例如:
wsl.exe --
七、總結
在今天的這期教程中,我們討論了在 10的文件資源管理器和中訪問Linux文件的方法,此外,我們還了解了如何將Linux分區導出至 10以及如何將 10中的Linux歸檔文件導入到一個新的Linux子系統當中。文中所述的方法看起來非常簡單,若親自動手實踐,你會發現它們做起來就和看起來一樣簡單。想要了解更多關于的使用技巧,請繼續關注IT之家學院。