Kako prenijeti datoteke između dva računala pomoću naredbi nc i pv


Bok kolege čitatelji Linuxa, donosim vam još jedan sjajan članak iz naše serije savjeta i trikova za Linux, ovaj put koristit ćemo dva manje poznata uslužna programa za Linux o kojima biste trebali znati.

Ovaj članak će objasniti kako prenositi datoteke između dva Linux računala pomoću nc (uslužni program za umrežavanje) i pv (preglednik kanala) naredbe, prije nego krenem dalje dopustite mi da objasnim koje su ove dvije naredbe.

nc je kratica za Netcat i često se ističe da je “švicarski nož” mrežni alat koji se koristi za otklanjanje grešaka na mreži i istraživanje, a također se koristi za stvaranje mrežnih veza koristeći TCP ili UDP, skeniranje portova, prijenos datoteka i više. Stvoren je da bude pouzdan back-end i posebno se koristi u programima i skriptama, budući da može generirati gotovo bilo koju vrstu mrežne veze i ima niz ugrađenih značajki.

pv ukratko Pipe Viewer je terminalski alat za praćenje napretka podataka koji se šalju kroz cjevovod, omogućuje korisniku da vidi napredak podataka s trakom napretka, prikazuje proteklo vrijeme, postotak dovršenih, trenutni protok brzina, ukupni preneseni podaci i procijenjeno vrijeme dovršetka procesa.

Kako pratiti napredak podataka pomoću naredbe pv (Pipe Viewer).

Idemo sada dalje i vidimo kako možemo kombinirati obje naredbe za prijenos datoteka između dva Linux računala, u svrhu ovog članka koristit ćemo dva Linux stroja kako slijedi:

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

Napomena: izričito savjetujem da ne koristite netcat za slanje i primanje podataka preko javne mreže, jer ne koristi nikakve prijave ili autentifikaciju , jedini zahtjev je IP adresa klijenta i broj priključka za slušanje, a podaci koji se šalju preko mreže nisu zaštićeni, stoga su uvijek rezervirani za napredne korisnike Linuxa i preferiraju se za upotrebu na zaštićenoj lokalnoj mreži.

U situacijama u kojima je sigurnost podataka važnija, uvijek koristite rsync preko SSH ili scp preko SSH.

Započnimo sada s nekim stvarno jednostavnim primjerom nc i pv naredbi, ali prije nego što to učinite, oba uslužna programa moraju biti instalirana na sustavu, ako nisu, instalirajte ih pomoću odgovarajućeg upravitelja distribucijskih paketa alat kao što je predloženo:

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]

Kako prenijeti datoteke između dva Linux računala?

Pretpostavimo da želite poslati jednu veliku datoteku pod nazivom CentOS-7-x86_64-DVD-1503.iso s računala A na B preko mreže , najbrži način da to postignete pomoću nc mrežnog uslužnog programa koji se koristi za slanje datoteka preko TCP mreže, pv za praćenje napretka podataka i tar uslužni program za komprimiranje podataka radi poboljšanja brzine prijenosa.

Na Linux stroju A

Prvo se prijavite na stroj 'A' s IP adresom 192.168.0.4 i pokrenite sljedeću naredbu.

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

Dopustite mi da objasnim opcije korištene u gornjoj naredbi:

  1. tar -zcf=tar je uslužni program za arhiviranje trake koji se koristi za komprimiranje/dekomprimiranje arhivskih datoteka i argumenata -c stvara novu arhivsku datoteku .tar, -f navedite vrstu arhivske datoteke i -z filtrirajte arhivu kroz gzip.
  2. CentOS-7-x86_64-DVD-1503.iso=Navedite naziv datoteke za slanje preko mreže, to može biti datoteka ili put do direktorija.
  3. pv=Preglednik kanala za praćenje napretka podataka.
  4. nc -l -p 5555 -q 5=Alat za umrežavanje koji se koristi za slanje i primanje podataka preko tcp-a i argumenata -l koji se koriste za osluškivanje dolazne veze, - p 555 specificira izvorni port za korištenje i -q 5 čeka određeni broj sekundi i zatim izlazi.

Na Linux stroju B

Sada se prijavite na stroj 'B' s IP adresom 192.168.0.7 i pokrenite sljedeću naredbu.

nc 192.168.1.4 5555 | pv | tar -zxf -

To je to, datoteka se prenosi na računalo B, a vi ćete moći pratiti koliko se brzo operacija izvodi. Postoji mnoštvo drugih sjajnih upotreba naredbi nc (još nije obrađeno, ali ćemo o tome uskoro pisati) i pv (ovdje smo već obradili detaljan članak o tome) , ako znate neki primjer, javite nam putem komentara!