Come accedere ai file Bash di Ubuntu in Windows (e all'unità di sistema di Windows in Bash)
Gli ambienti Linux installati dallo Store (come Ubuntu e openSUSE) mantengono i loro file in una cartella nascosta. È possibile accedere a questa cartella per eseguire il backup e visualizzare i file. Puoi anche accedere ai tuoi file di Windows dalla shell di Bash.
Non modificare i file di Linux con gli strumenti di Windows
Microsoft mette in guardia contro l'aggiunta o la modifica di file Linux con il software Windows. Ciò potrebbe causare problemi di metadati o danneggiamento dei file e potrebbe costringerti a disinstallare e reinstallare la tua distribuzione Linux per risolverlo. Tuttavia, puoi comunque visualizzare e eseguire il backup dei tuoi file Linux usando il software Windows, e questo non causerà alcun problema.
In altre parole, considera la cartella Linux come se fosse di sola lettura da Windows. Non utilizzare nessuno strumento di Windows, incluse app grafiche o strumenti da riga di comando, per modificarli. Non creare nuovi file all'interno di queste cartelle usando gli strumenti di Windows.
Se si desidera lavorare con un file da entrambi gli ambienti Linux e Windows, è necessario crearlo nel proprio file system di Windows. Ad esempio, se si dispone di una cartella in C: \ project in Windows, è possibile accedervi anche in / mnt / c / project nell'ambiente Linux. Poiché è archiviato nel file system di Windows e si accede in / mnt / c, è possibile modificare il file con strumenti Windows o Linux..
Dove Windows memorizza i file di Linux
Il tuo file system Linux è archiviato in una cartella nascosta per un motivo, in quanto Microsoft non vuole manometterlo. Tuttavia, se devi visualizzare o eseguire il backup di alcuni file, li troverai memorizzati in una cartella nascosta. Per accedervi, aprire Esplora file e inserire il seguente indirizzo nella barra degli indirizzi:
% USERPROFILE% \ AppData \ \ Pacchetti locali
(Questo ti porta a C: \ Users \ Nome \ AppData \ Local \ Packages
. Puoi anche mostrare le cartelle nascoste in File Explorer e navigare qui manualmente, se preferisci.
In questa cartella, fare doppio clic sulla cartella per la distribuzione Linux di cui si desidera visualizzare i file:
- Ubuntu: CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
- openSUSE Leap 42: 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
- SUSE Linux Enterprise Server 12: 46932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac
I nomi di queste cartelle potrebbero cambiare leggermente in futuro. Cerca solo una cartella dal nome della distribuzione Linux.
Nella cartella della distribuzione Linux, fai doppio clic sulla cartella "LocalState", quindi fai doppio clic sulla cartella "rootfs" per vedere i suoi file.
In altre parole, i file sono memorizzati in:
C: \ Users \ Nome \ AppData \ Local \ Packages \ DISTRO_FOLDER \ LocalState \ rootfs
Nota: Nelle versioni precedenti di Windows 10, questi file erano archiviati in C: \ Users \ Name \ AppData \ Local \ lxss. Questo è cambiato a partire dall'Aggiornamento dei creativi autunnali.
Per visualizzare i file memorizzati nella cartella Inizio, fare doppio clic sulla cartella "home", quindi fare doppio clic sul nome utente UNIX.
Ricorda, non modificare nessuno di questi file o aggiungere file a queste cartelle da File Explorer!
Dove appare l'unità del sistema Windows in Linux
Il sottosistema Windows per Linux rende disponibile l'intera unità di sistema di Windows in modo da poter lavorare con gli stessi file in entrambi gli ambienti. Tuttavia, l'ambiente Bash non ti scarica semplicemente nell'unità C: \. Invece, ti inserisce nella directory home del tuo account UNIX all'interno del file system dell'ambiente Linux.
L'unità di sistema di Windows e le altre unità connesse sono esposte nella directory / mnt /, dove altre unità sono tradizionalmente rese disponibili nella struttura di directory di Linux. In particolare, troverai l'unità C: nella seguente posizione nell'ambiente Bash:
/ Mnt / c
Per cambiare in questa directory con il CD
comando, digita semplicemente:
cd / mnt / c
Se si dispone di un'unità D:, lo si trova in / mnt / d e così via.
Ad esempio, per accedere a un file archiviato in C: \ Users \ Chris \ Downloads \ File.txt, si utilizzerà il percorso /mnt/c/Users/Chris/Downloads/File.txt nell'ambiente Bash. E sì, è case-sensitive, quindi è necessario "Download" e non "download".
È inoltre possibile installare unità esterne e percorsi di rete per accedere a più file dall'ambiente Linux.
Notare che, quando si accede ai file di sistema di Windows, l'ambiente della shell Bash ha le autorizzazioni con cui è stato avviato. Se lo avvii normalmente dal collegamento, avrà le stesse autorizzazioni di accesso ai file del tuo account utente di Windows.
Ad esempio, se desideri accedere a una cartella di sistema a cui il tuo account utente non ha il permesso di accedere, devi fare clic con il tasto destro del mouse sul collegamento shell Bash e selezionare "Esegui come amministratore" per avviare la shell Bash con i privilegi di amministratore di Windows.
Funziona esattamente come il prompt dei comandi, che deve essere avviato come amministratore se è necessario l'accesso in scrittura ai file di solo amministratore o l'accesso in scrittura ai file di sistema. Non puoi semplicemente usare sudo
nell'ambiente di Bash.