Tutoriales

Ejemplo de comando scp en Linux

SCP Lea el protocolo de copia segura, que utiliza SSH para copiar archivos de forma segura a través de la red. Personalmente, encuentro este comando muy útil ya que suelo utilizar varias máquinas virtuales para realizar pruebas.

Pero la pregunta es: ¿cómo utilizar este comando? Bueno, comienza con la sintaxis correcta y algunos ejemplos. Para aprender más es necesario practicar, ¿verdad?

No te preocupes, compartiré todo lo que necesitas para comenzar y mejorar. comando scp en linux.

A continuación se describe cómo utilizar el comando scp en Linux.

Comencemos con la sintaxis, aquí está el formato del comando scp:

scp [options] [user@]sourceIP:path/to/file [user@]destinationIP:path/to/destination

📋

Si está copiando archivos hacia o desde su computadora local, puede omitir agregar el nombre de usuario y la dirección IP y usar la ruta directamente.

La sintaxis parece un poco complicada. ¿correcto? No te preocupes, lo desglosaré para que sea más fácil de entender.

aquí,

  • [options]: Se utiliza para ajustar el comportamiento preestablecido del comando scp, por ejemplo usando -r Opción de copiar archivos de forma recursiva.
  • [user@]sourceIP:path/to/file: Aquí, especifica la dirección IP de origen de la computadora donde se encuentra el archivo y menciona la ruta del archivo.Por ejemplo, si quiero copiar simple.txt Archivo de 198.168.1.1 IP, entonces usaré esto: [email protected]:path/to/simple.txt.
  • [user@]destinationIP:path/to/destination: Aquí especifica el nombre de usuario y la dirección IP, así como la ruta a la que se debe copiar el archivo.Por ejemplo, si quiero copiar un archivo a 192.168.1.5 La dirección IP es /home/files ubicación, entonces, esto es lo que escribo: [email protected]:/home/files.

Ahora que conocemos los conceptos básicos, veamos las opciones más utilizadas del comando scp:

Opcionesdescribir
-P Especifique el puerto para conectarse al host remoto.
-pConserve la hora de modificación y los bits del modo de archivo del archivo original.
-qHabilite el modo silencioso para suprimir cualquier mensaje de error o advertencia.
-CFuerza SSH para comprimir los datos enviados al destino.
-rCopie archivos de forma recursiva.

Aguanta ahí ✋

Antes de pasar al ejemplo del uso del comando scp en Linux, hay 3 cosas para recordar:

  1. SSH debe instalarse tanto en el extremo remoto como en la máquina local. Si no, aquí está Cómo instalar SSH en Ubuntu y otras distribuciones basadas en Debian.
  2. Asegúrese de conocer la contraseña de la computadora remota y de que el firewall (si está habilitado) esté configurado para Permitir conexiones SSH.
  3. necesitas Conozca la dirección IP O el nombre de host de la computadora remota.

Teniendo en cuenta que ya entiendes la esencia, ahora te guiaré a través de 10 formas prácticas de usar el comando scp en Linux, desde ejemplos básicos hasta avanzados.

Entonces, comencemos enviando archivos desde una computadora local a una remota.

1. Enviar archivos desde la máquina local a la remota

Para transferir archivos desde la computadora local a una computadora remota, puede usar el comando scp de la siguiente manera:

scp /path/to/file [user@]destinationIP:path/to/destination

Sí, si envía archivos a una computadora remota, no necesita especificar el nombre de usuario ni la dirección IP de origen.

Por ejemplo, aquí envié Sample.txt Archivo a mi máquina remota ~/Documents Tabla de contenido:

scp Sample.txt [email protected]:~/Documents/

2. Enviar archivos desde la máquina remota a la máquina local

Para transferir archivos desde una computadora remota a la computadora local, puede usar el comando scp de la siguiente manera:

scp [user@]sourceIP:path/to/file /location/in/local/computer

Por ejemplo, aquí copié Sample.txt Archivos de la computadora remota a mi computadora local en mi directorio de inicio:

scp [email protected]:~/Sample.txt ~/
Utilice el comando scp en Linux para transferir archivos desde la computadora remota al sistema local

3. Transferir archivos entre dos máquinas remotas

Si desea transferir archivos entre dos computadoras remotas, debe especificar los nombres de usuario y las direcciones IP de ambas computadoras, de la siguiente manera:

scp [user@]sourceIP:path/to/file [user@]destinationIP:path/to/destination

Por ejemplo, así es como envío myfiles.txt Utilice el comando scp de una computadora remota a otra:

scp [email protected]:~/myfiles.txt [email protected]:~/Documents/
Utilice el comando scp para transferir archivos entre dos computadoras remotas en Linux

A diferencia del ejemplo anterior, cuando transfiere un archivo entre dos hosts remotos, no se muestra ningún resultado después de transferir el archivo, por lo que debe verificarlo manualmente.

Es por eso que, en la instantánea anterior, inicié sesión en la máquina virtual (en la ventana derecha) y capturé los resultados antes y después de ejecutar el comando scp para mostrarles la diferencia.

4. Especifique el puerto SSH (si usa un puerto SSH diferente)

De forma predeterminada, SSH usa el número de puerto Veintidós.Sin embargo, si configura el host remoto para usar SSH en un puerto diferente, puede usar -P Especifique la bandera del puerto:

scp -P  /path/to/local/file [user@]destinationIP:path/to/destination

Supongamos que mi host remoto está configurado para usar el puerto 2222, por lo que usaré el siguiente comando para transferir archivos desde mi computadora local al host remoto:

scp -P 2222 ~/Sample.txt [email protected]:~/
Utilice el indicador -P para especificar el número de puerto para transferir archivos mediante el comando scp.

5. Utilice scp para conservar el tiempo de modificación

De forma predeterminada, cuando envía un archivo a través de scp, cambia la hora (hora de modificación) según cuándo se recibió el archivo, por lo que pierde esos detalles importantes.

Pero la buena noticia es que puedes conservar estas marcas de tiempo usando -p (Nota: p minúscula) El logotipo se muestra a continuación:

scp -p [user@]sourceIP:path/to/file [user@]destinationIP:path/to/destination

Por ejemplo, aquí estoy usando el siguiente comando para enviar un archivo desde una computadora local a una remota -p Banderas que conservan marcas de tiempo:

scp -p ~/Sample.txt [email protected]:~/
Mantenga la marca de tiempo al transferir archivos mediante el comando scp en Linux

Esta es la diferencia entre enviar archivos con y sin -p bandera:

Cuando utilice el comando scp para transferir archivos, utilice el indicador -p para conservar el efecto de la hora de modificación.
Haga clic para ampliar la imagen

6. Envíe archivos en silencio (suprima los mensajes de salida)

Si desea ignorar los mensajes de salida, error y advertencia al enviar archivos usando el comando scp, puede usar -q El logotipo se muestra a continuación:

scp [options] [user@]sourceIP:path/to/file [user@]destinationIP:path/to/destination

Para fines de demostración, aquí uso -q Marque al transferir archivos desde una computadora local a una computadora remota:

scp -q ~/Sample.txt [email protected]:~/
Enviar archivos usando el comando scp

7. Comprime archivos para acelerar la transferencia

No, no crea un archivo comprimido del archivo. La compresión es efectiva para transferir archivos. Una vez completado, se verá y se comportará igual que el archivo seleccionado.

Para comprimir archivos usando el comando scp debes usar -C El logotipo se muestra a continuación:

scp [options] [user@]sourceIP:path/to/file [user@]destinationIP:path/to/destination

Por ejemplo, aquí envié un archivo de video 3.4G y me tomó aproximadamente un minuto y medio transferirlo:

scp -C ~/Movie.mkv [email protected]:~/
Comprima archivos al enviarlos mediante el comando scp para compartirlos instantáneamente

8. Transfiere todo el directorio

En Linux, a esto se le llama enviar archivos de forma recursiva, pero coloquialmente también se le puede llamar enviar un directorio completo.

Para enviar archivos de forma recursiva puedes usar -r El logotipo se muestra a continuación:

scp -r [user@]sourceIP:path/to/directory [user@]destinationIP:path/to/destination

Por ejemplo, aquí quiero enviar scp directorio, así es como lo uso -r Banderas para enviar todos los archivos de forma recursiva:

scp -r ~/scp/ [email protected]:~/
Enviar archivos de forma recursiva usando el comando scp en Linux

Preguntas de práctica 📓

A continuación se muestran algunos ejercicios que puede utilizar para mejorar el uso del comando scp:

  1. ¿Cómo enviarías todo? .txt ¿Archivo al servidor remoto?
  2. Suponiendo que su servidor remoto esté configurado para escuchar SSH en el puerto número 2345, ¿cómo le enviaría archivos?
  3. ¿Cómo copiar un directorio completo usando el comando scp?
  4. ¿Cómo comprimir archivos largos para una transmisión eficiente?
  5. ¿Cómo transferir archivos entre dos servidores remotos manteniendo sin cambios el tiempo de modificación?

Si tiene problemas para resolver los problemas anteriores, puede contactarnos a través de comentarios o visitar nuestro foro social.

Más formas de enviar archivos vía SSH

Si desea más opciones pero necesita la seguridad de SSH, consulte nuestra guía detallada que explica 4 formas de enviar archivos a través de SSH:

Cómo cargar archivos al sistema remoto a través de SSH

Del scp tradicional al rsync moderno. Desde sshfs no convencionales hasta la conveniencia GUI de FileZilla. Conozca las diferentes formas de copiar archivos a través de SSH.

Además, puedes explorar otros métodos para transferir archivos entre diferentes plataformas:

3 formas de compartir archivos fácilmente entre Linux, Windows y macOS

Hay varias formas de compartir archivos fácilmente entre Linux, Windows y macOS.

💬 ¿Cuál es tu forma preferida de transferir archivos entre sistemas? ¿Encuentra una directiva como scp adecuada para su caso de uso? Déjame saber tu opinión en los comentarios a continuación.

LEER  Los 11 mejores clientes gráficos Git para Linux en 2023

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba