Cómo transferir archivos entre dos computadoras usando comandos NC y PV

Cómo transferir archivos entre dos computadoras usando comandos NC y PV

Hola compañeros lectores de Linux, te traigo otro gran artículo de nuestra serie de consejos y trucos de Linux, esta vez usaremos dos servicios de Linux menos conocidos que debes saber sobre.

Este artículo explicará cómo transferir archivos entre dos computadoras Linux usando Carolina del Norte (utilidad de redes) y PV (visor de tubos) comandos, antes de moverme más, déjame explicarte cuáles son estos dos comandos.

Transferir archivos entre servidores Linux

Carolina del Norte representa Netcat y a menudo señala como "Cuchillo del ejército suizo"Es una herramienta de red utilizada para la depuración e investigación de la red y también se utiliza para crear conexiones de red utilizando TCP o UDP, escaneo de puertos, transferencia de archivos y más. Se crea para ser un back-end confiable y especialmente utilizado en programas y scripts, ya que puede generar casi cualquier tipo de conexión de red y tiene una serie de características incorporadas.

PV En el visor de tuberías cortas es una herramienta basada en el terminal para monitorear el progreso de los datos enviados a través de una tubería, permite que un usuario vea el progreso de los datos con la barra de progreso, muestra el tiempo transcurrido, porcentaje completado, tasa de rendimiento actual, datos totales transferidos y estimados Tiempo para completar el proceso.

Cómo monitorear el progreso de los datos utilizando el comando PV (visor de tuberías)

Ahora avancemos más y veamos cómo podemos combinar ambos comandos para transferir archivos entre dos computadoras Linux, para el propósito de este artículo usaremos dos máquinas Linux de la siguiente manera:

Machine A con IP: 192.168.0.4 Máquina B con IP: 192.168.0.7 

Nota: Aconsejo que no use netcat Para enviar y recibir datos a través de la red púbica, ya que no utiliza inicios de sesión o autenticación, el único requisito es el número de IP y puerto de escucha del cliente y el envío de datos a través de la red no está asegurado, por lo tanto, siempre está reservado para usuarios avanzados de Linux y prefería usar en la red local protegida.

Situaciones en las que la seguridad de los datos es más importante, luego use siempre RSYNC sobre SSH o SCP sobre SSH.

Ahora comencemos con un ejemplo realmente fácil de Carolina del Norte y PV comandos, pero antes de hacer eso, ambas utilidades deben instalarse en el sistema, si no instalarlos utilizando su herramienta de Administrador de paquetes de distribución respectiva como se sugiere:

# yum instalación netcat pv [en Sombrero rojo sistemas basados] # dnf instalación netcat pv [en Fedora 22+ versiones] # apt-get instalación netcat pv [en Debian y sus derivados] 

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

Supongamos que desea enviar un archivo grande llamado CENTOS-7-X86_64-DVD-1503.Yo asi de computadora A a B sobre la red, la forma más rápida de lograr esto utilizando Carolina del Norte Una utilidad de red utilizada para enviar archivos a través de la red TCP, PV para monitorear el progreso de los datos y alquitrán utilidad para comprimir datos para mejorar la velocidad de transferencia.

En la máquina de Linux a

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

# TAR -ZCF-CENTOS-7-X86_64-DVD-1503.ISO | PV | nc -l -p 5555 -q 5 
Comando netcat para enviar archivos

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

  1. tar -zcf = Tar es una utilidad de archivo de cinta utilizada para comprimir/no compresión de archivos y argumentos de archivo -C Crea un nuevo .Archivo de alquitrán, -F especificar el tipo de archivo de archivo y -z Archivo de filtro a través de GZIP.
  2. CENTOS-7-X86_64-DVD-1503.Yo asi = Especifique el nombre del archivo para enviar a través de la red, puede ser un archivo o ruta a un directorio.
  3. PV = Visor de tuberías 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 para usar y -Q 5 espera el número de segundos y luego renuncia.

En la máquina Linux B

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

# NC 192.168.1.4 5555 | PV | tar -zxf - 
Transferir datos utilizando el comando NC y PV

Eso es todo, el archivo se transfiere a la computadora B, y podrás ver qué tan rápido estaba funcionando la operación. Hay toneladas de más otro gran uso de Carolina del Norte (aún no está cubierto, pero escribirá sobre esto pronto) y PV (ya cubrimos un artículo detallado sobre esto aquí) comandos, si conoce algún ejemplo, háganos saber a través de comentarios!