Kā pārsūtīt failus starp diviem datoriem, izmantojot nc un pv komandas


Sveiki, kolēģi Linux lasītāji, es jums sniedzu vēl vienu lielisku rakstu no mūsu mazāk pazīstamajām Linux utilītprogrammām, par kuru jums jāzina.

Šajā rakstā tiks paskaidrots, kā pārsūtīt failus starp diviem Linux datoriem, izmantojot komandas nc (tīkla utilīta) un pv (caurules skatītājs), pirms tālāk virzīties, ļaujiet man paskaidrot, kas ir šīs divas komandas.

nc nozīmē Netcat un bieži norāda kā “Šveices armijas nazis” ir tīkla rīks, ko izmanto tīkla atkļūdošanai un izmeklēšanai, kā arī to izmanto tīkla savienojumu izveidei, izmantojot TCP vai UDP, ostu skenēšanai, failu pārsūtīšanai un daudz ko citu. Tas ir izveidots kā uzticams back-end un īpaši izmantots programmās un skriptos, jo tas var radīt gandrīz jebkura veida tīkla savienojumu un tam ir vairākas iebūvētas funkcijas.

pv īsumā Pipe Viewer ir uz terminālu balstīts rīks, lai uzraudzītu cauruļvadu nosūtīto datu progresu. Tas ļauj lietotājam redzēt datu progresu ar progresa joslu, parāda pagājušo laiku, pabeigto procentuālo daļu, pašreizējo caurlaidspēju, kopējo pārsūtīto datu daudzumu un Paredzamais procesa pabeigšanas laiks.

Tagad ejam tālāk un redzēsim, kā mēs varam apvienot abas komandas, lai pārsūtītu failus starp diviem Linux datoriem, šī raksta vajadzībām mēs izmantosim divas Linux mašīnas šādi:

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

Situācijās, kad datu drošība ir svarīgāka, vienmēr SSP izmantojiet scp.

Tagad sāksim ar reālu vienkāršu nc un pv komandu piemēru, taču pirms to izdarīšanas abas utilītas ir jāinstalē sistēmā, ja tās nav instalētas, izmantojot atbilstošo izplatīšanas pakotņu pārvaldnieka rīku, kā ieteikts:

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

Kā pārsūtīt failus starp divām Linux mašīnām?

Pieņemsim, ka vēlaties no datora A uz B pa tīklu pārsūtīt vienu lielu failu ar nosaukumu CentOS-7-x86_64-DVD-1503.iso - ātrākais veids, kā to panākt, izmantojot tīkla tīkla utilītu nc nosūtiet failus pa TCP tīklu, pv, lai uzraudzītu datu progresu un darvas utilītu, lai saspiestu datus, lai uzlabotu pārsūtīšanas ātrumu.

Vispirms piesakieties mašīnā ‘A’ ar IP adresi 192.168.0.4 un palaidiet šādu komandu.

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

Ļaujiet man paskaidrot iepriekš komandā izmantotās opcijas:

  1. tar -zcf = tar ir lentes arhīva lietderība, ko izmanto, lai saspiestu/izspiestu arhīva failus un argumentus -c izveido jaunu .tar arhīva failu, -f norāda arhīva faila veidu un -z filtrē arhīvu caur gzip.
  2. CentOS-7-x86_64-DVD-1503.iso = Norādiet faila nosaukumu, kas jānosūta tīklā. Tas var būt fails vai ceļš uz direktoriju.
  3. pv = Pipe Viewer, lai uzraudzītu datu progresu.
  4. nc -l -p 5555 -q 5 = Tīkla rīks, ko izmanto datu nosūtīšanai un saņemšanai, izmantojot TCP, un argumenti -l, ko izmanto ienākošā savienojuma klausīšanai, -p 555 norāda izmantojamo avota portu un -q 5 gaida sekunžu skaitu un pēc tam atmest.

Tagad piesakieties mašīnā ‘B’ ar IP adresi 192.168.0.7 un palaidiet šo komandu.

# nc 192.168.1.4 5555 | pv | tar -zxf -

Tas ir viss, fails tiek pārsūtīts uz datoru B, un jūs varēsiet vērot, cik ātri tika veikta darbība. Ir vēl daudz citu lielisku nc lietojumu (kas vēl nav apskatīts, bet drīz par to rakstīsim) un pv (šeit mēs jau aplūkojām detalizētu rakstu par šo lietu), ja jūs zināt kādu piemēru, lūdzu, informējiet mūs, izmantojot komentārus!