Kuidas faile teisaldada kahe arvuti vahel nc- ja pv-käskude abil


Tere, Linuxi lugejad, toon teile veel ühe suurepärase artikli meie vähem tuntud Linuxi utiliitidest, millest peaksite teadma.

Selles artiklis selgitatakse, kuidas saate faile kahe Linuxi arvuti vahel käskude nc (võrgu utiliit) ja pv (toru vaataja) abil üle kanda, enne kui edasi liikuda, lubage mul selgitada, mis need kaks käsku on.

nc tähistab Netcati ja toob sageli välja, et “Šveitsi armee nuga” on võrgutööriist, mida kasutatakse võrgu silumiseks ja uurimiseks ning seda kasutatakse võrguühenduste loomiseks TCP või UDP abil, sadamate skannimiseks, failiedastuseks ja muuks. See on loodud usaldusväärseks taustaks ja seda kasutatakse spetsiaalselt programmides ja skriptides, kuna see võib luua peaaegu igasuguse võrguühenduse ja sellel on mitmeid sisseehitatud funktsioone.

Lühidalt öeldes on Pipe Viewer terminalipõhine tööriist torujuhtme kaudu saadetavate andmete edenemise jälgimiseks. See võimaldab kasutajal näha edenemisribaga andmete edenemist, näitab kulunud aega, täidetud protsente, praegust läbilaskevõimet, kogu edastatud andmeid ja Eeldatav aeg protsessi lõpuleviimiseks.

Liigume nüüd edasi ja vaatame, kuidas saaksime ühendada mõlemad käsud failide edastamiseks kahe Linuxi arvuti vahel. Selle artikli jaoks kasutame kahte Linuxi masinat järgmiselt:

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

Olukordades, kus andmete turvalisus on olulisem, kasutage SSP kaudu alati scp-d.

Alustame nüüd mõnest lihtsast nc- ja pv-käskude näitest, kuid enne seda peavad mõlemad utiliidid olema süsteemi installitud, kui mitte installida neid vastava jaotuspaketi halduri tööriista abil, nagu soovitatud:

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

Kuidas faile kahe Linuxi masina vahel teisaldada?

Oletame, et soovite saata ühe suure faili nimega CentOS-7-x86_64-DVD-1503.iso arvutist A B-le üle võrgu, mis on kiireim viis selle saavutamiseks nc-ga, mida kasutatakse võrguutiliidiga saatke faile üle TCP-võrgu, pv, et jälgida andmete edenemist ja tõrvautiliiti andmete tihendamiseks edastuskiiruse parandamiseks.

Esmalt logige sisse masinasse „A” IP-aadressiga 192.168.0.4 ja käivitage järgmine käsk.

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

Lubage mul selgitada ülaltoodud käsus kasutatud võimalusi:

  1. tar -zcf = tar on lindiarhiivi utiliit, mida kasutatakse arhiivifailide ja argumentide tihendamiseks/lahti pakkimiseks -c loob uue .tar arhiivifaili, -f määrab arhiivifaili tüübi ja -z filtreerib arhiivi gzip kaudu.
  2. CentOS-7-x86_64-DVD-1503.iso = Määrake võrgu kaudu saadetava faili nimi, see võib olla fail või tee kataloogi.
  3. pv = Pipe Viewer andmete edenemise jälgimiseks.
  4. nc -l -p 5555 -q 5 = võrguühenduse tööriist, mida kasutatakse andmete edastamiseks ja vastuvõtmiseks TCP kaudu ning argumendid -l, mida kasutatakse sissetuleva ühenduse kuulamiseks, -p 555 määrab kasutatava lähtekoha pordi ja -q 5 ootab sekundite arv ja seejärel lõpetage.

Nüüd logige sisse masinasse „B” IP-aadressiga 192.168.0.7 ja käivitage järgmine käsk.

# nc 192.168.1.4 5555 | pv | tar -zxf -

See on kõik, fail kantakse arvutisse B ja saate jälgida, kui kiiresti toiming toimis. Nc-de (veel käsitlemata, kuid kirjutame sellest varsti) ja pv-de (me juba käsitlesime selle kohta üksikasjalikku artiklit siin) käsud on veel palju muid suurepäraseid kasutusviise, kui näete mõnda näidet, andke meile sellest kommentaaride kaudu teada!