WSL2檔案操作慢的解決辦法

2021-10-19 00:02:45 字數 1031 閱讀 4070

wsl1公升級到wsl2跨 os 檔案系統的效能是降低的,也就是在子系統中操作父windows系統上的檔案,wsl2是較wsl1慢的。

原因很簡單,wsl2使用了vm來執行linux核心,在wsl2上面操作windows上的檔案需要在windows檔案系統、vm上繞一圈。

大家知道執行在vm上的系統是無法直接與宿主系統進行跨系統通訊的,這兩者之間的通訊需要依賴於網路,儘管他們是執行在同一臺電腦之上。wsl2子系統與父windows系統之間的檔案互通也是依靠網路埠的,這也就是wsl2跨os檔案操作慢的根本原因。

既然知道了原因,那麼問題就很好解決了。

跨系統直接操縱檔案需要經過網路,速度自然很慢,所以要盡量避免跨系統直接操作對方系統上的檔案。

在需要跨系統使用檔案的時候,我們可以提前在當前系統上將檔案拷貝到目標系統上。例如:

我們需要在子系統上訪問windows系統上的某個檔案時,可以先在windows檔案資源管理器上,將檔案拷貝到子系統上的目標位置,然後再子系統上直接訪問,這樣可以節省在兩個系統之間做磁碟對映的時間。

父windows系統訪問子linux系統的檔案:

直接在檔案資源管理器輸入\\wsl$就可以訪問到wsl子系統的檔案系統:

或者win+r輸入\\wsl$

linux子系統訪問父windows系統的檔案:

直接cd /mnt就可以看到c/、d/兩個資料夾,對應的就是電腦上的c盤、d盤,cd進去就可以訪問對應windows上的檔案:

WSL2操作報錯解決一二

修改 etc下的檔案時,wq 進行儲存退出,退出不了,一直提示 e212 can t open file for writing 意思是不能儲存。原因 許可權不夠,普通無法儲存,需要使用超級使用者才可以。執行切換到超級使用者命令 sudo su1.切換到root使用者下 開頭的方法 2.etc su...

2 檔案操作

新增檔案到版本庫 先保證檔案在之前建立的倉庫目錄下 第一步,用命令 git add告訴git,把檔案新增到倉庫 執行完後沒什麼顯示就對了 第二步,用命令 git commit告訴git,把檔案提交到倉庫 m後面輸入的是本次提交的說明,可以輸入任意內容 注意 commit可以一次提交很多檔案,所以你可...

2 檔案 檔案操作

def fileno self,args,kwargs real signature unknown 返回檔案控制代碼在核心中的索引值,以後做io多路復用時可以用到 def flush self,args,kwargs real signature unknown 把檔案從記憶體buffer裡強制重...