GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo transferir archivos entre servidores en Linux usando SCP y FTP

La transferencia de archivos entre máquinas es una tarea operativa muy común que realizará todo el tiempo como desarrollador.

Linux proporciona una serie de utilidades para transferir archivos. En este tutorial hablaremos sobre FTP y SCP . Muchos scripts automatizados también implementan FTP o SCP para mover archivos.

¿Qué es FTP?

FTP es un protocolo de red utilizado para intercambiar archivos a través de la red. Utiliza el puerto 21. FTP le permite acceder a un sistema remoto para intercambiar archivos utilizando el ftp comando.

Sintaxis FTP

La sintaxis de FTP es la siguiente:

ftp host

Aquí, host puede ser el nombre de host o la dirección IP del host remoto.

Comandos FTP

Los comandos FTP son similares a los comandos de Linux. Discutiremos algunos de estos.

Cómo transferir archivos a través de FTP

FTP ofrece dos modos de transferencia:ASCII y binario.

  1. ASCII significa Código estándar estadounidense para el intercambio de información . Se utiliza para transferir archivos sin formato, como archivos de texto.
  2. Modo binario :el modo binario se utiliza para transferir archivos que no son de texto, como imágenes.

El modo de transferencia predeterminado es ASCII.

Paso 1:Conéctese a FTP

En el siguiente ejemplo, hostA es el host remoto. Se le pedirá un nombre de usuario y una contraseña.

$ ftp hostA
Connected to hostA.
220 hostA FTP server ready.
Name (hostA:user): user
331 Password required for user.
Password: password
230 User user logged in.
Remote system type is LINUX.

Una vez que la conexión sea exitosa, notará el ftp> símbolo al principio. Ahora podemos ejecutar los comandos FTP.

Paso 2:elija el modo de transferencia de archivos

Puede elegir el modo (binario o ASCII) según el tipo de archivo.

ftp> ascii
200 Type set to A.

Paso 3:Transferir archivos

Usamos el get comando para transferir el archivo sample.txt desde el servidor FTP remoto a la máquina local.

ftp> get sample.txt
200 PORT command successful.
150 Opening ASCII mode data connection for sample.txt (22 bytes).
226 Transfer complete.
local: sample.txt remote: sample.txt
22 bytes received in 0.012 seconds (1.54 Kbytes/s)

Paso 4. Terminar la sesión

ftp> bye
221-You have transferred 22 bytes in 1 files.
221-Total traffic for this session was 126 bytes in 2 transfers. 221-Thank you for using the FTP service on hostA.
221 Goodbye.

Cómo transferir varios archivos a través de FTP

Para transferir archivos de forma masiva, hay dos comandos:mget y mput .

Usas mget para descargar los archivos, mientras que usa mput para subir los archivos.

ftp> mget sample_file.1 sample_file.2
ftp> mput sample_file.1 sample_file.2

Todos los pasos que acabamos de aprender se pueden colocar en un archivo ejecutable y programar. Puede encontrar el código para la automatización aquí.

¿Qué es SCP?

SCP significa Copia Segura. Utiliza SSH y el puerto 22. Los datos transferidos a través de SCP están encriptados y los rastreadores no pueden acceder a ellos. Esto hace que SCP sea muy seguro.

Puede usar SCP para:

  • Transfiere archivos desde la máquina local al host remoto.
  • Transfiere archivos desde el host remoto a la máquina local.

Sintaxis SCP

Exploremos la sintaxis de SCP.

scp [FLAG] [user@]SOURCE_HOST:]/path/to/file1 [user@]DESTINATION_HOST:]/path/to/file2
  • [FLAG] especifica las opciones que se le pueden dar a SCP. Aquí hay algunos detalles sobre las banderas:
Comando Uso
abrir Abre una conexión remota con otra computadora.
obtener Copia un archivo del sistema remoto al sistema local.
poner Copia un archivo del sistema local a un directorio en el sistema remoto.
get Transfiere múltiples archivos desde el sistema remoto al directorio actual del sistema local.
mput Transfiere múltiples archivos desde el sistema local a un directorio en el sistema remoto.
adiós/salir Se prepara para salir del entorno FTP.
cerrar Termina la conexión FTP.
ascii Habilita el modo de transferencia de archivos a ASCII
binario Habilita el modo de transferencia de archivos a binario.
  • [user@]SOURCE_HOST es la máquina fuente.
  • [user@]DESTINATION_HOST:] es la máquina de destino.

Nota :Para transferir archivos a través de SCP, se deben conocer las credenciales y el usuario debe tener permisos para escribir .

Cómo transferir archivos de la máquina local al host remoto a través de SCP

Para transferir archivos a un host remoto, use el siguiente comando:

scp source_file.txt [email protected]:/path/to/remote/directory

En el comando anterior, source_file.txt es el archivo a copiar. Remote_username es el nombre de usuario del host remoto 10.13.13.11 . Después de : se especifica la ruta de destino.

Salida de muestra:

[email protected]'s password:
source_file.txt                             100%    0     0.0KB/s   00:00

El archivo source_file.txt ahora se colocará en /path/to/remote/directory .

Para copiar directorios, use -r como se muestra a continuación.

scp -r /local/directory [email protected]:/path/to/remote/directory

Cómo transferir archivos desde el host remoto a la máquina local a través de SCP

Para transferir archivos desde un host remoto a una máquina local, use el siguiente comando:

scp [email protected]:/remote/source_file.txt /path/to/local/directory
Tenga mucho cuidado al transferir archivos, ya que SCP sobrescribe los archivos ya existentes.

Resumiendo

En este tutorial, aprendió a transferir archivos y directorios mediante FTP y SCP a través de la línea de comandos.

Cuando se automatizan, estos comandos tienen propósitos aún mayores en almacenamiento de datos, ETL (Extracción, Transformación, Carga), generación de informes, archivado y procesamiento masivo de archivos. Prueba estos comandos. Conectémonos en Twitter.


Linux
  1. Cómo transferir archivos entre dos computadoras usando los comandos nc y pv

  2. Cómo configurar el servidor SAMBA y transferir archivos entre Linux y Windows

  3. Cómo transferir archivos en Linux con SCP y Rsync

  4. Cómo transferir archivos de forma segura usando el comando SCP en Linux

  5. Cómo usar FTP en Linux para transferir archivos

Cómo compartir y transferir archivos entre Linux y Windows

Cómo hacer una copia de seguridad y restaurar archivos usando BorgBackup en Linux

Cómo hacer una copia de seguridad de archivos y directorios usando Rsync en Linux

Cómo transferir archivos entre Dropbox y Google Drive con Rclone en Linux

4 formas de transferir archivos y directorios en Linux

Cómo eliminar archivos y directorios usando la línea de comandos de Linux

    Bandera Descripción
    -r Para copiar directorios recursivamente.
    -q Se utiliza para ocultar el medidor de progreso y cualquier otra información que no sean errores.
    -C Se utiliza para comprimir los datos al enviarlos a su destino.
    -P Especifica el puerto SSH de destino.
    -p Preserva los tiempos de acceso a los archivos.