เข้าถึงไฟล์ WSL Linux จาก Windows 10
Windows 10 เวอร์ชัน 1903 "อัปเดตเดือนเมษายน 2019" มาพร้อมกับการเปลี่ยนแปลงและการปรับปรุงที่น่าสนใจมากมายในฟีเจอร์ WSL ซึ่งรวมถึง distros เพิ่มเติมใน Store ความสามารถในการเรียกดูไฟล์ WSL จาก File Exporer และอื่นๆ
โฆษณา
ความสามารถในการเรียกใช้ Linux แบบเนทีฟใน Windows 10 นั้นมาจากคุณสมบัติ WSL WSL ย่อมาจาก Windows Subsystem for Linux ซึ่งในตอนแรกจำกัดเฉพาะ Ubuntu เท่านั้น อนุญาต WSL เวอร์ชันทันสมัย ติดตั้งและรัน Linux distros หลายตัว จาก Microsoft Store
หลังจาก เปิดใช้งาน WSLคุณสามารถติดตั้ง Linux เวอร์ชันต่างๆ ได้จาก Store คุณสามารถใช้ลิงก์ต่อไปนี้:
- อูบุนตู
- openSUSE Leap
- SUSE Linux Enterprise Server
- Kali Linux สำหรับ WSL
- เดเบียน GNU/ลินุกซ์
และอื่น ๆ.
ด้วย Windows 10 เวอร์ชัน 1903 "อัปเดตเดือนเมษายน 2019" คุณสามารถเข้าถึงไฟล์ทั้งหมดใน Linux distros จาก Windows ได้อย่างง่ายดาย ในขณะที่เขียนนี้ คุณลักษณะนี้มีการใช้งานใน Windows 10 บิลด์ 18836 กำลังเดินทางไปที่สาขา 19h1 ดังนั้นเราจะเห็นกับบิลด์ครั้งต่อไป นี่คือวิธีที่สามารถทำได้
ในการเข้าถึงไฟล์ WSL Linux จาก Windows 10ให้ทำดังต่อไปนี้
- เปิดใช้งาน คุณสมบัติ WSL
- ติดตั้ง distro บางส่วนเช่น อูบุนตูและเริ่มต้นมัน
- ขณะอยู่ในไดเร็กทอรีบน Linux FS ให้พิมพ์
สำรวจ .
. - ซึ่งจะเปิดหน้าต่าง File Explorer ซึ่งอยู่ภายใน distro Linux ของคุณ
จากที่นั่นคุณสามารถเข้าถึงไฟล์ Linux ใดก็ได้ที่คุณต้องการ เช่นเดียวกับที่คุณทำกับไฟล์อื่นๆ ผ่าน File explorer ซึ่งรวมถึงการดำเนินการต่างๆ เช่น การลากไฟล์ไปมาไปยังตำแหน่งอื่น คัดลอกและวาง และแม้กระทั่งการใช้รายการเมนูบริบทแบบกำหนดเองที่เพิ่มโดย Notepad++, VSCode และซอฟต์แวร์อื่นๆ
File Explorer แสดงไฟล์ distro เป็นการแชร์เครือข่ายเสมือนภายใต้เส้นทาง \\wsl$\
ทีมงาน WSL กำลังตรวจสอบวิธีปรับปรุงการค้นพบไฟล์ Linux ภายใน File Explorer อย่างแข็งขัน ความคืบหน้าของงานสามารถเห็นได้ใน Windows 10 Build 18836 ที่แสดง WSL/Linux File System ใน File Explorer.
เข้าถึงไฟล์ Linux ใน Command Line
นอกจาก File Explorer แล้ว คุณยังสามารถใช้ Command Prompt แบบคลาสสิกและเครื่องมือ PowerShell เพื่อเข้าถึงไฟล์ Linux ของคุณได้ ในทำนองเดียวกัน คุณต้องไปที่ \\wsl$\{distro name}\ โดยที่ {distro name} เป็นชื่อของ distro ที่ทำงานอยู่
ปัญหาที่ทราบ
นี่เป็นคุณลักษณะใหม่ และบางส่วนอาจทำงานได้ไม่สมบูรณ์ ต่อไปนี้คือปัญหาที่ทราบที่เราต้องการแจ้งให้คุณทราบเมื่อใช้คุณลักษณะนี้:
- ณ ตอนนี้ ไฟล์ distros จะสามารถเข้าถึงได้จาก Windows เมื่อ distro ทำงานอยู่เท่านั้น นักพัฒนาจะเพิ่มการรองรับ distros ที่ไม่ทำงานในการอัปเดตในอนาคต
เนื่องจากเซิร์ฟเวอร์ไฟล์ 9P ทำงานภายในแต่ละ distro จึงสามารถเข้าถึงได้เมื่อ distro นั้นทำงานอยู่เท่านั้น ทีมงานกำลังหาวิธีช่วยแก้ไขปัญหานี้ -
การเข้าถึงไฟล์ Linux จะถือว่าเหมือนกับการเข้าถึงทรัพยากรเครือข่าย และกฎใดๆ สำหรับการเข้าถึงทรัพยากรเครือข่ายจะยังมีผลบังคับใช้
เช่น: เมื่อใช้ CMD cd \\wsl$\Ubuntu\home จะไม่ทำงาน (เนื่องจาก CMD ไม่รองรับเส้นทาง UNC เป็นไดเรกทอรีปัจจุบัน) อย่างไรก็ตาม คัดลอก \\wsl$\Ubuntu\home\somefile.txt C:\dev\ จะทำงาน -
กฎเก่ายังคงมีผลบังคับใช้ คุณไม่ควรเข้าถึงไฟล์ Linux ภายในโฟลเดอร์ AppData!
หากคุณพยายามเข้าถึงไฟล์ Linux ของคุณผ่านโฟลเดอร์ AppData แสดงว่าคุณกำลังข้ามโดยใช้เซิร์ฟเวอร์ 9P ซึ่งหมายความว่าคุณจะไม่สามารถเข้าถึงไฟล์ Linux ของคุณได้ และอาจเป็นไปได้ ทุจริต ลินุกซ์ distro ของคุณ
หมายเหตุ: เซิร์ฟเวอร์ 9P เป็นเซิร์ฟเวอร์ที่มีโปรโตคอลที่สนับสนุนข้อมูลเมตาของ Linux รวมถึงการอนุญาต ตอนนี้ WSL init daemon รวมเซิร์ฟเวอร์ 9P แล้ว มีบริการ Windows และไดรเวอร์ที่ทำหน้าที่เป็นไคลเอนต์และพูดคุยกับเซิร์ฟเวอร์ 9P (ซึ่งทำงานอยู่ภายในอินสแตนซ์ WSL) ไคลเอ็นต์และเซิร์ฟเวอร์สื่อสารผ่านซ็อกเก็ต AF_UNIX เนื่องจาก WSL อนุญาตให้มีการทำงานร่วมกันระหว่างแอปพลิเคชัน Windows และแอปพลิเคชัน Linux โดยใช้ AF_UNIX
แหล่งที่มา: Microsoft