10 Wget (Linux File Downloader) Amri Mifano katika Linux
Katika makala haya, tutapitia matumizi ya wget ambayo hurejesha faili kutoka kwa Mtandao Wote wa Ulimwenguni (WWW) kwa kutumia itifaki zinazotumiwa sana kama HTTP, HTTPS, FTP, na FTPS.
Wget ni matumizi ya bure ya mstari wa amri na upakuaji wa faili wa mtandao, ambayo inakuja na huduma nyingi ambazo hurahisisha upakuaji wa faili, pamoja na:
- Pakua faili kubwa au kioo tovuti kamili au tovuti za FTP.
- Pakua faili nyingi kwa wakati mmoja.
- Weka kipimo data na kikomo cha kasi cha upakuaji.
- Pakua faili kupitia seva mbadala.
- Inaweza kuendelea na upakuaji uliokatizwa.
- Onyesha saraka kwa kujirudia.
- Hufanya kazi kwenye mifumo mingi ya uendeshaji inayofanana na UNIX pamoja na Windows.
- Uendeshaji usiosimamiwa/wa usuli.
- Usaidizi wa miunganisho endelevu ya HTTP.
- Usaidizi wa SSL/TLS kwa vipakuliwa vilivyosimbwa kwa kutumia OpenSSL au maktaba ya GnuTLS.
- Usaidizi wa vipakuliwa vya IPv4 na IPv6.
Syntax ya msingi ya Wget ni:
$ wget [option] [URL]
Kwanza, angalia ikiwa matumizi ya wget tayari yamesakinishwa au la kwenye kisanduku chako cha Linux, kwa kutumia amri ifuatayo.
$ rpm -q wget [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ dpkg -l | grep wget [On Debian, Ubuntu and Mint]
Ikiwa Wget haijasakinishwa, unaweza kuisakinisha kwa kutumia kidhibiti chaguo-msingi cha mfumo wako wa Linux kama inavyoonyeshwa.
$ 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]
Chaguo la -y
linalotumika hapa ni kuzuia vidokezo vya uthibitishaji kabla ya kusakinisha kifurushi chochote. Kwa mifano zaidi ya amri za YUM na APT na chaguzi soma nakala zetu kwenye:
- Amri 20 za Linux YUM kwa Usimamizi wa Kifurushi
- Mifano 15 ya Amri za APT katika Ubuntu/Debian na Mint
- Mifano 45 ya Amri ya Zypper ya Kusimamia OpenSUSE Linux
1. Pakua Faili ukitumia Wget
Amri itapakua faili moja na kuihifadhi kwenye saraka ya sasa. Inaonyesha pia maendeleo ya upakuaji, saizi, tarehe na wakati wakati wa kupakua.
# 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 Pakua Faili na Jina Tofauti
Kwa kutumia chaguo la -O
(herufi kubwa), pakua faili zilizo na majina tofauti ya faili. Hapa tumetoa jina la faili ya wget.zip kama inavyoonyeshwa hapa chini.
# 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 Pakua Faili Nyingi na Itifaki ya HTTP na FTP
Hapa tunaona jinsi ya kupakua faili nyingi kwa kutumia itifaki ya HTTP na FTP na amri ya wget mara moja.
$ 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 Pakua Faili Nyingi Kutoka kwa Faili
Ili kupakua faili nyingi kwa wakati mmoja, tumia chaguo la -i
na eneo la faili ambalo lina orodha ya URL za kupakuliwa. Kila URL inahitaji kuongezwa kwenye mstari tofauti kama inavyoonyeshwa.
Kwa mfano, faili ifuatayo ya ‘download-linux.txt’ ina orodha ya URL za kupakuliwa.
# 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 ...
Ikiwa orodha yako ya URL ina muundo fulani wa nambari, unaweza kuongeza viunga vilivyopinda ili kuleta URL zote zinazolingana na mchoro. Kwa mfano, ikiwa unataka kupakua mfululizo wa kernels za Linux kuanzia toleo la 5.1.1 hadi 5.1.15, unaweza kufanya yafuatayo.
$ 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 Upakuaji ambao haujakamilika
Katika kesi ya upakuaji mkubwa wa faili, inaweza kutokea wakati mwingine kusitisha upakuaji katika hali hiyo tunaweza kuendelea kupakua faili ile ile ambapo iliachwa na chaguo la -c
.
Lakini unapoanza kupakua faili bila kubainisha -c
chaguo wget itaongeza .1
kiendelezi mwishoni mwa faili, ikizingatiwa kama upakuaji mpya. Kwa hivyo, ni mazoezi mazuri kuongeza -c kubadili unapopakua faili kubwa.
# 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 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 Tovuti Nzima
Ili kupakua au kuakisi au kunakili tovuti nzima kwa kutazama nje ya mtandao, unaweza kutumia amri ifuatayo ambayo itafanya nakala ya ndani ya tovuti pamoja na mali zote (JavaScript, CSS, Picha).
$ wget --recursive --page-requisites --adjust-extension --span-hosts --convert-links --restrict-file-names=windows --domains yoursite.com --no-parent yoursite.com
Ufafanuzi wa amri hapo juu.
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 Pakua Faili katika Mandharinyuma
Ukiwa na chaguo la -b
unaweza kutuma upakuaji chinichini mara baada ya kuanza upakuaji na kumbukumbu zimeandikwa katika faili ya 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 Weka Vikomo vya Kasi ya Upakuaji wa Faili
Kwa chaguo --limit-rate=100k
, kikomo cha kasi ya upakuaji ni 100k pekee na kumbukumbu zitaundwa chini ya wget.log kama inavyoonyeshwa hapa chini.
$ 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’.
Tazama faili ya wget.log na uangalie kasi ya upakuaji wa wget.
$ 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 Pakua Faili Zilizolindwa Nenosiri kupitia FTP na HTTP
Ili kupakua faili kutoka kwa seva ya FTP iliyolindwa na nenosiri, unaweza kutumia chaguo --ftp-user=username
na --ftp-password=password
kama inavyoonyeshwa.
$ wget --ftp-user=narad --ftp-password=password ftp://ftp.example.com/filename.tar.gz
Ili kupakua faili kutoka kwa seva ya HTTP iliyolindwa kwa nenosiri, unaweza kutumia chaguo --http-user=username
na --http-password=password
kama inavyoonyeshwa.
$ wget --http-user=narad --http-password=password http://http.example.com/filename.tar.gz
10. Wget Puuza Cheti cha Cheti cha SSL
Ili kupuuza ukaguzi wa cheti cha SSL unapopakua faili kupitia HTTPS, unaweza kutumia chaguo la --no-check-cheti
:
$ 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. Toleo la Wget na Msaada
Ukiwa na chaguo --version
na --help
unaweza kuona toleo na usaidizi inavyohitajika.
$ wget --version $ wget --help
Katika nakala hii, tumeshughulikia amri za Linux wget na chaguzi za kazi za kila siku za usimamizi. Fanya man wget ikiwa unataka kujua zaidi juu yake. Tafadhali shiriki kupitia kisanduku chetu cha maoni au ikiwa tumekosa chochote, tujulishe.