10 Wget (Linux File Downloader) Kommandoeksempler i Linux
I dette indlæg skal vi gennemgå wget-værktøjet, der henter filer fra World Wide Web (WWW) ved hjælp af meget anvendte protokoller som HTTP, HTTPS og FTP. Wget-værktøjet er gratis tilgængelig pakke, og licensen er under GNU GPL-licens. Dette værktøj kan installeres ethvert Unix-lignende operativsystem inklusive Windows og MAC OS. Det er et ikke-interaktivt kommandolinjeværktøj. Vigtigste træk ved Wget's robusthed. Det er designet på en sådan måde, at det fungerer i langsomme eller ustabile netværksforbindelser. Wget starter automatisk download, hvor det blev afbrudt i tilfælde af netværksproblem. Downloader også filen rekursivt. Det fortsætter med at prøve, indtil filen er hentet helt.
Kontroller først, om wget-værktøjet allerede er installeret eller ikke i din Linux-boks ved hjælp af følgende kommando.
# rpm -qa wget wget-1.12-1.4.el6.i686
Installer det ved hjælp af YUM-kommandoen, hvis wget ikke allerede er installeret, eller du også kan downloade binær pakke på http://ftp.gnu.org/gnu/wget/.
# yum -y install wget
Indstillingen -y, der anvendes her, er at forhindre bekræftelsesprompt, inden du installerer en pakke. For flere YUM-kommandoeksempler og -indstillinger, læs artiklen om 20 YUM Command-eksempler til Linux-pakkehåndtering.
1. Download af enkelt fil
Kommandoen downloader en enkelt fil og gemmes i en aktuel mappe. Det viser også downloadforløb, størrelse, dato og klokkeslæt under download.
# 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. Download fil med andet navn
Brug -O (store bogstaver), downloader fil med andet filnavn. Her har vi givet wget.zip filnavnet som vist nedenfor.
# 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. Download flere filer med http og ftp-protokol
Her ser vi, hvordan man downloader flere filer ved hjælp af HTTP og FTP-protokol med wget-kommandoen som en.
# 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. Læs URL'er fra en fil
Du kan gemme antallet af webadresser i tekstfilen og downloade dem med -i-indstillingen. Nedenfor har vi oprettet tmp.txt under wget-biblioteket, hvor vi lægger serier af URL'er til download.
# 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. Genoptag ufuldstændig download
I tilfælde af download af store filer kan det ske en gang at stoppe download, i så fald kan vi genoptage download af den samme fil, hvor den blev afbrudt med -c mulighed. Men når du begynder at downloade fil uden at angive -c option vil wget tilføje .1 udvidelse i slutningen af filen, betragtes som en ny download. Så det er god praksis at tilføje -c switch, når du downloader store filer.
# 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. Download fil med tilføjet .1 i filnavn
Når du starter download uden -c-indstilling, tilføj wget .1 i slutningen af filen og start med ny download. Hvis .1 allerede findes .2 tilføj i slutningen af filen.
# 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
Se eksempler på filer med .1 udvidelse tilføjet i slutningen af filen.
# 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. Download filer i baggrunden
Med -b-indstillingen kan du sende download i baggrunden umiddelbart efter downloadstart og logfiler er skrevet i /wget/log.txt-filen.
# 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. Begræns downloadhastighedsbegrænsninger
Med Option –limit-rate = 100k er downloadhastighedsgrænsen begrænset til 100k, og loggene oprettes under /wget/log.txt som vist nedenfor.
# 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. Begrænset FTP- og HTTP-download med brugernavn og adgangskode
Med indstillinger –http-bruger = brugernavn, –http-adgangskode = adgangskode & –ftp-bruger = brugernavn, –ftp-adgangskode = adgangskode, kan du downloade adgangskodebegrænsede HTTP- eller FTP-websteder som vist nedenfor.
# 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. Find wget-version og hjælp
Med Options –version og –help kan du se version og hjælp efter behov.
# wget --version # wget --help
I denne artikel har vi dækket Linux wget-kommando med muligheder for daglig administrativ opgave. Gør mand wget, hvis du vil vide mere om det. Del venligst gennem vores kommentarfelt, eller hvis vi har gået glip af noget, så lad os det vide.