10 Contoh Perintah Wget (Linux File Downloader) di Linux


Pada artikel ini, kita akan meninjau utilitas wget yang mengambil file dari World Wide Web (WWW) menggunakan protokol yang banyak digunakan seperti HTTP , HTTPS, FTP, dan FTPS.

Wget adalah utilitas baris perintah dan pengunduh file jaringan gratis, yang hadir dengan banyak fitur yang memudahkan pengunduhan file, termasuk:

  • Unduh file besar atau mirror situs web atau FTP lengkap.
  • Unduh banyak file sekaligus.
  • Tetapkan bandwidth dan batas kecepatan untuk mengunduh.
  • Unduh file melalui proxy.
  • Dapat melanjutkan unduhan yang dibatalkan.
  • Mencerminkan direktori secara rekursif.
  • Berjalan di sebagian besar sistem operasi mirip UNIX dan juga Windows.
  • Operasi tanpa pengawasan/latar belakang.
  • Dukungan untuk koneksi HTTP persisten.
  • Dukungan untuk SSL/TLS untuk unduhan terenkripsi menggunakan pustaka OpenSSL atau GnuTLS.
  • Dukungan untuk unduhan IPv4 dan IPv6.

Sintaks Perintah Wget

Sintaks dasar Wget adalah:

wget [option] [URL]

Pertama, periksa apakah utilitas wget sudah terinstal atau belum di kotak Linux Anda, menggunakan perintah berikut.

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

Instal Wget di Linux

Jika Wget belum diinstal, Anda dapat menginstalnya menggunakan manajer paket default sistem Linux Anda seperti yang ditunjukkan.

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]    

Opsi -y yang digunakan di sini adalah untuk mencegah konfirmasi konfirmasi sebelum menginstal paket apa pun. Untuk contoh dan opsi perintah YUM dan APT lainnya, baca artikel kami tentang:

  • 20 Perintah YUM Linux untuk Manajemen Paket
  • 15 Contoh Perintah APT di Ubuntu/Debian & Mint
  • 45 Contoh Perintah Zypper untuk Mengelola OpenSUSE Linux

1. Unduh File dengan Wget

Perintah ini akan mengunduh satu file dan menyimpannya di direktori saat ini. Ini juga menunjukkan kemajuan pengunduhan, ukuran, tanggal, dan waktu saat mengunduh.

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 Download File dengan Nama Berbeda

Menggunakan opsi -O (huruf besar), unduh file dengan nama file berbeda. Di sini kami telah memberikan nama file wget.zip seperti gambar di bawah ini.

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 Unduh Banyak File dengan Protokol HTTP dan FTP

Di sini kita melihat cara mengunduh banyak file menggunakan protokol HTTP dan FTP dengan perintah wget secara bersamaan.

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 Mengunduh Banyak File Dari Satu File

Untuk mendownload banyak file sekaligus, gunakan opsi -i dengan lokasi file yang berisi daftar URL yang akan diunduh. Setiap URL perlu ditambahkan pada baris terpisah seperti yang ditunjukkan.

Misalnya, file 'download-linux.txt' berikut berisi daftar URL yang akan diunduh.

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

Jika daftar URL Anda memiliki pola penomoran tertentu, Anda dapat menambahkan kurung kurawal untuk mengambil semua URL yang cocok dengan pola tersebut. Misalnya, jika Anda ingin mendownload rangkaian kernel Linux mulai dari versi 5.1.1 hingga 5.1.15, Anda dapat melakukan hal berikut.

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 Unduhan Belum Selesai

Dalam hal pengunduhan file besar, terkadang pengunduhan terhenti sehingga kami dapat melanjutkan pengunduhan file yang sama dari yang terakhir ditinggalkan dengan opsi -c.

Namun ketika Anda mulai mengunduh file tanpa menentukan -c, opsi wget akan menambahkan ekstensi .1 di akhir file, dianggap sebagai ekstensi baru. unduh. Jadi, sebaiknya tambahkan tombol -c saat Anda mengunduh file besar.

# 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. Wget Mirror Seluruh Situs Web

Untuk mengunduh atau mencerminkan atau menyalin seluruh situs web untuk dilihat secara offline, Anda dapat menggunakan perintah berikut yang akan membuat salinan lokal situs web beserta semua asetnya (JavaScript, CSS, Gambar).

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

Penjelasan dari perintah di atas.

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. Dapatkan File Unduhan di Latar Belakang

Dengan opsi -b Anda dapat mengirim unduhan di latar belakang segera setelah unduhan dimulai dan log ditulis dalam file 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 Tetapkan Batas Kecepatan Pengunduhan File

Dengan opsi --limit-rate=100k, batas kecepatan pengunduhan dibatasi hingga 100k dan log akan dibuat di bawah wget.log seperti yang ditunjukkan di bawah ini.

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

Lihat file wget.log dan periksa kecepatan unduh 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 Unduh File yang Dilindungi Kata Sandi melalui FTP dan HTTP

Untuk mengunduh file dari server FTP yang dilindungi kata sandi, Anda dapat menggunakan opsi --ftp-user=username dan --ftp-password=password seperti yang ditunjukkan.

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

Untuk mengunduh file dari server HTTP yang dilindungi kata sandi, Anda dapat menggunakan opsi --http-user=username dan --http-password=password seperti yang ditunjukkan.

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

10. Wget Abaikan Pemeriksaan Sertifikat SSL

Untuk mengabaikan pemeriksaan sertifikat SSL saat mengunduh file melalui HTTPS, Anda dapat menggunakan opsi --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. Versi dan Bantuan Wget

Dengan opsi --version dan --help Anda dapat melihat versi dan bantuan sesuai kebutuhan.

wget --version
wget --help

Pada artikel ini, kami telah membahas perintah wget Linux dengan opsi untuk tugas administratif sehari-hari. Apakah man wget jika Anda ingin tahu lebih banyak tentangnya? Silakan berbagi melalui kotak komentar kami atau jika kami melewatkan sesuatu, beri tahu kami.