Ketika saya mulai bash
pada Subsistem Windows untuk Linux, itu menjatuhkan saya di direktori
/mnt/c/Users/<username>
Ketika saya ls
direktori ini, saya melihat direktori Desktop
, Documents
, dll yang dapat saya lihat adalah di C:\Users\<username>
menggunakan Windows File Explorer. Karena di sinilah bash
program dimulai, saya berharap ini adalah direktori home saya, tetapi ketika saya mengetik salah satu cd
atau cd ~
saya dibawa ke
/home/<username>
yang berisi file saya .bashrc
, .profile
dll. yang saya harapkan akan temukan di direktori home saya di kotak Linux. Selain itu, masuk cd ../..
dari sini saya bisa melihat direktori bin
, etc
dan seterusnya, lagi seperti yang diharapkan pada kotak Linux.
Saya punya dua pertanyaan tentang semua ini:
- Apa sebenarnya yang
/mnt/c/Users/<username>
dibandingkan denganC:\Users\<username>
? Sepertinya mereka satu dalam hal yang sama --- jadi apa itu/mnt/c/
? - Bagaimana saya bisa melihat file
/home/<username>
menggunakan Windows File Explorer? Bukannya saya benar-benar ingin --- Saya hanya mencoba untuk merasakan bagaimana Windows mengatur Subsistem ini untuk Linux.
Jawaban:
Untuk 2: Jalur saat ini sekarang terkait dengan distribusi mana yang telah Anda instal dari Microsoft Store daripada satu jalur global. Jadi, untuk Ubuntu sekarang berada di:
Saya berasumsi distribusi lain akan berada di lokasi yang sama di bawah folder masing-masing di bawah:
sumber
/mnt/c/
juga di mana saya menyimpan semuanya di WSL. Saya akan senang jika WSL dikembalikan ke LWS; artinya akan luar biasa jika kita semua menjalankan Ubuntu dengan Subsistem Linux untuk Windows untuk menjalankan salinan lengkap Windows 10 yang terintegrasi ke dalam Ubuntu. Saya tahu, itu akan jauh lebih sulit tetapi seseorang dapat bermimpi./mnt/c
sama persis denganC:\
. Itu hanya sintaks untuk mendapatkannya dari WSL.C:\Users\<username>\AppData\Local\Lxss\rootfs
.sumber
C:\Users\[USERNAME]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_[CODE]\LocalState\rootfs\
Anda mungkin menyadari betapa buruknya jika Anda mengedit/
secara manualTentang sistem file yang terpasang
/mnt/c
Berbeda dengan Windows, Linux (dan sistem lain yang berbasis Unix) menggunakan struktur folder tunggal terlepas dari jumlah disk yang Anda miliki. Jika Anda memiliki banyak disk, semua disk ini harus saya pasang ke struktur folder di beberapa titik.
/mnt
atau/media
WSL memiliki tipe khusus sistem file bernama DrvFS yang memberi Anda akses ke disk yang digunakan di windows. Anda dapat menggunakan DrvFS untuk melakukan mount, tidak hanya sistem file windows Anda, tetapi juga disk jaringan dan jenis media lainnya.
C:
disk di windows dipasang di bawah/mnt/c
D:
disk di windows, disk tersebut akan dipasang di bawah/mnt/d
File yang Anda lihat
/mnt/c
adalah sama dengan yang Anda milikiC:
. Jika Anda memodifikasi beberapa file, Anda akan mendapatkan perubahan di windows juga.Anda dapat menggunakan
mount
perintah untuk mengakses jenis media lain (mis. Drive yang dapat dilepas atau berbagi jaringan).Tentang lokasi
/home/<username>
Di WSL, semua sistem file linux terletak di bawah folder Windows. Lokasi folder tergantung pada versi Windows dan distribusi WSL yang Anda gunakan.
%LOCALAPPDATA%\Lxss\rootfs
%LOCALAPPDATA%\Packages\...\LocalState\rootfs
. Nama paket bervariasi tergantung pada distribusinya (mis. Berbeda untuk Ubuntu daripada untuk Debian)Anda dapat memeriksa banyak opsi untuk mengetahui lokasi folder WSL . Sebagai contoh, saya pikir pilihan termudah adalah menggunakan lxRunOffline untuk mengetahui folder instalasi.
Setelah Anda mengetahui lokasi folder instalasi,
/home/<username>
ada di bawah<installation folder>\rootfs\home\username
.c:\wsl\ubuntu
/home/<username>
ada dic:\wsl\ubuntu\rootfs\home\username
CATATAN: Baik Linux dan Windows menyimpan izin file dengan berbagai cara. Saat ini, WSL DrvFS menyimpan izin Linux sebagai Streams (metadata) yang dilampirkan ke file yang dapat Anda lihat di Windows. Microsoft tidak merekomendasikan untuk memodifikasi file linux menggunakan program Windows. Ada kemungkinan bahwa beberapa aplikasi Windows merusak izin linux tanpa menyadarinya.
sumber
Saya kira itu tergantung pada windows build mana Anda berada, tetapi bagi saya pada tahun 2018 pada Windows 10 Pro 64-bit, Versi 1709 (OS Build 16299.522) dan juga Versi 1803 (OS Build 17134.165) [pembaruan windows ironisnya terjadi ketika saya sedang mengetik ini] lokasinya masih:
C:\Users\<username>\AppData\Local\lxss
Caranya adalah ketika Anda berada di sana,
C:\Users\<username>\AppData\Local
Anda tidak akan melihatlxss
folder (kecuali Anda tidak mencentang "Sembunyikan file sistem operasi terlindungi (Disarankan)" di opsi folder Anda).Namun cukup tambahkan
\lxss
di bilah alamat windows explorer dan itu akan membawa Anda ke folder.(Catatan saya tidak memiliki
%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
atau yang serupa yang disebutkan dalam jawaban Michael Bonds)Memperbarui
Ternyata ada WSL warisan yang adalah apa yang saya instal. Sekarang WSL disediakan melalui aplikasi Microsoft store. Ada versi untuk Ubuntu 18.04 LTS dan sekarang juga beberapa rasa Linux (misalnya Debian). Jika Anda ingin menjadi yang terbaru, Anda mungkin ingin menghapus instalasi WSL lama dan menginstal versi Microsoft store .
Di mana folder rumah Anda akan tergantung pada jenis WSL yang telah Anda instal.
sumber
sumber
Empat langkah untuk windows 10 pro untuk menyematkan Debian / Ubuntu / OpenSUSE $ HOME Anda ke menu mulai Windows:
Sekarang Anda memiliki direktori home Anda disematkan ke menu mulai Anda. Saya mencoba membuat jalan pintas tapi itu tidak masuk akal.
sumber
Saya hanya perlu menemukan
/etc/environment
menggunakan Ubuntu 16.04 melihat ke penyimpanan Windows 10 NTFS. Saya menemukannya di sini:/mnt/c/
keC:\
untuk nomenklatur Windows./
menjadi\
untuk alasan yang sama.USER_NAME
dengan Nama Pengguna Windows Anda.sudo -H Nautilus
untuk mendapatkan izin untuk melihat File Pengguna yang disimpan di WSL.Dari sisi Linux (Ubuntu 16.04) nomenklaturnya adalah:
sumber
Dengan Windows 10 Insider (Fast ring: Windows 10 build 19025.1) saat ini, Anda dapat memasang distro Anda sebagai drive jaringan. WSL dapat diakses karena
wls$
, path adalah nama distribusi Anda (wsl -l -q
).Sebagai contoh
net use Z: \\wsl$\Debian /PERSISTENT:YES
sumber
Di Bash, untuk melihat direktori saat ini di Windows File Explorer cukup masukkan:
Jangan tinggalkan "." Ini akan membuka windows explorer di folder saat ini dan Anda dapat melihat di mana semuanya terkait dengan seluruh sistem windows Anda.
sumber