GNU/Linux >> Tutoriales Linux >  >> Linux

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

Hola compañeros lectores de Linux, les traigo otro excelente artículo de nuestra serie de Consejos y trucos de Linux, esta vez usaremos dos utilidades de Linux menos conocidas que deben conocer.

Este artículo explicará cómo transferir archivos entre dos computadoras Linux usando nc (utilidad de red ) y v (visor de tuberías ) comandos, antes de seguir adelante, permítanme explicar cuáles son estos dos comandos.

nc significa Netcat y a menudo señalan como “navaja suiza ” es una herramienta de red utilizada para la depuración e investigación de redes y también para crear conexiones de red mediante TCP o UDP, escaneo de puertos, transferencia de archivos y más. Se creó para ser un back-end confiable y se usa especialmente en programas y scripts, ya que puede generar casi cualquier tipo de conexión de red y tiene una serie de funciones integradas.

pv en resumen, Pipe Viewer es una herramienta basada en terminal para monitorear el progreso del envío de datos a través de una tubería, le permite al usuario ver el progreso de los datos con la barra de progreso, muestra el tiempo transcurrido, el porcentaje completado, la tasa de rendimiento actual, el total de datos transferidos y estimado Es hora de completar el proceso.

Cómo monitorear el progreso de los datos usando el comando pv (Pipe Viewer)

Avancemos ahora más y veamos cómo podemos combinar ambos comandos para transferir archivos entre dos computadoras con Linux. A los fines de este artículo, usaremos dos máquinas con Linux de la siguiente manera:

Machine A with IP : 192.168.0.4
Machine B with IP : 192.168.0.7

Nota: Recomiendo encarecidamente no utilizar netcat para enviar y recibir datos a través de la red pública, ya que no utiliza ningún inicio de sesión ni autenticación, el único requisito es la IP del cliente y el número de puerto de escucha y el envío de datos a través de la red no está protegido, por lo que siempre está reservado para usuarios avanzados de Linux y se prefiere usar en una red local protegida.

Situaciones en las que la seguridad de los datos es más importante, utilice siempre rsync sobre SSH o scp sobre SSH.

Ahora, comencemos con un ejemplo muy sencillo de nc y pv comandos, pero antes de hacerlo, ambas utilidades deben estar instaladas en el sistema, si no, instálelas usando su respectiva herramienta de administración de paquetes de distribución como se sugiere:

# yum install netcat pv        [On RedHat based systems]
# dnf install netcat pv        [On Fedora 22+ versions]
# apt-get install netcat pv    [On Debian and its derivatives]

¿Cómo transferir archivos entre dos máquinas Linux?

Supongamos que desea enviar un archivo grande llamado CentOS-7-x86_64-DVD-1503.iso desde la computadora A a B a través de la red, la forma más rápida de lograr esto usando nc una utilidad de red utilizada para enviar archivos a través de la red TCP, pv para monitorear el progreso de los datos y tar utilidad para comprimir datos para mejorar la velocidad de transferencia.

En la máquina Linux A

Primero inicie sesión en la máquina 'A ‘ con la dirección IP 192.168.0.4 y ejecute el siguiente comando.

# tar -zcf - CentOS-7-x86_64-DVD-1503.iso | pv | nc -l -p 5555 -q 5

Permítanme explicar las opciones utilizadas en el comando anterior:

  1. tar -zcf =tar es una utilidad de archivo de cinta utilizada para comprimir/descomprimir archivos y argumentos -c crea un nuevo archivo de almacenamiento .tar, -f especifique el tipo de archivo comprimido y -z filtrar archivo a través de gzip.
  2. CentOS-7-x86_64-DVD-1503.iso =Especifique el nombre del archivo para enviar a través de la red, puede ser un archivo o una ruta a un directorio.
  3. v =Pipe Viewer para monitorear el progreso de los datos.
  4. nc -l -p 5555 -q 5 =Herramienta de red utilizada para enviar y recibir datos a través de tcp y argumentos -l solía escuchar una conexión entrante, -p 555 especifica el puerto de origen a usar y -q 5 espera la cantidad de segundos y luego sale.

En la máquina Linux B

Ahora inicie sesión en la máquina 'B ‘ con la dirección IP 192.168.0.7 y ejecute el siguiente comando.

# nc 192.168.1.4 5555 | pv | tar -zxf -

Eso es todo, el archivo se transfiere a la computadora B , y podrá ver qué tan rápido se realizó la operación. Hay toneladas de otros usos excelentes de nc (aún no cubierto, pero escribiremos sobre ello pronto) y pv (ya cubrimos un artículo detallado sobre esto aquí) comandos, si conoce algún ejemplo, ¡háganoslo saber a través de comentarios!


Linux
  1. Transfiera archivos y carpetas de forma segura entre computadoras usando Croc

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

  3. Cómo copiar archivos de forma segura entre hosts Linux utilizando SCP y SFTP

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

  5. La mejor manera de transferir archivos a través de una LAN entre dos computadoras Linux

Cómo hacer una copia de seguridad y restaurar datos usando Ristic en Linux

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

Cómo conectar y compartir datos entre dos sistemas Linux

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