10 primerov ukazov Wget (Linux File Downloader) v Linuxu


V tej objavi bomo pregledali pripomoček wget, ki pridobi datoteke iz svetovnega spleta (WWW) z uporabo široko uporabljenih protokolov, kot so HTTP, HTTPS in FTP. Pripomoček Wget je prosto dostopen paket, licenca pa je pod licenco GNU GPL. Ta pripomoček lahko namesti kateri koli operacijski sistem, podoben Unixu, vključno z operacijskim sistemom Windows in MAC. To je neinteraktivno orodje ukazne vrstice. Glavna značilnost Wgeta je njegova robustnost. Zasnovan je tako, da deluje v počasnih ali nestabilnih omrežnih povezavah. Wget samodejno zažene prenos, kjer je bil prekinjen v primeru težave z omrežjem. Datoteke tudi prenaša rekurzivno. Poskusil bo še naprej, dokler datoteke ne bomo popolnoma naložili.

Najprej z naslednjim ukazom preverite, ali je pripomoček wget že nameščen v vašem Linuxu.

# rpm -qa wget

wget-1.12-1.4.el6.i686

Prosimo, namestite ga z ukazom YUM, če wget še ni nameščen ali pa lahko prenesete tudi binarni paket na http://ftp.gnu.org/gnu/wget/.

# yum -y install wget

Tu uporabljena možnost -y je preprečiti poziv za potrditev pred namestitvijo katerega koli paketa. Za več primerov in možnosti ukazov YUM preberite članek o 20 primerih ukazov YUM za upravljanje paketov Linux.

1. Prenos ene datoteke

Ukaz bo prenesel eno datoteko in jo shranil v trenutni imenik. Prikazuje tudi potek prenosa, velikost, datum in čas med prenosom.

# 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. Prenesite datoteko z drugim imenom

Z možnostjo -O (velika črka) prenese datoteko z drugačnim imenom. Tu smo podali ime datoteke wget.zip, kot je prikazano spodaj.

# 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. Prenesite več datotek s protokolom http in ftp

Tukaj vidimo, kako prenesti več datotek s protokolom HTTP in FTP z ukazom wget na one.

# 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. Preberite URL-je iz datoteke

Število URL-jev lahko shranite v besedilno datoteko in jih prenesete z možnostjo -i. Spodaj smo v imeniku wget ustvarili tmp.txt, kamor smo prenesli vrsto URL-jev.

# 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. Nadaljujte z nedokončanim prenosom

V primeru prenosa velike datoteke se lahko kdaj zgodi, da prenehamo s prenosom, v tem primeru lahko nadaljujemo s prenosom iste datoteke, kjer je bila prekinjena z možnostjo -c. Ko pa začnete s prenosom datoteke, ne da bi navedli možnost -c, bo wget na koncu datoteke dodal končnico .1, ki se šteje za nov prenos. Zato je dobra praksa, da pri prenosu velikih datotek dodate stikalo -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. Prenesite datoteko s priloženim .1 v imenu datoteke

Ko začnete prenos brez možnosti -c wget, na koncu datoteke dodajte .1 in začnite s ponovnim prenosom. Če .1 že obstaja .2 se doda na koncu datoteke.

# 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   

Oglejte si primere datotek s pripono .1, ki je dodana na koncu datoteke.

# 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. Prenesite datoteke v ozadju

Z možnostjo -b lahko pošljete prenos v ozadje takoj po začetku prenosa, dnevniki pa so zapisani v datoteko /wget/log.txt.

# 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. Omejite omejitve hitrosti prenosa

Z možnostjo –limit-rate = 100k je omejitev hitrosti prenosa omejena na 100k in dnevniki bodo ustvarjeni v /wget/log.txt, kot je prikazano spodaj.

# 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. Omejeni prenosi FTP in HTTP z uporabniškim imenom in geslom

Z možnostmi –http-user = uporabniško ime, –http-geslo = geslo & –ftp-uporabnik = uporabniško ime, –ftp-geslo = geslo lahko prenesete HTTP ali FTP strani z omejitvami, kot je prikazano spodaj.

# 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. Poiščite različico wgeta in pomoč

Z možnostmi –verzija in –pomoč si lahko ogledate različico in pomoč po potrebi.

# wget --version

# wget --help

V tem članku smo zajeli ukaz Linux wget z možnostmi za vsakodnevno skrbniško opravilo. Če človek želi vedeti več o tem. Prosimo, sporočite nam v polje za komentar ali če smo kaj zamudili, nam to sporočite