Copiar archivos de Windows al subsistema de Ubuntu [cerrado]


96

He habilitado el modo de desarrollador y lo he instalado Bash on Ubuntu on Windows.

Mi directorio de inicio se puede encontrar en %localappdata%\Lxss\home\<ubuntu.username>\, he creado un subdirectorio llamado Imágenes de modo que la ruta completa debe

en windows: C:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures

en bash: /home/<ubuntu.username>/Pictures

si creo un archivo desde bash usando el comando, touch hello.txtpuedo ver este archivo libremente en la interfaz de usuario de Windows y copiarlo en mi escritorio. Sin embargo, si creo un nuevo archivo de texto desde la interfaz de usuario de Windows y lo guardo enC:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures , incluso si reinicio bash o Windows, el archivo no es visible cuando lo hago ls -l.

¿Por qué bash no puede ver los archivos creados desde el lado de Windows en su propio directorio de inicio?

EDITAR Usar /mnt/cno es una solución, estoy tratando de entender por qué no ve esos archivos y si hay una solución para eso para que pueda ver los archivos creados en la interfaz de usuario, en lugar de intentar usar la terminal para copiar- pegar o mover archivos.


2
¡Interesante! Mi suposición, y es solo una suposición, es que el subsistema de Linux realiza un seguimiento de sus propios archivos y nunca busca ver si se han agregado otros. Eso tendría sentido, porque de lo contrario sería difícil darle al sistema de archivos virtual UNIX semántica para cosas como eliminar archivos y distinción entre mayúsculas y minúsculas. Sospecho que encontrará que si crea hello.txty HELLO.TXTdesde Bash, uno de los archivos tendrá un nombre diferente cuando lo vea en Windows.
Harry Johnston

Stack Overflow es un sitio para preguntas de programación y desarrollo. Esta pregunta parece estar fuera de tema porque no se trata de programación o desarrollo. Consulte ¿Qué temas puedo preguntar aquí en el Centro de ayuda? Quizás Super User o Unix & Linux Stack Exchange sería un mejor lugar para preguntar. Consulte también ¿Dónde publico preguntas sobre Dev Ops?
jww

Como supuso @HarryJohnston, los nombres son diferentes. Tanto largos como cortos. Pero solo en el caso, incluso los cortos (!)
Serhii Kheilyk

Voy a votar para cerrar esta pregunta como fuera de tema porque está relacionada con la comunidad ask-ubuntu.
OmG

2
@jpaugh lo sé. Pero, esta pregunta está justificada para plantear circunstancias de Ubuntu y no fuera de tema.
OmG

Respuestas:


141

Debería poder acceder a su sistema de Windows en el /mntdirectorio. Por ejemplo, dentro de bash, use esto para llegar a su directorio de imágenes:

cd /mnt/c/Users/<ubuntu.username>/Pictures

¡Espero que esto ayude!


Creo que lo entendiste mal. Tengo un JPG en mi escritorio, lo copié con la interfaz de usuario en el directorio del subsistema bash. Estoy tratando de entender por qué bash no puede ver esas imágenes cuando están en su directorio de inicio. Este es el comportamiento básico de cygwin, arrastrar y soltar o copiar y pegar archivos sin depender de los comandos de Linux para hacer el trabajo.
JordanGS

probablemente esté en la carpeta incorrecta.
zoecarver

El subsistema de Linux no tiene los mismos criterios de diseño que Cygwin. No necesariamente puede esperar que se comporten de manera similar.
Harry Johnston

funcionó para mí, aunque ubuntu.usernameno es necesario el nombre de usuario para Windows .. al menos no es el caso para mí;)
user2804070

1
Te amo por esto.
Gubatron

53

Solo debe acceder al sistema de archivos de Linux (los que se encuentran en la carpeta lxss) desde dentro de WSL ; NO cree / modifique ningún archivo en la carpeta lxss en Windows; es peligroso y WSL no verá estos archivos.

Sin embargo, los archivos se pueden compartir entre WSL y Windows; coloque el archivo fuera de la carpeta lxss. Puede acceder a ellos a través de drvFS ( /mnt) como/mnt/c/Users/yourusername/files dentro de WSL. Estos archivos permanecen sincronizados entre WSL y Windows.

Para obtener detalles y por qué, consulte: https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/



1
En WSL File System Support , describe por qué ocurre el comportamiento: la "traducción" del archivo se realiza solo en el subsistema lsxx (en el lado de Linux).
Chris Buck

En una máquina virtual Linux, puedo usar SFTP para transferir archivos, ¿qué uso para transferir archivos CORRECTAMENTE desde Windows al subsistema Linux? esto no proporciona una solución.
Ambroise Rabier

1
@AmbroiseRabier En la última versión de WSL, use SFTP, archivo tar o protocolo integrado 9p.
reker
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.