10 „Wget“ („Linux File Downloader“) komandų pavyzdžiai sistemoje „Linux“


Šiame įraše mes apžvelgsime „wget“ įrankį, kuris nuskaito failus iš interneto (WWW) naudodamas plačiai naudojamus protokolus, tokius kaip HTTP, HTTPS ir FTP. „Wget“ įrankis yra laisvai prieinamas paketas, o licencija suteikiama pagal GNU GPL licenciją. Šią priemonę galima įdiegti bet kokią „Unix“ tipo operacinę sistemą, įskaitant „Windows“ ir MAC OS. Tai neinteraktyvus komandinės eilutės įrankis. Pagrindinis „Wget“ bruožas - tvirtumas. Jis sukurtas taip, kad veiktų esant lėtam ar nestabiliam tinklo ryšiui. „Wget“ automatiškai pradeda atsisiųsti ten, kur buvo nutikta, jei iškilo tinklo problema. Taip pat atsisiųsti failą rekursyviai. Tai bandys tol, kol failas bus visiškai gautas.

Pirmiausia patikrinkite, ar „wget“ įrankis jau įdiegtas jūsų „Linux“ laukelyje, naudodami šią komandą.

# rpm -qa wget

wget-1.12-1.4.el6.i686

Įdiekite jį naudodami komandą YUM, jei „wget“ dar nėra įdiegta, arba taip pat galite atsisiųsti dvejetainį paketą iš http://ftp.gnu.org/gnu/wget/.

# yum -y install wget

Čia naudojama parinktis -y yra užkirsti kelią patvirtinimo raginimui prieš diegiant bet kokį paketą. Norėdami gauti daugiau YUM komandų pavyzdžių ir parinkčių, skaitykite straipsnį apie 20 YUM komandų pavyzdžių, skirtų „Linux“ paketų valdymui.

1. Atsisiųsti vieną failą

Komanda atsisiųs vieną failą ir išsaugos jį dabartiniame kataloge. Tai taip pat rodo atsisiuntimo eigą, dydį, datą ir laiką atsisiuntimo metu.

# wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

--2012-10-02 11:28:30--  http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
Resolving ftp.gnu.org... 208.118.235.20, 2001:4830:134:3::b
Connecting to ftp.gnu.org|208.118.235.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 446966 (436K) [application/x-gzip]
Saving to: wget-1.5.3.tar.gz
100%[===================================================================================>] 446,966     60.0K/s   in 7.4s
2012-10-02 11:28:38 (58.9 KB/s) - wget-1.5.3.tar.gz

2. Atsisiųskite failą kitu pavadinimu

Naudodami parinktį -O (didžiosios raidės), atsisiunčiate failą su kitu failo pavadinimu. Čia mes suteikėme wget.zip failo pavadinimą, kaip parodyta žemiau.

# wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

--2012-10-02 11:55:54--  http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
Resolving ftp.gnu.org... 208.118.235.20, 2001:4830:134:3::b
Connecting to ftp.gnu.org|208.118.235.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 446966 (436K) [application/x-gzip]
Saving to: wget.zip
100%[===================================================================================>] 446,966     60.0K/s   in 7.5s
2012-10-02 11:56:02 (58.5 KB/s) - wget.zip

3. Atsisiųskite kelis failus su http ir ftp protokolu

Čia matome, kaip atsisiųsti kelis failus naudojant HTTP ir FTP protokolus su „wget“ komanda.

# wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz ftp://ftp.gnu.org/gnu/wget/wget-1.10.1.tar.gz.sig

--2012-10-02 12:11:16--  http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
Resolving ftp.gnu.org... 208.118.235.20, 2001:4830:134:3::b
Connecting to ftp.gnu.org|208.118.235.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 446966 (436K) [application/x-gzip]
Saving to: wget-1.5.3.tar.gz

100%[===================================================================================>] 446,966     56.7K/s   in 7.6s

2012-10-02 12:11:29 (57.1 KB/s) - wget-1.5.3.tar.gz

--2012-10-02 12:11:29--  ftp://ftp.gnu.org/gnu/wget/wget-1.10.1.tar.gz.sig
           => wget-1.10.1.tar.gz.sig

Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /gnu/wget ... done.
==> SIZE wget-1.10.1.tar.gz.sig ... 65
==> PASV ... done.    ==> RETR wget-1.10.1.tar.gz.sig ... done.
Length: 65 (unauthoritative)

100%[===================================================================================>] 65          --.-K/s   in 0s

2012-10-02 12:11:33 (2.66 MB/s) - wget-1.10.1.tar.gz.sig

FINISHED --2012-10-02 12:11:33--
Downloaded: 2 files, 437K in 7.6s (57.1 KB/s)

4. Skaitykite URL iš failo

Galite išsaugoti URL skaičių teksto faile ir atsisiųsti juos naudodami -i parinktį. Žemiau mes sukūrėme tmp.txt, esantį wget kataloge, kuriame įdėjome URL serijas atsisiųsti.

# wget -i /wget/tmp.txt

--2012-10-02 12:34:12--  http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz ftp://ftp.gnu.org/gnu/wget/wget-1.10.1.tar.gz.sig
Resolving ftp.gnu.org... 208.118.235.20, 2001:4830:134:3::b
Connecting to ftp.gnu.org|208.118.235.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 446966 (436K) [application/x-gzip]
Saving to: wget-1.10.1.tar.gz.sig

100%[===================================================================================>] 446,966     35.0K/s   in 10s

2012-10-02 12:34:23 (42.7 KB/s) - wget-1.10.1.tar.gz.sig

--2012-10-02 12:34:23--  http://mirrors.hns.net.in/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-LiveDVD.iso
Resolving mirrors.hns.net.in... 111.91.91.34, 2401:4800::111:91:91:34
Connecting to mirrors.hns.net.in|111.91.91.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1761607680 (1.6G) [application/octet-stream]
Saving to: CentOS-6.3-x86_64-LiveDVD.iso

 45%[==========================================                                          ] 1,262,000   51.6K/s  eta 8h 17m

5. Atnaujinkite neužbaigtą atsisiuntimą

Didelio failo atsisiuntimo atveju gali nutikti kada nors sustabdyti atsisiuntimą. Tokiu atveju galime tęsti tą patį failo atsisiuntimą ten, kur jis buvo paliktas, naudodami -c parinktį. Bet kai pradėsite atsisiųsti failą nenurodydami parinkties -c, „wget“ failo pabaigoje pridės .1 plėtinį, laikydamas jį nauju atsisiuntimu. Taigi, kai atsisiunčiate didelius failus, gera pridedama jungiklis -c.

# wget -c http://mirrors.hns.net.in/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-LiveDVD.iso

--2012-10-02 12:46:57--  http://mirrors.hns.net.in/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-LiveDVD.iso
Resolving mirrors.hns.net.in... 111.91.91.34, 2401:4800::111:91:91:34
Connecting to mirrors.hns.net.in|111.91.91.34|:80... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 1761607680 (1.6G), 1758132697 (1.6G) remaining [application/octet-stream]
Saving to: CentOS-6.3-x86_64-LiveDVD.iso

 51% [=================================================                                  ] 3,877,262   47.0K/s  eta 10h 27m ^

6. Atsisiųskite failą su pridėtu .1 failo pavadinimu

Pradėdami atsisiųsti be parinkties -c, wget failo pabaigoje pridėkite .1 ir pradėkite nuo naujo atsisiuntimo. Jei .1 jau yra .2, pridėkite failo pabaigoje.

# wget http://mirrors.hns.net.in/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-LiveDVD.iso

--2012-10-02 12:50:49--  http://mirrors.hns.net.in/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-LiveDVD.iso
Resolving mirrors.hns.net.in... 111.91.91.34, 2401:4800::111:91:91:34
Connecting to mirrors.hns.net.in|111.91.91.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1761607680 (1.6G) [application/octet-stream]
Saving to: CentOS-6.3-x86_64-LiveDVD.iso.1

 18% [==================                                                                 ] 172,436     59.2K/s   

Žr. Failų su .1 plėtiniu pavyzdžius, pridėtus failo pabaigoje.

# ls -l CentOS*

-rw-r--r--. 1 root root 3877262 Oct  2 12:47 CentOS-6.3-x86_64-LiveDVD.iso
-rw-r--r--. 1 root root  181004 Oct  2 12:50 CentOS-6.3-x86_64-LiveDVD.iso.1

7. Atsisiųskite failus fone

Naudodami -b parinktį galite siųsti atsisiuntimą fone iškart po atsisiuntimo pradžios, o žurnalai įrašomi /wget/log.txt faile.

# wget -b /wget/log.txt ftp://ftp.iinet.net.au/debian/debian-cd/6.0.5/i386/iso-dvd/debian-6.0.5-i386-DVD-1.iso

Continuing in background, pid 3550.

8. Apribokite atsisiuntimo greičio apribojimus

Pasirinkus „Option –limit-rate = 100k“, atsisiuntimo greičio apribojimas apribojamas iki 100k, o žurnalai bus sukurti /wget/log.txt, kaip parodyta žemiau.

# wget -c --limit-rate=100k  /wget/log.txt ftp://ftp.iinet.net.au/debian/debian-cd/6.0.5/i386/iso-dvd/debian-6.0.5-i386-DVD-1.iso

/wget/log.txt: Scheme missing.
--2012-10-02 13:16:21--  ftp://ftp.iinet.net.au/debian/debian-cd/6.0.5/i386/iso-dvd/debian-6.0.5-i386-DVD-1.iso
           => debian-6.0.5-i386-DVD-1.iso
esolving ftp.iinet.net.au... 203.0.178.32
Connecting to ftp.iinet.net.au|203.0.178.32|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /debian/debian-cd/6.0.5/i386/iso-dvd ... done.
==> SIZE debian-6.0.5-i386-DVD-1.iso ... 4691312640
==> PASV ... done.    ==> REST 2825236 ... done.
==> RETR debian-6.0.5-i386-DVD-1.iso ... done.
Length: 4688487404 (4.4G), 4685662168 (4.4G) remaining (unauthoritative)

 0% [                                                                                    ] 3,372,160   35.5K/s  eta 28h 39m

9. Apribotas FTP ir HTTP atsisiuntimas naudojant vartotojo vardą ir slaptažodį

Naudodami Parinktys –http-user = username, –http-password = password & –ftp-user = username, –ftp-password = password, galite atsisiųsti slaptažodžiu ribojamas HTTP arba FTP svetaines, kaip parodyta žemiau.

# wget --http-user=narad --http-password=password http://mirrors.hns.net.in/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-LiveDVD.iso
# wget --ftp-user=narad --ftp-password=password ftp://ftp.iinet.net.au/debian/debian-cd/6.0.5/i386/iso-dvd/debian-6.0.5-i386-DVD-1.iso

10. Suraskite „wget“ versiją ir pagalbą

Naudodami parinktis „Versija“ ir „Pagalba“ galite peržiūrėti versiją ir pagalbą, jei reikia.

# wget --version

# wget --help

Šiame straipsnyje aptarėme „Linux wget“ komandą su kasdienės administracinės užduoties parinktimis. Ar žmogus nori, jei nori sužinoti apie tai daugiau. Maloniai pasidalykite per mūsų komentarų laukelį arba, jei ko nepastebėjome, praneškite mums.