scp desde cygwin hacia Ubuntu (para copiar archivos y directorios con espacios en sus nombres)

Imagen de Argel
0 puntos

Hola. Tengo la necesidad de copiar archivos y directorios de un servidor (con ubuntu 7.04) hacia un cliente con WinXP. Estoy utilizando desde el ordenador con WinXP, el comando scp con cygwin. El problema es que muchos de los directorios y archivos en el servidor con Ubuntu contienen espacios en el nombre, algo así como:

/home/usuario/nombre de directorio/nombre de archivo

Ya he probado a cambiar (en ubuntu) los espacios por "_", algo así como:

/home/usuario/nombre_de_directorio/nombre_de_archivo

y funciona perfectamente al copiarlos al cliente con cygwin, pero no quisiera tener que cambiar todos los nombres de directorios y archivos de esta forma, pues son muchos. Después de mucho buscar y probar con los caracteres:

\

"

'

y %20, la única solución, fue probar la combinación siguiente en la terminal de cygwin, que se me ocurrió de pura casualidad:

scp -r usuario-remoto@maquina-remota:/home/usuario/'nombre\ de\ directorio'/'nombre\ de\ archivo'

y funcioa bien, puedo copiar lo que quiera. Me queda la duda de si esta es la forma adecuada de hacerlo o si existe alguna otra forma más práctica que la anterior.

 

De antemano muchas gracias por la ayuda. Espero no haberme equivocado de foro.

 

Argel.

Imagen de DooM86
+1
0
-1

has probado a ponerlo entre comillas dobles?

"/home/usuario/nombre de directorio/nombre de archivo"

 

Saludos. 

__________________________________________

~No es tonto quien no sabe sino quien no quiere aprender.~

+1
0
-1

__________________________________________

~No es tonto quien no sabe sino quien no quiere aprender.~
Imagen de Argel
+1
0
-1

Hola DooM86, muchas gracias por la sugerencia. Ya lo había intentado así pero no funcionó. Después de teclear la siguiente línea en la terminal de cygwin, e introducir mi password remoto, arroja los siguientes comentarios:

scp usuario_remoto@host_remoto:"/home/usuario/ruta/Nombre de archivo.extension" .

usuario_remoto@host_remoto's password:

scp: /home/usuario/ruta/Nombre: No such file or directory

scp: de: No such file or directory

scp: archivo.extension: No such file or directory

 

Sólo funcionó cuando lo pongo así (y aún así no reconoce nombres que incluyan paréntesis):

scp usuario_remoto@host_remoto:/home/usuario/ruta/'Nombre\ de\ archivo.extension' .

 

Saludos!

 

--------------------------------------------------------

Argel.

+1
0
-1

--------------------------------------------------------

Argel.

Ubuntu user number: 20414

Linux user number: 463492

Imagen de sansatan
+1
0
-1

No sé si te sirve porque igual quieres hacerlo con cygwin, pero existe WinScp. Yo lo uso con frecuencia y es bueno. 

--------------------------------------

Un error muy frecuente: Confundir valor y precio.

+1
0
-1

--------------------------------------

Un error muy frecuente: Confundir valor y precio.

Imagen de Argel
+1
0
-1

Hola sansatan, muchas gracias por la sugerencia.

Ya he usado WinSCP y pues sí es muy bueno. El problema es que al conectarme desde WindowsXP (cliente) hacia Ubuntu Feisty (servidor) me aparecen símbolos extraños donde debería ir un acento en el nombre del directorio o archivo.

Pensé que con cygwin no habría el mismo problema, pero la situación es la misma [uso cygwin debido a que estoy utilizando unison para sincronizar directorios entre win (cliente) y ubuntu (servidor)]. No estoy seguro cuál será la causa, pero por lo que he leído, al parecer la terminal de cygwin o el protocolo scp no son capaces de interpretar correctamente los acentos y las letras "ñ". He usado un programita comercial llamado SSH Secure Shell y tiene exactamente el mismo detalle con los acentos.

Saludos! 

--------------------------------------------------------

Argel.

+1
0
-1

--------------------------------------------------------

Argel.

Ubuntu user number: 20414

Linux user number: 463492

Imagen de elnuevo
+1
0
-1

Yo tuve el mismo problema con los espacios. Sólo que usando scp desde una PC con Zenwalk, hacia ora con Ubuntu (los dos son Linux, así que supongo podría ser diferente a tu caso). Para solucionarlo de forma más fácil que

scp -r usuario-remoto@maquina-remota:/home/usuario/'nombre\ de\ directorio'/'nombre\ de\ archivo'

usé algo como lo siguiente:

scp -r usuario-remoto@maquina-remota:"/home/usuario/nombre\ de\ directorio/nombre\ de\ archivo"

No olvides las diagonales invertidas "\". Sin ellas no funciona.

En cuanto hayas solucionado el problema, no olvides poner el tema como solucionado.

+1
0
-1