Linux-da 10 Wget (Linux File Downloader) buýruk mysallary


Bu makalada, HTTP, HTTPS, FTP we FTPS ýaly giňden ulanylýan protokollary ulanyp, Bütindünýä Kerebinden (WWW) faýllary alýan wget peýdasyna göz aýlamakçy.

Wget, mugt buýruk setiri peýdaly we tor faýl göçürip alyjy bolup, faýl göçürip almagy aňsatlaşdyrýan köp sanly aýratynlyk bilen üpjün edilýär:

  • Uly faýllary ýa-da aýna doly web ýa-da FTP sahypalaryny göçürip alyň.
  • Birbada birnäçe faýly göçürip alyň.
  • süklemeler üçin geçirijilik giňligini we tizlik çägini belläň.
  • Faýllary proksi arkaly göçürip alyň.
  • abatyrylan ýüklemeleri dowam etdirip biler.
  • Gaýtalanýan aýna kataloglary.
  • Windows ýaly UNIX ýaly operasiýa ulgamlarynyň köpüsinde işleýär.
  • Gözegçilik edilmedik/fon amaly.
  • Dowamly HTTP birikmelerine goldaw.
  • OpenSSL ýa-da GnuTLS kitaphanasyny ulanyp kodlanan göçürip almak üçin SSL/TLS goldawy.
  • IPv4 we IPv6 göçürip almak üçin goldaw.

Wget-iň esasy sintaksisi:

$ wget [option] [URL]

Ilki bilen, aşakdaky buýrugy ulanyp, wget kömekçisiniň Linux gutusynda eýýäm gurlandygyny ýa-da ýokdugyny barlaň.

$ rpm -q wget         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ dpkg -l | grep wget [On Debian, Ubuntu and Mint]

Wget gurulmadyk bolsa, görkezilişi ýaly Linux ulgamyňyzyň deslapky paket dolandyryjysyny ulanyp gurup bilersiňiz.

$ 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]    

Bu ýerde ulanylýan -y opsiýasy, islendik paket gurmazdan ozal tassyklama görkezmeleriniň öňüni almakdyr. Has köp YUM we APT buýruk mysallary we opsiýalary üçin makalalarymyzy okaň:

  • Paket dolandyryşy üçin 20 Linux YUM buýrugy
  • Ubuntu/Debian & Mint
  • 15 APT buýruk mysallary
  • OpenSUSE Linux-y dolandyrmak üçin 45 Zypper buýruk mysallary

1. Wget bilen bir faýly göçürip alyň

Buýruk bir faýly göçürip alyp, häzirki katalogda saklar. Şeýle hem, göçürip almagyň gidişini, ululygyny, senesini we wagtyny görkezýär.

# 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. Dürli at bilen Wget göçürip almak faýly

-O (baş harp) opsiýasyny ulanyp, dürli faýl atlary bolan faýllary göçürip alýar. Bu ýerde aşakda görkezilişi ýaly wget.zip faýlyň adyny berdik.

# 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. HTP we FTP protokoly bilen birnäçe faýly göçürip alyň

Bu ýerde wget buýrugy bilen HTTP we FTP protokolyny ulanyp, birnäçe faýly nädip göçürip almalydygyny görýäris.

$ 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. Faýldan birnäçe faýly göçürip alyň

Birbada birnäçe faýly göçürip almak üçin, göçürilmeli URL-leriň sanawyny öz içine alýan faýlyň ýerleşýän ýeri bilen -i opsiýasyny ulanyň. Her URL görkezilişi ýaly aýratyn setirde goşulmaly.

Mysal üçin, aşakdaky “download-linux.txt” faýly göçürilmeli URL-leriň sanawyny öz içine alýar.

# 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
...

URL sanawyňyzda belli bir san belgisi bar bolsa, nagşa gabat gelýän ähli URL-leri almak üçin egri ýaýlar goşup bilersiňiz. Mysal üçin, 5.1.1 wersiýasyndan 5.1.15 wersiýasyna çenli Linux ýadrosynyň bir toparyny göçürip almak isleseňiz, aşakdakylary edip bilersiňiz.

$ 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” gutarylmadyk göçürip almak

Uly faýl göçürilen ýagdaýynda, göçürip almagy bes etmek käwagt bolup biler, bu ýagdaýda -c opsiýasy bilen galan şol bir faýly göçürip alyp bileris.

Fileöne faýllary göçürip alyp başlanyňyzda, -c kesgitlemezden, täze ýükleme hasaplanýan faýlyň soňuna wget .1 giňeltmesini goşar. Şeýlelik bilen, uly faýllary göçürip alanyňyzda -c wyklýuçatelini goşmak gowy tejribe.

# 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 Aýna tutuş web sahypasy

Awtonom görnüşde görmek üçin tutuş web sahypasyny göçürip almak ýa-da aýna etmek ýa-da göçürmek üçin web sahypasynyň ähli emläkleri (JavaScript, CSS, Suratlar) bilen bilelikde ýerli göçürmesini döredýän aşakdaky buýrugy ulanyp bilersiňiz.

$ wget --recursive --page-requisites --adjust-extension --span-hosts --convert-links --restrict-file-names=windows --domains yoursite.com --no-parent yoursite.com

Aboveokardaky buýrugyň düşündirişi.

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. Fonda faýllary göçürip alyň

-b opsiýasy bilen göçürip alanyňyzdan soň fonda göçürip alyp bilersiňiz we ýazgylar wget.log faýlynda ýazylýar.

$ 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 Set faýly göçürip almagyň tizligi çäkleri

--limit-rate=100k opsiýasy bilen göçürip almagyň tizligi 100k bilen çäklendirilýär we ýazgylar aşakda görkezilişi ýaly wget.log astynda dörediler.

$ 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’.

Wget.log faýlyny görüň we wget-iň göçürip almak tizligini barlaň.

$ 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. FTP we HTTP arkaly parol bilen goralýan faýllary göçürip alyň

Parol bilen goralýan FTP serwerinden bir faýl göçürip almak üçin, görkezilişi ýaly --ftp-user=ulanyjy ady we --ftp-password=password opsiýalaryny ulanyp bilersiňiz.

$ wget --ftp-user=narad --ftp-password=password ftp://ftp.example.com/filename.tar.gz

Parol bilen goralýan HTTP serwerinden bir faýl göçürip almak üçin, görkezilişi ýaly --http-user=ulanyjy ady we --http-password=password opsiýalaryny ulanyp bilersiňiz.

$ wget --http-user=narad --http-password=password http://http.example.com/filename.tar.gz

10. SSL şahadatnamasyny barlamagy ýatdan çykaryň

HTTPS-den faýl göçürip alanyňyzda SSL şahadatnamasyny barlamazlyk üçin, --no-check-cert opsiýasyny ulanyp bilersiňiz:

$ 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 wersiýasy we kömek

--version we --help opsiýalary bilen wersiýany görüp we zerur bolanda kömek edip bilersiňiz.

$ wget --version
$ wget --help

Bu makalada gündelik administratiw meseleler üçin opsiýalar bilen Linux wget buýruklaryny açdyk. Adam bu hakda has giňişleýin bilmek isleseňiz wget ediň. Teswirler gutusy arkaly hoşniýetlilik bilen paýlaşyň ýa-da haýsydyr bir zady ýitiren bolsak, bize habar beriň.