10 Wget (Linux File Downloader) primjera naredbi u Linuxu
U ovom članku ćemo pregledati wget uslužni program koji preuzima datoteke sa World Wide Weba (WWW) koristeći široko korištene protokole kao što je HTTP , HTTPS, FTP, i FTPS.
Wget je besplatni uslužni program naredbenog retka i program za preuzimanje mrežnih datoteka, koji dolazi s mnogim funkcijama koje olakšavaju preuzimanje datoteka, uključujući:
- Preuzmite velike datoteke ili preslikajte kompletne web ili FTP stranice.
- Preuzmite više datoteka odjednom.
- Postavite propusni opseg i ograničenje brzine za preuzimanja.
- Preuzmite fajlove preko proksija.
- Može nastaviti prekinuta preuzimanja.
- Rekurzivno ogledalo direktorije.
- Radi na većini operativnih sistema sličnih UNIX-u, kao i na Windows-u.
- Rad bez nadzora/u pozadini.
- Podrška za trajne HTTP veze.
- Podrška za SSL/TLS za šifrovana preuzimanja koristeći OpenSSL ili GnuTLS biblioteku.
- Podrška za IPv4 i IPv6 preuzimanja.
Sintaksa naredbe Wget
Osnovna sintaksa Wget-a je:
wget [option] [URL]
Prvo provjerite da li je uslužni program wget već instaliran ili ne u vašem Linux kutiju, koristeći sljedeću naredbu.
rpm -q wget [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
dpkg -l | grep wget [On Debian, Ubuntu and Mint]
Instalirajte Wget na Linux
Ako Wget nije instaliran, možete ga instalirati koristeći zadani upravitelj paketa vašeg Linux sistema kao što je prikazano.
sudo apt install wget -y [On Debian, Ubuntu and Mint]
sudo yum install wget -y [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a net-misc/wget [On Gentoo Linux]
sudo pacman -Sy wget [On Arch Linux]
sudo zypper install wget [On OpenSUSE]
Opcija -y
koja se ovdje koristi je da spriječi upite za potvrdu prije instaliranja bilo kojeg paketa. Za više primjera i opcija YUM i APT naredbi pročitajte naše članke na:
- 20 Linux YUM komande za upravljanje paketima
- 15 primjera APT naredbi u Ubuntu/Debian i Mint
- 45 Zypper primjera naredbi za upravljanje OpenSUSE Linuxom
1. Preuzmite datoteku sa Wget-om
Naredba će preuzeti jednu datoteku i pohraniti je u trenutni direktorij. Također prikazuje napredak preuzimanja, veličinu, datum i vrijeme tokom preuzimanja.
wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz
--2021-12-10 04:15:16-- http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3565643 (3.4M) [application/x-gzip]
Saving to: ‘wget2-2.0.0.tar.gz’
wget2-2.0.0.tar.gz 100%[==========>] 3.40M 2.31MB/s in 1.5s
2021-12-10 04:15:18 (2.31 MB/s) - ‘wget2-2.0.0.tar.gz’ saved [3565643/3565643]
2. Wget Download File sa drugim imenom
Koristeći opciju -O
(velika slova), preuzima datoteke s različitim nazivima datoteka. Ovdje smo dali naziv datoteke wget.zip kao što je prikazano ispod.
wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz
--2021-12-10 04:20:19-- http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 446966 (436K) [application/x-gzip]
Saving to: ‘wget.zip’
wget.zip 100%[===================>] 436.49K 510KB/s in 0.9s
2021-12-10 04:20:21 (510 KB/s) - ‘wget.zip’ saved [446966/446966]
3. Wget preuzimanje više datoteka sa HTTP i FTP protokolom
Ovdje vidimo kako istovremeno preuzeti više datoteka koristeći HTTP i FTP protokol sa naredbom wget.
wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz ftp://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz.sig
--2021-12-10 06:45:17-- http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3565643 (3.4M) [application/x-gzip]
Saving to: ‘wget2-2.0.0.tar.gz’
wget2-2.0.0.tar.gz 100%[==========>] 4.40M 4.31MB/s in 1.1s
2021-12-10 06:46:10 (2.31 MB/s) - ‘wget2-2.0.0.tar.gz’ saved [3565643/3565643]
4. Wget preuzimanje više datoteka iz datoteke
Za preuzimanje više datoteka odjednom, koristite opciju -i
sa lokacijom datoteke koja sadrži listu URL-ova za preuzimanje. Svaki URL treba dodati u poseban red kao što je prikazano.
Na primjer, sljedeća datoteka „download-linux.txt“ sadrži listu URL-ova za preuzimanje.
cat download-linux.txt
https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.5-x86_64-dvd1.iso
https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-11.2.0-amd64-DVD-1.iso
wget -i download-linux.txt
--2021-12-10 04:52:40-- https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.248, 91.189.88.247, 91.189.91.124, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.248|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3071934464 (2.9G) [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’
ubuntu-20.04.3-desktop-amd64 4%[=> ] 137.71M 11.2MB/s eta 3m 30s
...
Ako vaša lista URL-ova ima određeni obrazac numeriranja, možete dodati vitičaste zagrade da dohvatite sve URL-ove koji odgovaraju uzorku. Na primjer, ako želite da preuzmete niz Linux kernela počevši od verzije 5.1.1 do 5.1.15, možete učiniti sljedeće.
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.{1..15}.tar.gz
--2021-12-10 05:46:59-- https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz
Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 147.75.95.133, 2604:1380:3000:1500::1
Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.95.133|:443... connected.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not trusted.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not yet activated.
The certificate has not yet been activated
HTTP request sent, awaiting response... 200 OK
Length: 164113671 (157M) [application/x-gzip]
Saving to: ‘linux-5.1.1.tar.gz’
linux-5.1.1.tar.gz 100%[===========>] 156.51M 2.59MB/s in 61s
2021-12-10 05:48:01 (2.57 MB/s) - ‘linux-5.1.1.tar.gz’ saved [164113671/164113671]
--2021-12-10 05:48:01-- https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.2.tar.gz
Reusing existing connection to mirrors.edge.kernel.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 164110470 (157M) [application/x-gzip]
Saving to: ‘linux-5.1.2.tar.gz’
linux-5.1.2.tar.gz 19%[===========] 30.57M 2.58MB/s eta 50s
5. Wget Resume Nedovršeno preuzimanje
U slučaju velikog preuzimanja fajla, ponekad se može desiti da prestanemo sa preuzimanjem, u tom slučaju možemo da nastavimo sa preuzimanjem istog fajla gde je prekinuto sa -c
opcijom.
Ali kada počnete preuzimati fajlove bez navođenja -c
, opcija wget će dodati ekstenziju .1
na kraju datoteke, koja se smatra svježom skinuti. Dakle, dobra je praksa dodati prekidač -c kada preuzimate velike fajlove.
# wget -c https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
--2021-12-10 05:27:59-- https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.247, 91.189.91.123, 91.189.91.124, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.247|:443... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 3071934464 (2.9G), 2922987520 (2.7G) remaining [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’
ubuntu-20.04.3-desktop-amd64.iso 5%[++++++> ] 167.93M 11.1MB/s
^C
[root@tecmint ~]# wget -c https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
--2021-12-10 05:28:03-- https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.248, 91.189.91.124, 91.189.91.123, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.248|:443... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 3071934464 (2.9G), 2894266368 (2.7G) remaining [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’
ubuntu-20.04.3-desktop-amd64.iso 10%[+++++++=====> ] 296.32M 17.2MB/s eta 2m 49s ^
6. Wget Mirror Cijela web stranica
Za preuzimanje ili preslikavanje ili kopiranje cijele web stranice za gledanje van mreže, možete koristiti sljedeću naredbu koja će napraviti lokalnu kopiju web stranice zajedno sa svim sredstvima (JavaScript, CSS, slike).
wget --recursive --page-requisites --adjust-extension --span-hosts --convert-links --restrict-file-names=windows --domains yoursite.com --no-parent yoursite.com
Objašnjenje gornje naredbe.
wget \
--recursive \ # Download the whole site.
--page-requisites \ # Get all assets/elements (CSS/JS/images).
--adjust-extension \ # Save files with .html on the end.
--span-hosts \ # Include necessary assets from offsite as well.
--convert-links \ # Update links to still work in the static version.
--restrict-file-names=windows \ # Modify filenames to work in Windows as well.
--domains yoursite.com \ # Do not follow links outside this domain.
--no-parent \ # Don't follow links outside the directory you pass in.
yoursite.com/whatever/path # The URL to download
7. Wget preuzimanje datoteka u pozadini
Sa -b
opcijom možete poslati preuzimanje u pozadini odmah nakon što preuzimanje započne i zapisnici se zapisuju u datoteku wget.log.
wget -b wget.log https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Continuing in background, pid 8999.
Output will be written to ‘wget.log’.
8. Wget Postavite ograničenja brzine preuzimanja datoteke
Sa opcijom --limit-rate=100k
, ograničenje brzine preuzimanja je ograničeno na 100k i dnevnici će se kreirati pod wget.log kao što je prikazano ispod.
wget -c --limit-rate=100k -b wget.log https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Continuing in background, pid 9108.
Output will be written to ‘wget-log’.
Pogledajte datoteku wget.log i provjerite brzinu preuzimanja wget-a.
tail -f wget-log
5600K .......... .......... .......... .......... .......... 0% 104K 8h19m
5650K .......... .......... .......... .......... .......... 0% 103K 8h19m
5700K .......... .......... .......... .......... .......... 0% 105K 8h19m
5750K .......... .......... .......... .......... .......... 0% 104K 8h18m
5800K .......... .......... .......... .......... .......... 0% 104K 8h18m
5850K .......... .......... .......... .......... .......... 0% 105K 8h18m
5900K .......... .......... .......... .......... .......... 0% 103K 8h18m
5950K .......... .......... .......... .......... .......... 0% 105K 8h18m
6000K .......... .......... .......... .......... .......... 0% 69.0K 8h20m
6050K .......... .......... .......... .......... .......... 0% 106K 8h19m
6100K .......... .......... .......... .......... .......... 0% 98.5K 8h20m
6150K .......... .......... .......... .......... .......... 0% 110K 8h19m
6200K .......... .......... .......... .......... .......... 0% 104K 8h19m
6250K .......... .......... .......... .......... .......... 0% 104K 8h19m
...
9. Wget preuzimanje datoteka zaštićenih lozinkom putem FTP-a i HTTP-a
Za preuzimanje datoteke sa FTP servera zaštićenog lozinkom, možete koristiti opcije --ftp-user=username
i --ftp-password=password
kao što je prikazano.
wget --ftp-user=narad --ftp-password=password ftp://ftp.example.com/filename.tar.gz
Za preuzimanje datoteke sa HTTP servera zaštićenog lozinkom, možete koristiti opcije --http-user=username
i --http-password=password
kao što je prikazano.
wget --http-user=narad --http-password=password http://http.example.com/filename.tar.gz
10. Wget Ignore SSL Certificate Check
Da zanemarite provjeru SSL certifikata prilikom preuzimanja datoteka preko HTTPS, možete koristiti opciju --no-check-certificate
:
wget --no-check-certificate https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz
--2021-12-10 06:21:21-- https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz
Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 147.75.95.133, 2604:1380:3000:1500::1
Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.95.133|:443... connected.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not trusted.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not yet activated.
The certificate has not yet been activated
HTTP request sent, awaiting response... 200 OK
Length: 164113671 (157M) [application/x-gzip]
Saving to: ‘linux-5.1.1.tar.gz’
...
11. Wget verzija i pomoć
Sa opcijama --version
i --help
možete pogledati verziju i pomoć po potrebi.
wget --version
wget --help
U ovom članku smo pokrili Linux wget komande sa opcijama za dnevne administrativne zadatke. Da li man wget ako želite saznati više o tome? Molimo vas da podijelite kroz naš okvir za komentare ili ako smo nešto propustili, obavijestite nas.