Windows 和 WSL 間的檔案存取和傳輸介紹

在 Windows 下的 Linux 子系統(WSL) 和 Windows 主系統要如何傳輸或是相互存取檔案呢?
下面將介紹在不同系統間存取檔案和直接開啟指向當前目錄的檔案總管視窗,不過要注意的是在 Windows 的檔案系統中檔名和路徑不區分大小寫,但是 Linux 區分大小寫,在使用時需要注意。

在 Windows 主系統中查看 WSL 的檔案

只要在檔案總管的路徑列輸入下面這行就可以跳至 WSL 的檔案位置了
    
\\wsl$
    


這裡的資料夾都是直接使用 WSL 的名稱命名,點進去就是 WSL 的檔案了,例如筆者的 Ubuntu 22.04 的家目錄路徑為:
    
\\wsl$\Ubuntu-22.04\home\ruyut
    

在 WSL 中查看 Windows 主系統的檔案

在 WSL 中在根目錄下面有個 mnt 資料夾,可以在裡面看到對應電腦的 C 槽,也可以使用相對應的路徑找到 Windows 主系統中的檔案,例如筆者桌面資料夾的路徑在 WSL 中的路徑為:
    
/mnt/c/Users/ruyut/Desktop
    


不過因為兩個系統相互獨立,不建議直接操作不同系統間的檔案,如果真的需要的話還是建議使用複製的方式將不同系統間的檔案複製過去再做編輯。

在檔案總管中開啟當前檔案位置

不論是在 PowerShell 或是 WSL 中輸入下面的指令都會開啟檔案總管視窗並切換到當前目錄(包含 ".")
    
explorer.exe .
    

開啟後就可以很方便的在檔案總管視窗內複製、移動等對檔案進行操作了

參考資料:
Microsoft.Learn - Working across Windows and Linux file systems

留言