Ketika saya mulai bash
pada Windows Subsistem untuk Linux, saya turun di direktori
/mnt/c/Users/<username>
Ketika saya ls
direktori ini, saya melihat direktori Desktop
, Dokumen
, dll. yang dapat saya lihat dalam C:\Users\<username>
menggunakan Windows File Explorer. Karena ini adalah di mana bash
program dimulai, saya harapkan ini adalah direktori rumah saya, tapi ketika saya ketik cd
atau cd ~
saya dibawa ke
/home/<username>
yang berisi saya .bashrc
, .profil
dll. file yang saya harapkan untuk menemukan dalam direktori rumah saya di Linux box. Selain itu, memasuki cd ../..
dari sini aku dapat melihat direktori bin
, dll
dan sebagainya, sekali lagi seperti yang diharapkan pada Linux box.
Saya memiliki dua pertanyaan tentang semua ini:
/mnt/c/Users/<username>
dibandingkan dengan C:\Users\<username>
? Tampaknya mereka adalah satu dalam sama---jadi apa /mnt/c/
?/home/<username>
menggunakan Windows File Explorer? Bukan berarti saya'd benar-benar pernah ingin---I'm hanya mencoba untuk mendapatkan merasakan bagaimana Windows adalah penyelenggaraan Subsistem ini untuk Linux hal.2: jalan saat ini adalah saat yang terkait dengan distribusi yang telah anda instal dari Toko Microsoft bukan satu global path. Jadi, untuk Ubuntu ini sekarang terletak di:
%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
Saya asumsikan distribusi lain akan berada dalam lokasi yang sama di bawah folder masing-masing di bawah:
%LOCALAPPDATA%\Packages\
/mnt/c
adalah sama persis seperti C:\
. It's hanya sintaks untuk mendapatkan itu dari WSL.C:\Users\<username>\AppData\Local\Lxss\jika anda ingin membangun
.Tentang sistem berkas di-mount pada/mnt/c`
- Apa sebenarnya adalah /mnt/c/Users/
dibandingkan dengan C:\Users\ ? Tampaknya mereka adalah satu dalam sama---jadi apa adalah /mnt/c/?
Berbeda dengan Windows, Linux (dan sistem lainnya yang berbasis Unix) menggunakan satu struktur folder independen dari jumlah disk yang anda miliki. Jika anda memiliki beberapa disk, semua disk ini harus saya dipasang ke struktur folder di beberapa titik.
/mnt
atau media
WSL memiliki tipe khusus dari sistem berkas bernama DrvFS yang memberikan anda akses ke disk yang digunakan di windows. Anda dapat menggunakan DrvFS ke gunung, tidak hanya windows filesystem, tetapi juga jaringan disk dan media lain jenis.
C:
disk di windows dipasang di bawah /mnt/c
D:
disk di windows, itu akan dipasang di bawah /mnt/d
File yang dapat anda lihat di /mnt/c
yang sama yang anda miliki di C:
. Jika anda memodifikasi beberapa file, anda akan mendapatkan perubahan di windows juga.
Anda mungkin menggunakan mount
perintah untuk mengakses jenis media lainnya (misalnya removable drive atau jaringan berbagi).
Tentang lokasi /home/<username>
- Bagaimana saya bisa melihat file-file di /home/
menggunakan Windows File Explorer? Bukan berarti saya'd benar-benar pernah ingin---I'm hanya mencoba untuk mendapatkan merasakan bagaimana Windows adalah penyelenggaraan Subsistem ini untuk Linux hal.
Di WSL, semua linux filesystem yang terletak di bawah folder Windows. Lokasi folder tergantung pada versi Windows dan WSL distribusi yang anda gunakan.
%LOCALAPPDATA%\Lxss\jika anda ingin membangun
%LOCALAPPDATA%\Packages\...\LocalState\jika anda ingin membangun
. Nama paket bervariasi tergantung pada distribusi (mis. hal ini berbeda untuk Ubuntu dari untuk Debian)Anda dapat memeriksa banyak pilihan untuk mengetahui lokasi WSL folder. Misalnya, saya pikir pilihan termudah adalah dengan menggunakan lxRunOffline untuk mengetahui folder instalasi.
## You can use lxrunoffline to check which WSL distributions have installed
## using: lxrunoffline list
C:\> lxrunoffline list
backup
Ubuntu-18.04
## And you can use it to get the location of any of these WSL installations
## using: lxrunoffline get-dir -n <name of distribution>
C:\> lxrunoffline get-dir -n backup
c:\wsl\installed\backup
C:\> lxrunoffline get-dir -n Ubuntu
C:\Users\Jaime\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
Setelah anda mengetahui lokasi instalasi folder /home/<username>
bawah <folder instalasi>\jika anda ingin membangun\home\username
.
c:\wsl\ubuntu
/home/<username>
dalam c:\wsl\ubuntu\rootfs\home\username
CATATAN: Kedua Linux dan Windows menyimpan file permissions dalam cara yang berbeda. Saat ini, WSL DrvFS toko Linux izin sebagai Aliran (metadata) yang terpasang ke file yang dapat anda lihat di Windows. Microsoft tidak menyarankan untuk mengubah file dari linux menggunakan program Windows. Adalah mungkin bahwa beberapa Windows applcations kerusakan linux permissions tanpa pemberitahuan itu.
Saya kira itu mungkin tergantung pada build windows anda, tetapi untuk saya di tahun 2018 pada Windows 10 Pro 64-bit, Versi 1709 (OS Membangun 16299.522) dan juga Versi 1803 (OS Membangun 17134.165) [windows update ironisnya terjadi saat saya mengetik ini] lokasi masih:
C:\Users\<username>\AppData\Local\lxss
Caranya adalah ketika anda'kembali di C:\Users\<username>\AppData\Local
anda tidak akan melihat lxss
folder (kecuali jika anda kebetulan memiliki dicentang "Sembunyikan file sistem operasi yang dilindungi (Disarankan)" di folder options).
Namun hanya menambahkan \lxss
di windows explorer address bar dan itu akan membawa anda ke folder.
(Catatan aku tidak tidak memiliki %LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
atau sesuatu yang serupa yang telah disebutkan di Michael Obligasi jawaban)
Update
Ternyata ada warisan WSL yang adalah apa yang saya telah terinstal. Sekarang WSL disediakan melalui Microsoft app store. Ada versi untuk Ubuntu 18.04 LTS dan juga sekarang beberapa rasa lain dari Linux (misalnya Debian). Jika anda ingin menjadi up-to-date, anda mungkin ingin uninstall warisan WSL dan menginstal Microsoft store version.
Di mana folder rumah anda, ini akan tergantung pada jenis WSL telah anda instal.
Empat langkah-langkah untuk windows 10 pro untuk pin anda Debian/Ubuntu/OpenSUSE $HOME menu start dari Windows:
Sekarang anda memiliki direktori home anda disematkan ke menu mulai. Saya mencoba membuat shortcut tapi itu doesn't pergi ke mana saja dimengerti.
Aku hanya perlu untuk menemukan /etc/environment
menggunakan Ubuntu 16.04 melihat ke Windows 10 NTFS penyimpanan. Saya menemukan itu di sini:
C:\Users\USER_NAME\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\etc\environment
/mnt/c/
untuk C:\
untuk Windows nomenklatur./
untuk \
untuk alasan yang sama.USER_NAME
dengan Nama Pengguna Windows.sudo -Jam Nautilus
untuk mendapatkan izin untuk melihat Pengguna yang tersimpan di WSL.Dari Linux (Ubuntu 16.04) sisi nomenklatur akan sama:
$ sudo cat /mnt/c/Users/USER_NAME/AppData/Local/Packages/CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc/LocalState/rootfs/etc/environment
PATH="/mnt/e/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export LIBGL_ALWAYS_INDIRECT=Yes
export DISPLAY=localhost:0.0
Saat ini Windows 10 Insider (cincin Cepat: Windows 10 build 19025.1) anda dapat me-mount distro anda sebagai drive jaringan. WSL dapat diakses sebagai wls$
, jalur distribusi anda (namawsl -l-q
).
Misalnya net use Z: \\wsl$\Debian /GIGIH:YA
Di Bash, untuk melihat direktori saat ini di Windows File Explorer, masukkan saja:
explorer .
Don't meninggalkan "." Ini akan membuka windows explorer di folder saat ini dan anda dapat melihat di mana segala sesuatu adalah dalam kaitannya dengan sisa dari sistem windows anda.