post icon

Transferir ficheros por SCP con líneas de comando en GNU/Linux

Ya habíamos visto anteriormente como transferir ficheros sobre el protocolo SCP con C#, pero en esta ocasión veremos como hacer lo mismo utilizando la consola de GNU/Linux.

Ciertamente existen distintas herramientas gráficas para éste cometido, como lo son WinSCP, Gnome Commander,  Krusader, etc. pero muchas veces no disponemos de la misma interfaz gráfica en nuestro sistema operativo, por eso me he decido a escribir unos comandos básicos para realizar la tarea.

La sintaxis básicamente es la siguiente:

1
scp [fichero/s de origen] [fichero/s de destino]

El password del usuario pedirá posteriormente.

Ejemplo para descargar un fichero

1
scp root@host.com:/media/devtroce/logo.png /var/www/htdocs/devtroce/images/
1
scp root@host.com:/media/devtroce/* /var/www/htdocs/devtroce/images/
1
2
// toda el directorio y subdirectorios
scp -r root@host.com:/media/devtroce/ /var/www/htdocs/devtroce/images/

Con este ejemplo vemos como descargar a la carpeta home del usuario lo hace el proceso y vemos que podemos setear direcciones IP en vez de nombres de host

1
scp root@192.168.1.23:/media/devtroce/logo.png ~

Para subir uno o varios archivos a un servidor no es nada de otro mundo, simplemente se invierten los parametros de origen y destino

1
scp /var/www/htdocs/devtroce/images/logo.png root@host.com:/media/devtroce/
1
scp /var/www/htdocs/devtroce/* root@host.com:/media/devtroce/
1
2
// toda el directorio y subdirectorios
scp -r /var/www/htdocs/devtroce/ root@host.com:/media/devtroce/

Agradecimientos: A Luis por el aporte de transferencias de directorios

Comentarios desde Facebook:

  1. avatar
    Luis PARAGUAY Google Chrome Linux
    22 junio 2010 at 13:26 #

    nde.. le colocó un "mailto" a la publicación anterior 😛

  2. avatar
    Luis PARAGUAY Google Chrome Linux
    22 junio 2010 at 12:20 #

    Cabe recordar que de esa forma solo pueden copiarse los archivos. Si se desean copiar directorios enteros, falta el switch -r

    Ej:

    <pre lang="bash">

    scp -r usuario@devtroce.com:/dir .

    </pre>

    Eso copiaría toda la carpeta /dir al directorio actual (.)

    También, recuerdo que no se puede reanudar la bajada por SCP, por lo que recomiendo leer este artículo: http://www.aprendalinux.com/blog/2010/03/continua… 😉

    • avatar
      GeekZero PARAGUAY Google Chrome Windows
      22 junio 2010 at 13:05 #

      Sabia que se me escapaba algo de los básicos el -r, lo agrego enseguida 🙂 gracias nuevamente.

      Interesante manera de reanudar el SCP 😉

Responder