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.