¿Cómo puedo seleccionar un nombre de archivo con espacios?

¿Cómo puedo seleccionar un nombre de archivo con espacios?

Tengo algunas dificultades scppara transferir archivos desde una computadora remota. El problema aparentemente tiene que ver con el nombre del directorio en el que se encuentran los archivos. Están en una unidad de CD llamada photos 4(con un espacio entre photosy 4). Cuando intenté la transferencia, utilicé el siguiente comando:

scp [remote username]@192.168.1.X:/media/[remote username]/photos\ 4/file.jpg /home/[username]/Pictures

Sin embargo, recibo un mensaje de error que dice No directory: /media/[remote username]/photos. Pensé que la barra invertida escaparía del espacio para que el directorio se leyera como photos 4.

¿Alguien puede informarme sobre lo que estoy haciendo mal aquí?

(Además, hice una copia file.jpgen el escritorio de la computadora remota y luego ejecuté el comando:

scp [remote username]@192.168.1.X:/home/[remote username]/Desktop/file.jpg /home/[username]/Pictures

y funcionó, por lo que esa secuencia de escape parece ser la culpable. Simplemente no puedo entender qué tiene de malo.)

Respuesta1

Los espacios en directorios o nombres de archivos son el enemigo natural de un sistema Linux pero, por supuesto, pueden serescapadocon la debida diligencia. Hay 3 posibilidades que puedes probar:

  1. scp [remote username]@192.168.1.X:"'/media/remote_username/photos 4/file.jpg'" .
  2. scp [remote username]@192.168.1.X:"/media/remote_username/photos\ 4/file.jpg" .
  3. scp [remote username]@192.168.1.X:/media/remote_username/photos\\\ 4/file.jpg .

Todos deberían funcionar, pero algunos son sintácticamente más fáciles de entender que otros...

Referencias:

Respuesta2

Aquí está la solución para los usuarios de ZSH,

  1. scp '[correo electrónico protegido]:/media/"fotos 4"/archivo.jpg' /home/nombre de usuario/Imágenes
  2. scp '[correo electrónico protegido]:/media/"fotos 4"/"archivo con espacio.jpg"' /home/nombre de usuario/Imágenes

información relacionada