GNU/Linux >> Linux Esercitazione >  >> Linux

Come trasferire file tra due computer utilizzando i comandi nc e pv

Ciao amici lettori di Linux, vi porto ancora un altro ottimo articolo della nostra serie Suggerimenti e trucchi per Linux, questa volta utilizzeremo due utilità Linux meno conosciute che dovreste conoscere.

Questo articolo spiegherà come trasferire file tra due computer Linux utilizzando nc (utilità di rete ) e pv (visualizzatore di pipe ) comandi, prima di andare oltre lascia che ti spieghi cosa sono questi due comandi.

nc sta per Netcat e spesso indicato come “coltellino svizzero ” è uno strumento di rete utilizzato per il debug e l'analisi della rete e viene utilizzato anche per creare connessioni di rete tramite TCP o UDP, scansione delle porte, trasferimento di file e altro ancora. È stato creato per essere un back-end affidabile e utilizzato specialmente in programmi e script, poiché può generare quasi tutti i tipi di connessione di rete e ha una serie di funzionalità integrate.

pv in breve Pipe Viewer è uno strumento basato su terminale per monitorare l'avanzamento dei dati inviati attraverso una pipeline, consente all'utente di vedere lo stato di avanzamento dei dati con la barra di avanzamento, mostra il tempo trascorso, la percentuale di completamento, la velocità di trasmissione attuale, i dati totali trasferiti e la stima È ora di completare il processo.

Come monitorare l'avanzamento dei dati utilizzando il comando pv (Pipe Viewer)

Andiamo ora oltre e vediamo come possiamo combinare entrambi i comandi per trasferire file tra due computer Linux, ai fini di questo articolo utilizzeremo due macchine Linux come segue:

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

Nota: Consiglio vivamente di non utilizzare netcat per inviare e ricevere dati su rete pubblica, poiché non utilizza alcun login o autenticazione, l'unico requisito è l'IP del client e il numero di porta di ascolto e l'invio di dati su rete non è protetto, quindi è sempre riservato agli utenti Linux avanzati e preferito utilizzare su rete locale protetta.

Situazioni in cui la sicurezza dei dati è più importante, quindi usa sempre rsync su SSH o scp su SSH.

Ora iniziamo con qualche semplice esempio di nc e pv comandi, ma prima di farlo entrambe le utilità devono essere installate sul sistema, in caso contrario installarle utilizzando il rispettivo strumento di gestione dei pacchetti di distribuzione come suggerito:

# 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]

Come trasferire file tra due macchine Linux?

Supponiamo che tu voglia inviare un file di grandi dimensioni chiamato CentOS-7-x86_64-DVD-1503.iso dal computer A a B in rete, il modo più rapido per ottenere questo risultato utilizzando nc un'utilità di rete utilizzata per inviare file sulla rete TCP, pv per monitorare l'andamento dei dati e tar utility per comprimere i dati per migliorare la velocità di trasferimento.

Su macchina Linux A

Primo accesso alla macchina 'A ' con indirizzo IP 192.168.0.4 ed eseguire il comando seguente.

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

Lasciami spiegare le opzioni utilizzate nel comando precedente:

  1. tar -zcf =tar è un'utilità di archiviazione su nastro utilizzata per comprimere/decomprimere file di archivio e argomenti -c crea un nuovo file di archivio .tar, -f specifica il tipo di file di archivio e -z filtrare l'archivio tramite gzip.
  2. CentOS-7-x86_64-DVD-1503.iso =Specifica il nome del file da inviare in rete, può essere un file o il percorso di una directory.
  3. pv =Visualizzatore pipe per monitorare l'avanzamento dei dati.
  4. nc -l -p 5555 -q 5 =Strumento di rete utilizzato per inviare e ricevere dati su TCP e argomenti -l utilizzato per ascoltare una connessione in entrata, -p 555 specifica la porta di origine da utilizzare e -q 5 attende il numero di secondi e poi esce.

Su macchina Linux B

Ora accedi alla macchina 'B ' con indirizzo IP 192.168.0.7 ed eseguire il comando seguente.

# nc 192.168.1.4 5555 | pv | tar -zxf -

Ecco fatto, il file viene trasferito sul computer B e potrai vedere la velocità con cui è stata eseguita l'operazione. Ci sono molti altri ottimi utilizzi di nc (non ancora trattato, ma ne scriverò presto) e pv (abbiamo già trattato un articolo dettagliato su questo qui) comandi, se conosci qualche esempio, faccelo sapere tramite commenti!


Linux
  1. Trasferisci in modo sicuro file e cartelle tra computer utilizzando Croc

  2. Come configurare il server SAMBA e trasferire file tra Linux e Windows

  3. Come copiare in modo sicuro file tra host Linux utilizzando SCP e SFTP

  4. Come trasferire file tra server in Linux utilizzando SCP e FTP

  5. Il modo migliore per trasferire file su una LAN tra due computer Linux

Come eseguire il backup e il ripristino dei dati utilizzando Restic in Linux

Come eseguire il backup e il ripristino di file utilizzando BorgBackup in Linux

Come eseguire il backup di file e directory utilizzando Rsync in Linux

Come trasferire file tra Dropbox e Google Drive con Rclone in Linux

Come connettere e condividere dati tra due sistemi Linux

Come eliminare file e directory utilizzando la riga di comando di Linux