Cuando comienzo bash
en Windows Subsystem para Linux, me deja en el directorio
/mnt/c/Users/<username>
Cuando veo ls
este directorio, veo los directorios Desktop
, Documents
etc. que puedo ver C:\Users\<username>
usando el Explorador de archivos de Windows. Como aquí es donde bash
comenzó el programa, esperaba que este fuera mi directorio de inicio, pero cuando escribocd
cd ~
escribo o me llevan a
/home/<username>
que contiene mi archivo .bashrc
, .profile
etc. que esperaría encontrar en mi directorio de inicio en un cuadro de Linux. Además, entrandocd ../..
desde aquí puedo ver los directorios bin
, etc
y así sucesivamente, nuevamente como se esperaba en un cuadro de Linux.
Tengo dos preguntas con respecto a todo esto:
- ¿Qué se
/mnt/c/Users/<username>
compara exactamente conC:\Users\<username>
? Parece que son uno en el mismo --- entonces, ¿qué es/mnt/c/
? - ¿Cómo puedo ver los archivos
/home/<username>
usando el Explorador de archivos de Windows? No es que realmente quisiera --- Solo estoy tratando de tener una idea de cómo Windows está organizando este Subsistema para Linux.
Respuestas:
Para 2: la ruta actual ahora está relacionada con la distribución que ha instalado desde Microsoft Store en lugar de una ruta global. Entonces, para Ubuntu ahora se encuentra en:
Supongo que las otras distribuciones estarán en una ubicación similar en sus respectivas carpetas en:
fuente
/mnt/c/
es donde guardo todo en WSL. Me encantaría que WSL se invirtiera a LWS; lo que significa que sería increíble si todos estuviéramos ejecutando Ubuntu con Linux Subsystems para Windows para ejecutar una copia completa de Windows 10 integrada en Ubuntu. Lo sé, eso sería mucho más difícil, pero uno puede soñar./mnt/c
es exactamente lo mismo queC:\
. Es solo la sintaxis para llegar a ella desde WSL.C:\Users\<username>\AppData\Local\Lxss\rootfs
.fuente
C:\Users\[USERNAME]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_[CODE]\LocalState\rootfs\
Usted puede ser consciente de lo mal si edita/
manualmenteSobre el sistema de archivos montado en
/mnt/c
A diferencia de Windows, Linux (y los otros sistemas basados en Unix) usan una única estructura de carpetas independiente de la cantidad de discos que tenga. Si tiene varios discos, todos estos discos deben estar montados en la estructura de carpetas en algún momento.
/mnt
o/media
WSL tiene un tipo especial de sistema de archivos llamado DrvFS que le da acceso a los discos utilizados en Windows. Puede usar DrvFS para montar, no solo su sistema de archivos de Windows, sino también discos de red y otros tipos de medios.
C:
disco en Windows está montado bajo/mnt/c
D:
disco en Windows, se montará debajo de/mnt/d
Los archivos que puede ver
/mnt/c
son los mismos que tieneC:
. Si modifica algún archivo, también obtendrá los cambios en las ventanas.Puede usar el
mount
comando para acceder a otros tipos de medios (por ejemplo, unidades extraíbles o recursos compartidos de red).Sobre la ubicación de
/home/<username>
En WSL, todo el sistema de archivos de Linux se encuentra en una carpeta de Windows. La ubicación de la carpeta depende de la versión de Windows y de la distribución WSL que esté utilizando.
%LOCALAPPDATA%\Lxss\rootfs
%LOCALAPPDATA%\Packages\...\LocalState\rootfs
. El nombre del paquete varía según la distribución (por ejemplo, es diferente para Ubuntu que para Debian)Puede marcar muchas opciones para conocer la ubicación de la carpeta WSL . Por ejemplo, creo que la opción más fácil es usar lxRunOffline para conocer la carpeta de instalación.
Una vez que conoce la ubicación de la carpeta de instalación, se
/home/<username>
encuentra debajo<installation folder>\rootfs\home\username
.c:\wsl\ubuntu
/home/<username>
esta enc:\wsl\ubuntu\rootfs\home\username
NOTA: Tanto Linux como Windows almacenan permisos de archivos de diferentes maneras. Hoy en día, el WSL DrvFS almacena los permisos de Linux como Streams (metadatos) adjuntos a los archivos que puede ver en Windows. Microsoft no recomienda modificar archivos linux usando programas de Windows. Es posible que algunas aplicaciones de Windows dañen los permisos de Linux sin previo aviso.
fuente
Supongo que podría depender de la compilación de Windows en la que se encuentre, pero para mí en 2018 en Windows 10 Pro de 64 bits, la versión 1709 (compilación del SO 16299.522) y también la versión 1803 (compilación del SO 17134.165) [una actualización de Windows ocurrió irónicamente como yo estaba escribiendo esto] la ubicación sigue siendo:
C:\Users\<username>\AppData\Local\lxss
El truco es que cuando estés en
C:\Users\<username>\AppData\Local
no verás unalxss
carpeta (a menos que tengas desmarcado "Ocultar archivos protegidos del sistema operativo (recomendado)" en las opciones de tu carpeta).Sin embargo, solo agregue
\lxss
en la barra de direcciones del explorador de Windows y lo llevará a la carpeta.(Tenga en cuenta que no tenía
%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
ni nada similar que se mencionara en la respuesta de Michael Bonds)Actualizar
Resulta que hay WSL heredado, que es lo que había instalado. Ahora WSL se proporciona a través de una aplicación de la tienda de Microsoft. Hay versiones para Ubuntu 18.04 LTS y ahora también algunos otros sabores de Linux (por ejemplo, Debian). Si desea estar actualizado, puede desinstalar WSL heredado e instalar la versión de la tienda de Microsoft .
La ubicación de su carpeta de inicio dependerá de cuál de estos tipos de WSL haya instalado.
fuente
fuente
Cuatro pasos para Windows 10 Pro para anclar su Debian / Ubuntu / OpenSUSE $ HOME al menú de inicio de Windows:
Ahora tiene su directorio de inicio anclado a su menú de inicio. Intenté crear un acceso directo pero eso no va a ninguna parte inteligible.
fuente
Solo necesitaba encontrar
/etc/environment
usando Ubuntu 16.04 buscando en el almacenamiento NTFS de Windows 10. Lo encontré aquí:/mnt/c/
a laC:\
nomenclatura de Windows./
a\
por la misma razón.USER_NAME
con su nombre de usuario de Windows.sudo -H Nautilus
para obtener permisos para ver los archivos de usuario almacenados en WSL.Desde el lado de Linux (Ubuntu 16.04) la nomenclatura sería:
fuente
Con Windows 10 Insider actual (Anillo rápido: Windows 10 build 19025.1) puede montar su distribución como una unidad de red. Se puede acceder a WSL
wls$
, la ruta es su nombre de distribución (wsl -l -q
).Por ejemplo
net use Z: \\wsl$\Debian /PERSISTENT:YES
fuente
En Bash, para ver el directorio actual en el Explorador de archivos de Windows simplemente ingrese:
No deje de lado el "." Esto abrirá el explorador de Windows en la carpeta actual y podrá ver dónde está todo en relación con el resto de su sistema de Windows.
fuente