夿³¨
è®¿é®æ¤é¡µé¢éè¦ææã å¯ä»¥å°è¯ç»å½ææ´æ¹ç®å½ã
è®¿é®æ¤é¡µé¢éè¦ææã å¯ä»¥å°è¯æ´æ¹ç®å½ã
å¼å人åå¯ä»¥å¨ Windows è®¡ç®æºä¸åæ¶è®¿é® Windows å Linux ç强大åè½ã åå©éç¨äº Linux ç Windows åç³»ç»ï¼WSLï¼ï¼å¼å人åå¯ä»¥å®è£ Linux ååçï¼å¦ UbuntuãOpenSUSEãKaliãDebianãArch Linux çï¼ï¼å¹¶å¨ Windows ä¸ç´æ¥ä½¿ç¨ Linux åºç¨ç¨åºãå®ç¨å·¥å ·å Bash å½ä»¤è¡å·¥å ·ï¼æªç»ä¿®æ¹ï¼ï¼æ éä¼ ç»èææºæåå 设置çå¼éã
å 峿¡ä»¶
å¿ é¡»è¿è¡ Windows 10 çæ¬ 2004 åæ´é«çæ¬ï¼å é¨çæ¬ 19041 åæ´é«çæ¬ï¼æ Windows 11 æè½ä½¿ç¨ä»¥ä¸å½ä»¤ã å¦æä½¿ç¨çæ¯æ©æçæ¬ï¼è¯·åé æå¨å®è£ 页ã
å®è£ WSL å½ä»¤
ç°å¨ï¼å¯ä»¥ä½¿ç¨å个å½ä»¤å®è£ è¿è¡ WSL æéçææå 容ã å³é®åå»å¹¶éæ©â以管çå身份è¿è¡âï¼å¨ 管çå æ¨¡å¼ä¸æå¼ PowerShell æ Windows å½ä»¤æç¤ºç¬¦ï¼è¾å ¥ wsl --install å½ä»¤ï¼ç¶åéæ°å¯å¨è®¡ç®æºã
wsl --install
æ¤å½ä»¤å°å¯ç¨è¿è¡ WSL å¹¶å®è£ Linux ç Ubuntu ååæéçåè½ã ï¼å¯ä»¥æ´æ¹æ¤é»è®¤åå¸ï¼ã
妿è¿è¡çæ¯è¾æ§ççæ¬ï¼æè åªæ¯ä¸æ³ä½¿ç¨å®è£ å½ä»¤ï¼å¹¶ä¸æ³è¦åæ¥è¯´æï¼è¯·åé éç¨äºæ§çæ¬ç WSL æå¨å®è£ æ¥éª¤ã
馿¬¡å¯å¨æ°å®è£ ç Linux ååçæ¶ï¼æ§å¶å°çªå£å°æå¼ï¼ç³»ç»ä¼è¦æ±ä½ çå¾ æä»¶åæ¶å缩并åå¨å¨è®¡ç®æºä¸ã æææªæ¥çåå°åºè¯¥éè¦ä¸å°ä¸ç§éçæ¶é´ã
注é
ä»
å½ WSL æ ¹æ¬ä¸å®è£
æ¶ï¼ä¸è¿°å½ä»¤æææã 妿è¿è¡ wsl --install
å¹¶æ¥ç WSL 叮婿æ¬ï¼è¯·å°è¯è¿è¡ wsl --list --online
以æ¥çå¯ç¨åè¡çå表并è¿è¡ wsl --install -d <DistroName>
以å®è£
åè¡çã
è¥è¦å¸è½½ WSLï¼è¯·åé
å¸è½½æ§ç WSL æ æ³¨éæå¸è½½ Linux ååçã
æ´æ¹å®è£ çé»è®¤ Linux ååç
é»è®¤æ
åµä¸ï¼å·²å®è£
ç Linux ååçå°ä¸º Ubuntuã å¯ä»¥éè¿ä½¿ç¨-d
æ å¿æ¥æ´æ¹è¿ä¸ç¹ã
- è¥è¦æ´æ¹å®è£
çååçï¼è¯·è¾å
¥ï¼
wsl --install -d <Distribution Name>
å°<Distribution Name>
æ¿æ¢ä¸ºæ¨æ³è¦å®è£ çååçåç§°ã - è¥è¦æ¥çå¯éè¿å¨çº¿ååºä¸è½½çå¯ç¨ Linux ååççå表ï¼è¯·è¾å
¥ï¼
wsl --list --online
æwsl -l -o
ã - è¥è¦å¨åå§å®è£
åå®è£
å
¶ä» Linux ååçï¼ä¹å¯ä»¥ä½¿ç¨ä»¥ä¸å½ä»¤ï¼
wsl --install -d <Distribution Name>
å°çªé¨
妿è¦ä» Linux/Bash å½ä»¤è¡ï¼è䏿¯ PowerShell æå½ä»¤æç¤ºç¬¦ï¼å®è£
å
¶ä»ååçï¼åå¿
é¡»å¨å½ä»¤ä¸ä½¿ç¨ .exeï¼æååºå¯ç¨ååçï¼ wsl.exe --install -d <Distribution Name>
wsl.exe -l -o
妿å¨å®è£ è¿ç¨ä¸éå°é®é¢ï¼è¯·æ¥çæ éæé¤æå å®è£ é¨åã
è¥è¦å®è£
æªå为å¯ç¨ç Linux ååçï¼å¯ä»¥ä½¿ç¨ TAR æä»¶ 导å
¥ä»»ä½ Linux åå çã æè
å¨æäºæ
åµä¸ï¼ä¸ Arch Linux 䏿 ·ï¼å¯ä»¥ä½¿ç¨æä»¶è¿è¡å®è£
.appx
ã è¿å¯ä»¥å建èªå·±ç èªå®ä¹ Linux ååç ï¼ä»¥ä¾¿ä¸ WSL ä¸èµ·ä½¿ç¨ã
设置 Linux ç¨æ·ä¿¡æ¯
å®è£ WSL åï¼éè¦ä¸ºæ°å®è£ ç Linux ååçåå»ºç¨æ·å¸æ·åå¯ç ã 请åé 设置 WSL å¼åç¯å¢æåçæä½³åæ³ ï¼äºè§£è¯¦ç»ä¿¡æ¯ã
é ç½®åæä½³å®è·µ
建议éµå¾ªæä»¬ç 设置 WSL å¼åç¯å¢çæä½³å®è·µ æåï¼éè¿éæ¥æ¼ç¤ºæ¥äºè§£å¦ä½ä¸ºå·²å®è£ ç Linux åè¡çè®¾ç½®ç¨æ·ååå¯ç ï¼ä½¿ç¨åºæ¬ WSL å½ä»¤ï¼å®è£ åèªå®ä¹ Windows ç»ç«¯ï¼ä¸º Git çæ¬æ§å¶ã代ç ç¼è¾åè°è¯ä½¿ç¨ VS Code è¿ç¨æå¡å¨ï¼å¥½çæä»¶åå¨å®è·µï¼è®¾ç½®æ°æ®åºï¼è£ è½½å¤é¨é©±å¨å¨ï¼è®¾ç½® GPU å éçã
æ£æ¥ä½ æ£å¨è¿è¡ç WSL ççæ¬
å¯ä»¥éè¿å¨ PowerShell æ Windows å½ä»¤æç¤ºç¬¦ä¸è¾å
¥å½ä»¤ wsl -l -v
æ¥ååºå·²å®è£
ç Linux åè¡çï¼å¹¶æ£æ¥æ¯ä¸ªåè¡ç设置ç WSL çæ¬ã
è¥è¦å¨å®è£
æ°ç Linux ååçæ¶å°é»è®¤çæ¬è®¾ç½®ä¸º WSL 1 æ WSL 2ï¼è¯·ä½¿ç¨ä»¥ä¸å½ä»¤ wsl --set-default-version <Version#>
ï¼æ¿æ¢ä¸º <Version#>
1 æ 2ã
è¦è®¾ç½®é»è®¤ç Linux åè¡ç以ç¨äº wsl
å½ä»¤ï¼è¯·è¾å
¥ï¼å¨ wsl -s <DistributionName>
æ wsl --set-default <DistributionName>
ä¸å° <DistributionName>
æ¿æ¢ä¸ºä½ æ³ä½¿ç¨ç Linux åè¡çåç§°ã ä¾å¦ï¼å¨ PowerShell/CMD ä¸ï¼è¾å
¥ï¼ wsl -s Debian
å°é»è®¤åå设置为 Debianã ç°å¨ï¼ä» Powershell è¿è¡ wsl npm init
å°å¨ Debian ä¸è¿è¡ npm init
å½ä»¤ã
è¥è¦å¨ä¸æ´æ¹é»è®¤ååçæ
åµä¸ä» PowerShell æ Windows å½ä»¤æç¤ºç¬¦å
è¿è¡ç¹å®ç wsl ååçï¼è¯·ä½¿ç¨ä»¥ä¸å½ä»¤ï¼ wsl -d <DistributionName>
ï¼æ¿æ¢ä¸º <DistributionName>
è¦ä½¿ç¨çååçåç§°ã
å¨ WSL åºæ¬å½ä»¤æåä¸äºè§£è¯¦ç»ä¿¡æ¯ã
å°çæ¬ä» WSL 1 åçº§å° WSL 2
é»è®¤æ
åµä¸ï¼ä½¿ç¨ wsl --install
å½ä»¤å®è£
çæ° Linux å®è£
å°è®¾ç½®ä¸º WSL 2ã
该 wsl --set-version
å½ä»¤å¯ç¨äºä» WSL 2 éçº§å° WSL 1ï¼æå°ä»¥åå®è£
ç Linux ååçä» WSL 1 éçº§å° WSL 2ã
è¥è¦æ¥ç Linux ååçæ¯å¦è®¾ç½®ä¸º WSL 1 æ WSL 2ï¼è¯·ä½¿ç¨ä»¥ä¸å½ä»¤ï¼ wsl -l -v
è¥è¦æ´æ¹çæ¬ï¼è¯·ä½¿ç¨å½ä»¤ï¼ wsl --set-version <distro name> 2
æ¿æ¢ä¸º <distro name>
è¦æ´æ°ç Linux ååççåç§°ã ä¾å¦ï¼ wsl --set-version Ubuntu-20.04 2
å° Ubuntu 20.04 ååçè®¾ç½®ä¸ºä½¿ç¨ WSL 2ã
妿å¨å½ä»¤å¯ç¨ä¹å wsl --install
æå¨å®è£
äº WSLï¼åè¿å¯è½éè¦å¯ç¨ WSL 2 使ç¨ç èææºå¯éç»ä»¶ ï¼å¹¶ å®è£
å
æ ¸å
ï¼å¦æå°æªè¿æ ·åï¼ã
è¥è¦äºè§£æ´å¤ä¿¡æ¯ï¼è¯·åé WSL çå½ä»¤åè以è·å WSL å½ä»¤åè¡¨ï¼æ¥ç WSL 1 å WSL 2 çæ¯è¾ä»¥è·å¾å ³äºæ¨å·¥ä½åºæ¯éç¨çæ¬çæå¯¼ï¼æåè 设置 WSL å¼åç¯å¢çæä½³å®è·µä»¥è·åå ³äºè®¾ç½®é«æå¼å工使µç¨çä¸è¬æå¯¼ã
ä½¿ç¨ WSL è¿è¡å¤ä¸ª Linux ååççæ¹æ³
WSL æ¯æè¿è¡æ¨æ³å®è£ ç许å¤ä¸åç Linux åè¡çã è¿å æ¬ä» Microsoft åºç¨ååºä¸éæ©ååçã å¯¼å ¥èªå®ä¹ååçæ çæèªå·±çèªå®ä¹ååçã
å®è£ Linux ååçåï¼å¯éè¿å¤ç§æ¹å¼è¿è¡ï¼
- å®è£ Windows ç»ç«¯ï¼æ¨èï¼ãä½¿ç¨ Windows ç»ç«¯å¯ä»¥æ¯æå¤ä¸ªå½ä»¤è¡ï¼å¹¶å 许æ¨å¨å¤ä¸ªé项塿çªå£çªæ ¼ä¸æå¼å®ä»¬ï¼å¹¶è½å¨å¤ä¸ª Linux åè¡çæå ¶ä»å½ä»¤è¡ï¼å¦ PowerShellãå½ä»¤æç¤ºç¬¦ãAzure CLI çï¼ä¹é´å¿«é忢ã å¯ä»¥ä½¿ç¨ç¬ç¹çé è²æ¹æ¡ãå使 ·å¼ã大å°ãèæ¯å¾ååèªå®ä¹é®çå¿«æ·æ¹å¼å®å ¨èªå®ä¹ç»ç«¯ã äºè§£è¯¦ç»ä¿¡æ¯ã
- å¯ä»¥éè¿è®¿é® Windows å¼å§èåå¹¶é®å ¥å·²å®è£ çååççåç§°æ¥ç´æ¥æå¼ Linux ååçã ä¾å¦ï¼âUbuntuâã è¿å°å¨ä¸ä¸ªç¬ç«çæ§å¶å°çªå£ä¸æå¼ Ubuntuã
- å¨ Windows å½ä»¤æç¤ºç¬¦æ PowerShell ä¸ï¼å¯ä»¥è¾å
¥å·²å®è£
çååççåç§°ã ä¾å¦ï¼
ubuntu
- å¨ Windows å½ä»¤æç¤ºç¬¦æ PowerShell ä¸ï¼å¯ä»¥éè¿è¾å
¥ï¼
wsl.exe
å¨å½åå½ä»¤è¡ä¸æå¼é»è®¤ Linux ååçã - å¨ Windows å½ä»¤æç¤ºç¬¦æ PowerShell ä¸ï¼å¯ä»¥éè¿è¾å
¥ï¼
wsl [command]
ï¼å¨å½åå½ä»¤è¡ä¸ä½¿ç¨é»è®¤ Linux ååçï¼èæ éè¾å ¥æ°åè¡çã ä½ å¯ä»¥ç¨[command]
æ¿æ¢ä¸º WSL å½ä»¤ï¼ä¾å¦ï¼wsl -l -v
ååºå·²å®è£ çåè¡çï¼æwsl pwd
æ¥çå½åç®å½è·¯å¾å¨ WSL ä¸è£ è½½çä½ç½®ã å¨ PowerShell ä¸ï¼è¯¥å½ä»¤get-date
å°æä¾ Windows æä»¶ç³»ç»ä¸çæ¥æï¼å¹¶æä¾wsl date
Linux æä»¶ç³»ç»ä¸çæ¥æã
éæ©çæ¹æ³åºåå³äºä½ æ£å¨åçäºæ
ã å¦æå·²å¨ Windows æç¤ºç¬¦æ PowerShell çªå£ä¸æå¼ WSL å½ä»¤è¡å¹¶æ³è¦éåºï¼è¯·è¾å
¥ä»¥ä¸å½ä»¤ï¼ exit
æ³è¦è¯ç¨ææ°ç WSL é¢è§åè½ï¼
éè¿å å ¥ Windows é¢è§ä½éªè®¡åæ¥è¯ç¨ WSL çææ°åè½ææ´æ°ã å å ¥ Windows é¢è§ä½éªæååï¼å¯ä»¥éæ©å¸æä» Windows 设置èå䏿¥æ¶é¢è§ççé¢éï¼ä»¥èªå¨æ¥æ¶ä¸è¯¥çæ¬å ³èçä»»ä½ WSL æ´æ°æé¢è§åè½ã å¯ä»¥éæ©ï¼
- å¼åééï¼ææ°çæ´æ°ï¼ä½ç¨³å®æ§è¾ä½ã
- Beta ééï¼é常éåæ©æéç¨è ï¼æ¯å¼åééæ´å¯é ã
- åå¸é¢è§é¢éï¼å¨ Windows ä¸ä¸ä¸ªçæ¬æ£å¼æä¾ç»å ¬ä¼ä¹åï¼é¢è§ä¿®è¡¥ç¨åºå主è¦åè½ã
妿䏿³å° Windows å®è£
忢å°é¢è§é¢éï¼ä»å¯ä»¥éè¿ååºå½ä»¤æ¥æµè¯ WSL çææ°é¢è§ã wsl --update --pre-release
æå
³è¯¦ç»ä¿¡æ¯ï¼è¯·æ¥ç GitHub ä¸ç WSL åå¸é¡µã
å ¶ä»èµæº
Windows Subsystem for Linux