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:
- 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.
- CentOS-7-x86_64-DVD-1503.iso=Navedite naziv datoteke za slanje preko mreže, to može biti datoteka ili put do direktorija.
- pv=Preglednik kanala za praćenje napretka podataka.
- 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!