Jinsi ya Kuhamisha Faili Kati ya Kompyuta Mbili kwa kutumia Amri za nc na pv


Halo wasomaji wenzangu wa Linux, ninakuletea nakala nyingine nzuri kutoka kwa huduma zetu za Linux ambazo hazijulikani sana ambazo unapaswa kujua kuzihusu.

Nakala hii itaelezea jinsi ya kuhamisha faili kati ya kompyuta mbili za Linux kwa kutumia nc (matumizi ya mtandao) na amri za pv (mtazamaji wa bomba), kabla ya kusonga zaidi wacha nieleze ni amri gani hizi mbili.

nc inasimama kwa Netcat na mara nyingi hutaja kama Kisu cha Jeshi la Uswisi ni zana ya mtandao inayotumiwa kwa utatuzi na uchunguzi wa mtandao na pia hutumika kuunda miunganisho ya mtandao kwa kutumia TCP au UDP, kuchanganua bandari, kuhamisha faili na zaidi. Imeundwa kuwa sehemu ya nyuma inayotegemewa na inayotumiwa hasa katika programu na hati, kwa kuwa inaweza kuzalisha karibu aina yoyote ya uunganisho wa mtandao na ina idadi ya vipengele vilivyojengwa.

pv kwa kifupi Pipe Viewer ni zana ya msingi ya kufuatilia maendeleo ya data inayotumwa kupitia bomba, humruhusu mtumiaji kuona maendeleo ya data kwa upau wa maendeleo, inaonyesha muda uliopita, asilimia iliyokamilishwa, kiwango cha sasa cha utumaji, jumla ya data iliyohamishwa na Muda Uliokadiriwa wa kukamilisha mchakato.

Hebu sasa tusonge mbele zaidi na tuone jinsi tunaweza kuchanganya amri zote mbili za kuhamisha faili kati ya kompyuta mbili za Linux, kwa madhumuni ya makala hii tutakuwa tukitumia mashine mbili za Linux kama ifuatavyo:

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

Hali ambapo usalama wa data ni muhimu zaidi, basi kila wakati tumia scp juu ya SSH.

Sasa wacha tuanze na mfano rahisi wa amri za nc na pv, lakini kabla ya kufanya hivyo huduma zote mbili lazima zisakinishwe kwenye mfumo, ikiwa sio kuzisakinisha kwa kutumia zana yako ya usimamizi wa kifurushi cha usambazaji kama inavyopendekezwa:

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

Jinsi ya Kuhamisha Faili Kati ya Mashine Mbili za Linux?

Hebu tuchukulie kuwa unataka kutuma faili moja kubwa iitwayo CentOS-7-x86_64-DVD-1503.iso kutoka kwa kompyuta A hadi B kupitia mtandao, njia ya haraka zaidi ya kufanikisha hili kwa kutumia nc shirika la mtandao lililotumika tuma faili kupitia mtandao wa TCP, pv ili kufuatilia maendeleo ya data na matumizi ya tar kubana data ili kuboresha kasi ya uhamishaji.

Kwanza ingia kwenye mashine ‘A’ yenye anwani ya IP 192.168.0.4 na utekeleze amri ifuatayo.

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

Acha nieleze chaguzi zinazotumiwa katika amri hapo juu:

  1. tar -zcf = tar ni matumizi ya kumbukumbu ya tepu inayotumika kubana/kubana faili za kumbukumbu na hoja -c huunda faili mpya ya kumbukumbu ya .tar, -f bainisha aina ya faili ya kumbukumbu na -z kichujio cha kumbukumbu kupitia gzip.
  2. CentOS-7-x86_64-DVD-1503.iso = Bainisha jina la faili la kutuma kupitia mtandao, inaweza kuwa faili au njia ya saraka.
  3. pv = Kitazamaji Bomba ili kufuatilia maendeleo ya data.
  4. nc -l -p 5555 -q 5 = Zana ya mtandao inayotumika kutuma na kupokea data kupitia tcp na hoja -l inayotumika kusikiliza muunganisho unaoingia, -p 555 inabainisha chanzo cha chanzo cha kutumia na -q 5 inasubiri idadi ya sekunde kisha uache.

Sasa ingia kwenye mashine ‘B’ yenye anwani ya IP 192.168.0.7 na utekeleze amri ifuatayo.

# nc 192.168.1.4 5555 | pv | tar -zxf -

Hiyo ndiyo yote, faili huhamishiwa kwa kompyuta B, na utaweza kutazama jinsi operesheni ilikuwa ikifanya haraka. Kuna tani za matumizi mengine mazuri ya nc (haijafunikwa bado, lakini tutaandika juu yake hivi karibuni) na pv (tayari tumeshughulikia nakala ya kina juu ya hii hapa) amri, ikiwa unajua mfano wowote, tafadhali tujulishe kupitia maoni!