GNU/Linux >> Belajar Linux >  >> Linux

Tips dan trik menggunakan perintah wget Linux

Wget adalah baris perintah, utilitas sumber terbuka untuk mengunduh file dan halaman web dari internet. Itu mendapat data dari internet dan menampilkannya di terminal Anda atau menyimpannya ke file. Utilitas wget tidak interaktif. Anda dapat memaksimalkannya melalui skrip atau bahkan menjadwalkan unduhan file.

Biasanya, browser web seperti Firefox atau Chromium juga mengunduh file kecuali, secara default, mereka membuat informasi dalam jendela grafis dan mengharuskan pengguna untuk berinteraksi dengannya. Atau, pengguna sistem Linux lainnya menggunakan perintah curl untuk mentransfer data dari server jaringan.

Artikel tersebut mengilustrasikan cara menggunakan perintah wget untuk mengunduh halaman web dan file dari internet.

Menginstal wget di Linux

Untuk menginstal wget pada sistem Linux berbasis Ubuntu/Debian:

$ apt-get install wget

Untuk menginstal Wget di Red Hat/CentOS:

$ yum install wget

Untuk menginstal wget di Fedora:

$ dnf install wget

Mengunduh file dengan perintah wget

Anda dapat mengunduh file dengan wget dengan memberikan tautan khusus ke URL. Jika default URL Anda ke index.html, maka halaman indeks diunduh. Secara default, konten diunduh ke file dengan nama file yang sama di direktori kerja Anda saat ini. Perintah wget juga menyediakan beberapa opsi untuk menyalurkan output ke less atau tail.

[#####@fedora ~]$ wget http://example.com | tail -n 6
--2021-11-09 12:06:02-- http://example.com/
Resolving example.com (example.com)... 93.184.216.34, 2606:2800:220:1:248:1893:25c8:1946
Connecting to example.com (example.com)|93.184.216.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1256 (1.2K) [text/html]
Saving to: ‘index.html.1’
index.html.1 100%[======================>] 1.23K --.-KB/s in 0s
2021-11-09 12:06:03 (49.7 MB/s) - ‘index.html.1’ saved [1256/1256]

Mengirim data yang diunduh ke keluaran standar

Anda dapat menggunakan -output-document dengan tanda hubung – karakter untuk mengirim data yang Anda unduh ke output standar.

[#######@fedora ~]$ wget http://example.com --output-document - | head -n8
--2021-11-09 12:17:11-- http://example.com/
Resolving example.com (example.com)... 93.184.216.34, 2606:2800:220:1:248:1893:25c8:1946
Connecting to example.com (example.com)|93.184.216.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1256 (1.2K) [text/html]
Saving to: ‘STDOUT’
<!doctype html> 0%[ ] 0 --.-KB/s 
<html>
<head>
<title>Example Domain</title>
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
- 100%[======================>] 1.23K --.-KB/s in 0s
2021-11-09 12:17:12 (63.5 MB/s) - written to stdout [1256/1256]

Menyimpan unduhan dengan nama file yang berbeda

Anda dapat menggunakan opsi –output-document atau -O untuk menentukan nama file keluaran yang berbeda untuk unduhan Anda.

$ wget http://fosslinux.com --output-document foo.html
$ wget http://fosslinux.com -O foofoofoo.html

Mengunduh urutan file

Wget dapat mengunduh beberapa file jika Anda mengetahui lokasi dan pola nama file dari file tersebut. Anda dapat menggunakan sintaks Bash untuk menentukan rentang bilangan bulat untuk mewakili urutan nama file dari awal hingga akhir.

$ wget http://fosslinux.com/filename_{1..7}.webp

Mengunduh banyak halaman dan file

Anda dapat mengunduh banyak file dengan perintah wget dengan menentukan semua URL yang berisi file yang akan diunduh.

$ wget URL1 URL2 URL3

Melanjutkan unduhan sebagian

Jika Anda mengunduh file besar, mungkin ada gangguan pada unduhan. Wget dapat menentukan di mana unduhan Anda berhenti sebelum melanjutkan dengan unduhan sebagian. Ini berguna jika Anda mengunduh file besar seperti distro Fedora 35 Linux ISO. Untuk melanjutkan unduhan, gunakan opsi –lanjutkan atau -c.

$ wget --continue https://fosslinux.com/foss-linux-distro.iso

Mengelola unduhan rekursif dengan perintah wget

Gunakan opsi –recursive atau -r untuk Mengaktifkan unduhan rekursif dengan perintah wget. Mode rekursif wget merayapi URL situs yang disediakan dan mengikuti semua tautan hingga default atau tingkat kedalaman maksimum yang ditentukan.

$ wget -r fosslinux.com

Secara default, kedalaman unduhan rekursif maksimum adalah 5. Namun, wget menyediakan opsi -l untuk menentukan kedalaman rekursi maksimum Anda.

$ wget -r -l 11 fosslinux.com

Anda dapat menentukan rekursi tak terbatas dengan opsi '-l 0'. Misalnya, wget akan mengunduh semua file di situs web jika Anda menyetel kedalaman maksimum ke nol (-l 0).

Mengonversi tautan untuk penayangan lokal

–convert-links adalah opsi wget penting lainnya yang mengonversi tautan agar sesuai untuk tampilan lokal.

$ wget -r l 3 --convert-links fosslinux.com

Mengunduh Jenis File Tertentu

Anda dapat menggunakan opsi -A dengan perintah wget untuk mengunduh jenis file tertentu selama unduhan rekursif. Misalnya, gunakan perintah wget berikut untuk mengunduh file pdf dari situs web.

$ wget -A '*.pdf -r fosslinux.com

Perhatikan bahwa tingkat kedalaman pengambilan maksimum rekursif dibatasi hingga 5 secara default.

Mengunduh File Dari Server FTP

Perintah wget dapat berguna saat Anda perlu mengunduh file dari Server FTP.

$ wget --ftp-user=username --ftp-password=password ftp://192.168.1.13/foofoo.pdf

Pada contoh di atas, wget akan mengunduh 'foofoo.pdf' dari Server FTP yang terletak di 192.168.1.10.

Anda juga dapat menggunakan opsi -r rekursif dengan protokol FTP untuk mengunduh file FTP secara rekursif.

$ wget -r --ftp-user=username --ftp-password=pass ftp://192.168.1.13/

Menyetel ukuran unduhan maksimal dengan perintah wget

Anda dapat mengatur ukuran unduhan maksimum selama pengambilan file rekursif menggunakan opsi flag –quota. Anda dapat menentukan ukuran unduhan dalam byte (default), kilobyte (akhiran k), atau megabita (akhiran m). Proses pengunduhan akan dibatalkan jika batasnya terlampaui.

$ wget -r --quota=1024m fosslinux.com

Perhatikan bahwa kuota unduhan tidak memengaruhi pengunduhan satu file.

Menyetel batas kecepatan unduhan dengan perintah wget

Anda juga dapat menggunakan opsi flag wget –limit-rate untuk membatasi kecepatan unduhan saat mengunduh file. Misalnya, perintah berikut akan mengunduh file 'foofoo.tar.gz' dan membatasi kecepatan unduh hingga 256KB/s.

$ wget --limit-rate=256k URL/ foofoo.tar.gz

Perhatikan bahwa Anda dapat menyatakan kecepatan unduhan yang diinginkan dalam byte (tanpa akhiran), kilobyte (menggunakan akhiran k), atau megabita (menggunakan akhiran m).

Mencerminkan situs web dengan perintah wget

Anda dapat mengunduh atau mencerminkan seluruh situs, termasuk struktur direktorinya dengan opsi –mirror. Mencerminkan situs mirip dengan unduhan rekursif tanpa tingkat kedalaman maksimum. Anda juga dapat menggunakan opsi –recursive –level inf –timestamping –no-remove-listing, yang berarti rekursif tanpa batas.

Anda juga dapat menggunakan wget untuk mengarsipkan situs dengan opsi –no-cookies –page-conditions –convert-links. Ini akan mengunduh halaman lengkap dan memastikan bahwa salinan situs lengkap dan mirip dengan situs aslinya.

$ wget --mirror --convert-links fosslinux.com 
$ wget -recursive --level inf --timestamping –no-remove-listing

Perhatikan bahwa mengarsipkan situs akan mengunduh banyak data, terutama jika situs tersebut sudah lama.

Membaca URL dari file teks

Perintah wget dapat membaca banyak URL dari file teks menggunakan opsi -i. File teks masukan dapat berisi beberapa URL, tetapi setiap URL harus dimulai dengan baris baru.

$ wget -i URLS.txt

Memperluas URL yang dipersingkat

Anda dapat menggunakan opsi wget –max-redirect untuk melihat URL yang dipersingkat sebelum Anda berkunjung. URL yang dipersingkat sangat penting untuk media cetak atau di jejaring sosial dengan batas karakter. Selain itu, URL yang dipersingkat juga dapat mencurigakan karena tujuannya disembunyikan secara default.
Catatan:Praktik yang lebih baik melibatkan penggabungan opsi –head dan –location untuk melihat header HTTP dan mengungkap tujuan URL final. Ini memungkinkan Anda mengintip ke URL yang dipersingkat tanpa memuat sumber daya lengkap.

[######@fedora ~]$ wget --max-redirect 0 https://t.co/GVr5v9554B?amp=1
--2021-11-10 16:22:08-- https://t.co/GVr5v9554B?amp=1
Resolving t.co (t.co)... 104.244.42.133, 104.244.42.69, 104.244.42.5, ...
Connecting to t.co (t.co)|104.244.42.133|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bit.ly/ [following]
0 redirections exceeded.

Catatan:Tujuan yang dimaksud ditampilkan pada jalur keluaran yang dimulai dengan lokasi.

Memodifikasi header HTML

Informasi header HTTP adalah salah satu informasi metadata yang tertanam dalam paket yang dikirim komputer untuk berkomunikasi selama pertukaran data. Misalnya, setiap kali Anda mengunjungi situs web, browser Anda mengirimkan header permintaan HTTP. Anda dapat menggunakan opsi –debug untuk menampilkan informasi header yang dikirim wget ke browser Anda untuk setiap permintaan.

[#####@fedora ~]$ wget --debug fosslinux.com
DEBUG output created by Wget 1.21.1 on linux-gnu.
---request begin---
GET / HTTP/1.1
User-Agent: Wget/1.21.1
Accept: */*
Accept-Encoding: identity
Host: fosslinux.com
Connection: Keep-Alive
---request end---
HTTP request sent, awaiting response...
---response begin---

Melihat header respons dengan perintah wget

Anda dapat menggunakan opsi –debug untuk melihat informasi header respons dalam respons balasan.

[#####@fedora ~]$ wget --debug fosslinux.com
…..
---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 10 Nov 2021 13:36:29 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
X-Cache: HIT
---response end---
200 OK

Menanggapi kode respons 301

Kode status respons HTTP sangat penting bagi administrator web. Biasanya, kode status respons HTTP 301 berarti bahwa URL telah dipindahkan secara permanen ke lokasi yang berbeda. Secara default, wget mengikuti pengalihan. Namun, Anda dapat menggunakan opsi –max-redirect untuk menentukan apa yang dilakukan wget saat menghadapi respons 301. Misalnya, Anda dapat menyetelnya ke 0 untuk menginstruksikan wget agar tidak mengikuti pengalihan.

[######@fedora ~]$ wget --max-redirect 0 https://fosslinux.com
--2021-11-10 16:55:54-- https://fosslinux.com/
Resolving fosslinux.com (fosslinux.com)... 67.205.134.74, 2604:a880:400:d0::4bfe:a001
Connecting to fosslinux.com (fosslinux.com)|67.205.134.74|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.fosslinux.com/ [following]
0 redirections exceeded.

Menyimpan keluaran verbose wget ke file log

Secara default, wget menampilkan keluaran verbose ke terminal Linux. Namun, Anda dapat menggunakan opsi -o untuk mencatat semua pesan keluaran ke file log tertentu.

$ wget -o foofoo_log.txt fosslinux.com

Perintah wget di atas akan menyimpan keluaran verbose ke file 'foofoo_log.txt'.

Menjalankan perintah wget sebagai web spider

Anda dapat membuat perintah wget berfungsi sebagai web spider menggunakan opsi –spider. Intinya, itu tidak akan mengunduh halaman web apa pun tetapi hanya akan memeriksa apakah mereka ada di sana. Selain itu, setiap URL yang rusak akan dilaporkan.

$ wget -r --spider fosslinux.com

Menjalankan perintah wget di latar belakang

Anda dapat menggunakan opsi -b / –background untuk menjalankan proses wget di latar belakang. Ini penting jika Anda mengunduh file besar yang membutuhkan waktu lebih lama untuk diselesaikan.

$ wget -b fosslinux.com/latest.tar.gz

Secara default, output dari proses wget diarahkan ke 'wget-log'. Namun, Anda dapat menentukan file log yang berbeda dengan opsi -o.

Untuk memantau proses wget, gunakan perintah tail.

$ tail -f wget-log

Menjalankan wget dalam mode debug

Saat Anda menjalankan wget dalam mode debug, outputnya menyertakan informasi server jarak jauh seperti header permintaan wget dan header respons. Header permintaan dan respons sangat penting bagi administrator sistem dan pengembang web.

$ wget --debug fosslinux.com

Mengubah User-Agent dengan perintah wget

Anda dapat mengubah Agen Pengguna default dengan opsi –agen-pengguna. Misalnya, Anda dapat menggunakan 'Mozilla/4.0' sebagai wget User-Agent untuk mengambil fosslinux.com dengan perintah berikut.

$ wget --user-agent='Mozilla/4.0' fosslinux.com

Pelajari lebih lanjut kiat dan trik wget dari halaman manual wget resmi.

Menutup

Perintah wget Linux menyediakan cara yang efisien untuk menarik dan mengunduh data dari internet tanpa menggunakan browser. Sama seperti perintah curl serbaguna, wget dapat menangani skenario unduhan rumit seperti unduhan file besar, unduhan non-interaktif, dan unduhan banyak file.


Linux
  1. 7 trik praktis untuk menggunakan perintah wget Linux

  2. Tips dan trik untuk curl dan wget

  3. 5 Contoh Perintah Wget untuk Mengunduh File di Linux.

  1. Tip dan trik menggunakan CUPS untuk mencetak dengan Linux

  2. 10 Trik dan Tips Baris Perintah Linux Menarik yang Patut Diketahui

  3. Kiat dan trik variabel lingkungan Linux

  1. Kiat untuk menggunakan perintah teratas di Linux

  2. 5 Tips dan Trik Command Line yang Menarik di Linux – Bagian 1

  3. Tip dan trik .htaccess Linux