Linux'ta 10 Wget (Linux Dosya İndiricisi) Komut Örnekleri


Bu makalede, HTTP gibi yaygın olarak kullanılan protokolleri kullanarak World Wide Web'den (WWW) dosya alan wget yardımcı programını inceleyeceğiz. , HTTPS, FTP ve FTPS.

Wget ücretsiz bir komut satırı yardımcı programı ve ağ dosyası indiricisidir ve aşağıdakiler de dahil olmak üzere dosya indirmeyi kolaylaştıran birçok özellikle birlikte gelir:

  • Büyük dosyaları indirin veya web veya FTP sitelerinin tamamını yansıtın.
  • Aynı anda birden fazla dosya indirin.
  • İndirmeler için bant genişliğini ve hız sınırını ayarlayın.
  • Dosyaları proxy'ler aracılığıyla indirin.
  • Durdurulan indirme işlemlerine devam edilebilir.
  • Dizinleri yinelemeli olarak yansıtın.
  • Windows'un yanı sıra çoğu UNIX benzeri işletim sisteminde çalışır.
  • Gözetimsiz/arka planda çalışma.
  • Kalıcı HTTP bağlantıları için destek.
  • OpenSSL veya GnuTLS kitaplığını kullanarak şifrelenmiş indirmeler için SSL/TLS desteği.
  • IPv4 ve IPv6 indirmeleri için destek.

Wget Komut Söz Dizimi

Wget'in temel sözdizimi şöyledir:

wget [option] [URL]

Öncelikle aşağıdaki komutu kullanarak wget yardımcı programının Linux kutunuza önceden kurulu olup olmadığını kontrol edin.

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

Wget'i Linux'a yükleyin

Wget yüklü değilse, gösterildiği gibi Linux sisteminizin varsayılan paket yöneticisini kullanarak yükleyebilirsiniz.

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]    

Burada kullanılan -y seçeneği herhangi bir paketi kurmadan önce onay istemlerini engellemek içindir. Daha fazla YUM ve APT komut örnekleri ve seçenekleri için aşağıdaki makalelerimizi okuyun:

  • Paket Yönetimi için 20 Linux YUM Komutu
  • Ubuntu/Debian ve Mint'te 15 APT Komut Örneği
  • OpenSUSE Linux'u Yönetmek için 45 Zypper Komut Örneği

1. Wget ile Dosya İndirin

Komut tek bir dosyayı indirecek ve onu geçerli bir dizine kaydedecektir. Ayrıca indirme sırasında indirme ilerleme durumunu, boyutunu, tarihi ve saati gösterir.

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. Farklı Bir Adla Wget Dosya İndirin

-O (büyük harf) seçeneğini kullanarak farklı dosya adlarına sahip dosyaları indirir. Burada aşağıda gösterildiği gibi wget.zip dosya adını verdik.

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 HTTP ve FTP Protokolüyle Birden Fazla Dosya İndirin

Burada, wget komutuyla HTTP ve FTP protokolünü kullanarak aynı anda birden fazla dosyanın nasıl indirileceğini görüyoruz.

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. Bir Dosyadan Birden Fazla Dosya İndirin

Aynı anda birden fazla dosya indirmek için, indirilecek URL'lerin listesini içeren dosyanın konumuyla birlikte -i seçeneğini kullanın. Her URL'nin gösterildiği gibi ayrı bir satıra eklenmesi gerekir.

Örneğin aşağıdaki 'download-linux.txt' dosyası indirilecek URL'lerin listesini içerir.

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 listenizin belirli bir numaralandırma düzeni varsa, bu kalıpla eşleşen tüm URL'leri getirmek için küme parantezleri ekleyebilirsiniz. Örneğin 5.1.1 sürümünden 5.1.15 sürümüne kadar bir dizi Linux çekirdeği indirmek istiyorsanız aşağıdakileri yapabilirsiniz.

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 Tamamlanmamış İndirmeyi Devam Ettir

Büyük dosya indirme durumunda bazen indirme işlemi durdurulabilir, bu durumda -c seçeneğiyle aynı dosyayı indirmeye kaldığı yerden devam edebiliriz.

Ancak -c belirtmeden dosyaları indirmeye başladığınızda, wget seçeneği dosyanın sonuna yeni bir eklenti olarak kabul edilen .1 uzantısını ekleyecektir. indirmek. Bu nedenle, büyük dosyaları indirirken -c anahtarını eklemek iyi bir uygulamadır.

# 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. Tüm Web Sitesini Aynalayın

Çevrimdışı görüntüleme amacıyla bir web sitesinin tamamını indirmek, yansıtmak veya kopyalamak için, tüm varlıklarla (JavaScript, CSS, Görseller) birlikte web sitesinin yerel bir kopyasını oluşturacak aşağıdaki komutu kullanabilirsiniz.

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

Yukarıdaki komutun açıklaması.

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. Dosyaları Arka Planda Wget İndirin

-b seçeneğiyle, indirme başladıktan ve günlükler wget.log dosyasına yazıldıktan hemen sonra arka planda bir indirme gönderebilirsiniz.

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 Dosya İndirme Hız Sınırlarını Ayarlayın

--limit-rate=100k seçeneğiyle indirme hızı sınırı 100k ile sınırlandırılır ve günlükler aşağıda gösterildiği gibi wget.log altında oluşturulur.

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 dosyasını görüntüleyin ve wget'in indirme hızını kontrol edin.

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 Şifre Korumalı Dosyaları FTP ve HTTP Yoluyla İndirin

Parola korumalı bir FTP sunucusundan dosya indirmek için, gösterildiği gibi --ftp-user=kullanıcı adı ve --ftp-password=password seçeneklerini kullanabilirsiniz.

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

Parola korumalı bir HTTP sunucusundan dosya indirmek için gösterildiği gibi --http-user=username ve --http-password=password seçeneklerini kullanabilirsiniz.

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

10. Wget SSL Sertifika Kontrolünü Yoksay

Dosyaları HTTPS üzerinden indirirken SSL sertifika kontrolünü göz ardı etmek için --no-check-certificate seçeneğini kullanabilirsiniz:

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 Sürümü ve Yardım

--version ve --help seçenekleriyle, gerektiği gibi sürüm ve yardım'ı görüntüleyebilirsiniz.

wget --version
wget --help

Bu makalede, günlük yönetim görevlerine yönelik seçeneklerle birlikte Linux wget komutlarını ele aldık. Bu konuda daha fazla bilgi edinmek istiyorsanız alabilir misiniz? Lütfen yorum kutumuz aracılığıyla paylaşın veya herhangi bir şeyi kaçırmışsak bize bildirin.