10 Shembuj të komandës Wget (Shkarkuesi i skedarëve Linux) në Linux
Në këtë artikull, ne do të shqyrtojmë mjetin wget i cili merr skedarë nga World Wide Web (WWW) duke përdorur protokolle të përdorura gjerësisht si HTTP, HTTPS, FTP dhe FTPS.
Wget është një mjet falas i linjës së komandës dhe shkarkues i skedarëve të rrjetit, i cili vjen me shumë veçori që e bëjnë shkarkimin e skedarëve të lehtë, duke përfshirë:
- Shkarkoni skedarë të mëdhenj ose pasqyroni faqet e plota të uebit ose FTP.
- Shkarko shumë skedarë njëherësh.
- Cakto gjerësinë e brezit dhe kufirin e shpejtësisë për shkarkime.
- Shkarko skedarë përmes proxy.
- Mund të rifillojë shkarkimet e ndërprera.
- Pasqyroni në mënyrë rekursive drejtoritë.
- Vendoset në shumicën e sistemeve operative të ngjashme me UNIX, si dhe në Windows.
- Operacion pa mbikëqyrje/sfond.
- Mbështetje për lidhje të vazhdueshme HTTP.
- Mbështetje për SSL/TLS për shkarkime të koduara duke përdorur bibliotekën OpenSSL ose GnuTLS.
- Mbështetje për shkarkime IPv4 dhe IPv6.
Sintaksa bazë e Wget është:
$ wget [option] [URL]
Së pari, kontrolloni nëse mjeti wget është i instaluar tashmë apo jo në kutinë tuaj Linux, duke përdorur komandën e mëposhtme.
$ rpm -q wget [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ dpkg -l | grep wget [On Debian, Ubuntu and Mint]
Nëse Wget nuk është i instaluar, mund ta instaloni duke përdorur menaxherin e paracaktuar të paketave të sistemit tuaj Linux siç tregohet.
$ 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]
Opsioni -y
i përdorur këtu është për të parandaluar kërkesat e konfirmimit përpara se të instaloni ndonjë paketë. Për më shumë shembuj dhe opsione të komandave YUM dhe APT, lexoni artikujt tanë në:
- 20 komanda Linux YUM për menaxhimin e paketave
- 15 Shembuj të komandave APT në Ubuntu/Debian & Mint
- 45 shembuj të komandës Zypper për të menaxhuar OpenSUSE Linux
1. Shkarkoni një skedar me Wget
Komanda do të shkarkojë një skedar të vetëm dhe do ta ruajë atë në një direktori aktuale. Ai gjithashtu tregon progresin, madhësinë, datën dhe kohën e shkarkimit gjatë shkarkimit.
# 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. Shkarkoni Skedarin Wget me Emra të ndryshëm
Duke përdorur opsionin -O
(shkronja të mëdha), shkarkon skedarë me emra të ndryshëm skedarësh. Këtu kemi dhënë emrin e skedarit wget.zip siç tregohet më poshtë.
# 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 Shkarko shumë skedarë me protokollin HTTP dhe FTP
Këtu shohim se si të shkarkojmë skedarë të shumtë duke përdorur protokollin HTTP dhe FTP me komandën wget menjëherë.
$ 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 Shkarkoni shumë skedarë nga një skedar
Për të shkarkuar shumë skedarë njëherësh, përdorni opsionin -i
me vendndodhjen e skedarit që përmban listën e URL-ve që do të shkarkohen. Çdo URL duhet të shtohet në një rresht të veçantë siç tregohet.
Për shembull, skedari i mëposhtëm 'download-linux.txt' përmban listën e URL-ve që do të shkarkohen.
# 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
...
Nëse lista juaj e URL-ve ka një model të veçantë numërimi, mund të shtoni kllapa kaçurrelë për të marrë të gjitha URL-të që përputhen me modelin. Për shembull, nëse dëshironi të shkarkoni një seri kernelash Linux duke filluar nga versioni 5.1.1 deri në 5.1.15, mund të bëni sa më poshtë.
$ 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 Shkarkim i Paplotësuar
Në rast të shkarkimit të një skedari të madh, ndonjëherë mund të ndodhë që të ndalohet shkarkimi, në atë rast ne mund të rifillojmë shkarkimin e të njëjtit skedar ku ishte ndërprerë me opsionin -c
.
Por kur filloni të shkarkoni skedarë pa specifikuar -c
, një opsion wget do të shtojë shtesën .1
në fund të skedarit, i konsideruar si shkarkim i ri. Pra, është praktikë e mirë të shtoni ndërprerës -c kur shkarkoni skedarë të mëdhenj.
# 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. I gjithë faqja e internetit e Wget Mirror
Për të shkarkuar ose pasqyruar ose kopjuar një faqe interneti të tërë për shikim jashtë linje, mund të përdorni komandën e mëposhtme që do të bëjë një kopje lokale të faqes së internetit së bashku me të gjitha asetet (JavaScript, CSS, Images).
$ wget --recursive --page-requisites --adjust-extension --span-hosts --convert-links --restrict-file-names=windows --domains yoursite.com --no-parent yoursite.com
Shpjegimi i komandës së mësipërme.
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 Shkarko skedarët në sfond
Me opsionin -b
mund ta dërgoni shkarkimin në sfond menjëherë pas fillimit të shkarkimit dhe regjistrat shkruhen në skedarin 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. Kufijtë e shpejtësisë së shkarkimit të skedarëve Wget Set
Me opsionin --limit-rate=100k
, kufiri i shpejtësisë së shkarkimit është i kufizuar në 100k dhe regjistrat do të krijohen nën wget.log siç tregohet më poshtë.
$ 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’.
Shikoni skedarin wget.log dhe kontrolloni shpejtësinë e shkarkimit të 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 Shkarko skedarët e mbrojtur me fjalëkalim nëpërmjet FTP dhe HTTP
Për të shkarkuar një skedar nga një server FTP i mbrojtur me fjalëkalim, mund të përdorni opsionet --ftp-user=username
dhe --ftp-password=password
siç tregohet.
$ wget --ftp-user=narad --ftp-password=password ftp://ftp.example.com/filename.tar.gz
Për të shkarkuar një skedar nga një server HTTP i mbrojtur me fjalëkalim, mund të përdorni opsionet --http-user=username
dhe --http-password=password
siç tregohet.
$ wget --http-user=narad --http-password=password http://http.example.com/filename.tar.gz
10. Kontrolli i certifikatës Wget Injoro SSL
Për të shpërfillur kontrollin e certifikatës SSL gjatë shkarkimit të skedarëve përmes HTTPS, mund të përdorni opsionin --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. Versioni Wget dhe Ndihma
Me opsionet --version
dhe --help
mund të shikoni versionin dhe ndihmën sipas nevojës.
$ wget --version
$ wget --help
Në këtë artikull, ne kemi mbuluar komandat Linux wget me opsione për detyrat e përditshme administrative. Bëni njeriun wget nëse doni të dini më shumë për të. Ju lutemi shpërndajeni përmes kutisë sonë të komenteve ose nëse kemi humbur ndonjë gjë, na njoftoni.