GNU/Linux >> Belajar Linux >  >> Linux

7 trik praktis untuk menggunakan perintah wget Linux

Wget adalah utilitas gratis untuk mengunduh file dari web. Itu mendapat data dari Internet dan menyimpannya ke file atau menampilkannya di terminal Anda. Ini secara harfiah juga apa yang dilakukan browser web, seperti Firefox atau Chromium, kecuali secara default, mereka render informasi dalam jendela grafis dan biasanya mengharuskan pengguna untuk secara aktif mengendalikannya. wget utilitas dirancang untuk menjadi non-interaktif, artinya Anda dapat membuat skrip atau menjadwalkan wget untuk mengunduh file baik Anda menggunakan komputer atau tidak.

Unduh file dengan wget

Anda dapat mengunduh file dengan wget dengan memberikan tautan ke URL tertentu. Jika Anda memberikan URL default ke index.html , maka halaman indeks akan diunduh. Secara default, file diunduh ke dalam file dengan nama yang sama di direktori kerja Anda saat ini.

$ wget http://example.com
--2021-09-20 17:23:47-- http://example.com/
Resolving example.com... 93.184.216.34, 2606:2800:220:1:248:1893:25c8:1946
Connecting to 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'

Anda dapat membuat wget kirim data ke standar keluar (stdout ) sebagai gantinya dengan menggunakan --output-document dengan tanda hubung - karakter:

$ wget http://example.com --output-document - | head -n4
<!doctype html>
<html>
<head>
   <title>Example Domain</title>

Anda dapat menggunakan --output-document opsi (-O singkatnya) untuk memberi nama unduhan Anda apa pun yang Anda inginkan:

$ wget http://example.com --output-document foo.html

Lanjutkan unduhan sebagian

Jika Anda mengunduh file yang sangat besar, Anda mungkin harus menghentikan pengunduhan. Dengan --continue (-c singkatnya), wget dapat menentukan di mana unduhan berhenti dan melanjutkan transfer file. Artinya, lain kali Anda mengunduh ISO distribusi Linux 4 GB, Anda tidak perlu kembali ke awal ketika terjadi kesalahan.

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

Unduh urutan file

Jika bukan satu file besar tetapi beberapa file yang perlu Anda unduh, wget dapat membantu Anda dengan itu. Dengan asumsi Anda mengetahui lokasi dan pola nama file dari file yang ingin Anda unduh, Anda dapat menggunakan sintaks Bash untuk menentukan titik awal dan akhir antara rentang bilangan bulat untuk mewakili urutan nama file:

$ wget http://example.com/file_{1..4}.webp

Cerminkan seluruh situs

Anda dapat mengunduh seluruh situs, termasuk struktur direktorinya, menggunakan --mirror pilihan. Opsi ini sama dengan menjalankan --recursive --level inf --timestamping --no-remove-listing , yang berarti rekursif tanpa batas, jadi Anda mendapatkan semua yang ada di domain yang Anda tentukan. Bergantung pada usia situs web, itu bisa berarti Anda mendapatkan lebih banyak konten daripada yang Anda sadari.

Jika Anda menggunakan wget untuk mengarsipkan situs, maka opsi --no-cookies --page-requisites --convert-links juga berguna untuk memastikan bahwa setiap halaman segar, lengkap, dan salinan situs kurang lebih mandiri.

Ubah header HTML

Protokol yang digunakan untuk pertukaran data memiliki banyak metadata yang tertanam dalam paket yang dikirim komputer untuk berkomunikasi. Header HTTP adalah komponen dari bagian awal data. Saat Anda menelusuri situs web, browser Anda mengirimkan header permintaan HTTP. Gunakan --debug opsi untuk melihat informasi header apa wget mengirim dengan setiap permintaan:

$ wget --debug example.com
---request begin---
GET / HTTP/1.1
User-Agent: Wget/1.19.5 (linux-gnu)
Accept: */*
Accept-Encoding: identity
Host: example.com
Connection: Keep-Alive

---request end---

Anda dapat mengubah header permintaan Anda dengan --header pilihan. Misalnya, terkadang berguna untuk meniru browser tertentu, baik untuk pengujian atau untuk memperhitungkan situs berkode buruk yang hanya berfungsi dengan benar untuk agen pengguna tertentu.

Untuk mengidentifikasi sebagai Microsoft Edge yang berjalan di Windows:

$ wget --debug --header="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59" http://example.com

Anda juga dapat menyamar sebagai perangkat seluler tertentu:

$ wget --debug \
--header="User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1" \
http://example.com

Melihat header respons

Dengan cara yang sama informasi header dikirim dengan permintaan browser, informasi header juga disertakan dalam tanggapan. Anda dapat melihat header respons dengan --debug pilihan:

$ wget --debug example.com
[...]
---response begin---
HTTP/1.1 200 OK
Accept-Ranges: bytes
Age: 188102
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Etag: "3147526947"
Server: ECS (sab/574F)
Vary: Accept-Encoding
X-Cache: HIT
Content-Length: 1256

---response end---
200 OK
Registered socket 3 for persistent reuse.
URI content encoding = 'UTF-8'
Length: 1256 (1.2K) [text/html]
Saving to: 'index.html'

Menanggapi 301 tanggapan

Kode respons 200 berarti semuanya telah berfungsi seperti yang diharapkan. Respons 301, di sisi lain, berarti bahwa URL telah dipindahkan secara permanen ke lokasi yang berbeda. Ini adalah cara umum bagi admin situs web untuk memindahkan konten sambil meninggalkan "jejak" sehingga orang yang mengunjungi lokasi lama masih dapat menemukannya. Secara default, wget mengikuti pengalihan, dan mungkin itulah yang biasanya Anda inginkan.

Namun, Anda dapat mengontrol apa wget lakukan ketika menemukan respons 301 dengan --max-redirect pilihan. Anda dapat mengaturnya ke 0 untuk tidak mengikuti pengalihan:

$ wget --max-redirect 0 http://iana.org
--2021-09-21 11:01:35-- http://iana.org/
Resolving iana.org... 192.0.43.8, 2001:500:88:200::8
Connecting to iana.org|192.0.43.8|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.iana.org/ [following]
0 redirections exceeded.

Sebagai alternatif, Anda dapat mengaturnya ke beberapa nomor lain untuk mengontrol berapa banyak pengalihan wget berikut.

Perluas URL yang dipersingkat

--max-redirect option berguna untuk melihat URL yang dipersingkat sebelum benar-benar mengunjunginya. URL yang dipersingkat dapat berguna untuk media cetak, di mana pengguna tidak bisa hanya menyalin dan menempelkan URL yang panjang, atau di jejaring sosial dengan batas karakter (ini tidak menjadi masalah di jejaring sosial modern dan open source seperti Mastodon ). Namun, mereka juga bisa sedikit berbahaya karena tujuan mereka pada dasarnya tersembunyi. Dengan menggabungkan --head opsi untuk hanya melihat header HTTP, dan --location opsi untuk mengungkap tujuan akhir URL, Anda dapat mengintip ke URL yang dipersingkat tanpa memuat sumber daya lengkap:

$ wget --max-redirect 0 "https://bit.ly/2yDyS4T"
--2021-09-21 11:32:04-- https://bit.ly/2yDyS4T
Resolving bit.ly... 67.199.248.10, 67.199.248.11
Connecting to bit.ly|67.199.248.10|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://example.com/ [following]
0 redirections exceeded.

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Baris keluaran kedua dari belakang, dimulai dengan Location , mengungkapkan tujuan yang dimaksud.

Gunakan wget

Setelah Anda berlatih memikirkan proses menjelajahi web sebagai satu perintah, wget menjadi cara cepat dan efisien untuk menarik informasi yang Anda butuhkan dari Internet tanpa mengganggu antarmuka grafis. Untuk membantu Anda membangunnya ke dalam alur kerja biasa, kami telah membuat lembar contekan dengan wget umum penggunaan dan sintaksis, termasuk ikhtisar penggunaannya untuk mengkueri API. Unduh wget Linux lembar contekan di sini.


Linux
  1. Panduan terminal Linux untuk pemula

  2. 8 tips untuk baris perintah Linux

  3. Menggunakan kekuatan di baris perintah Linux

  1. Kiat untuk menggunakan perintah teratas di Linux

  2. 3 pengelola kata sandi untuk baris perintah Linux

  3. 4 alat untuk mengunduh file apa pun menggunakan baris perintah di Linux

  1. Menggunakan Perintah gratis Linux

  2. Perintah Wget di Linux dengan Contoh

  3. Perintah wget Linux Dijelaskan dengan Contoh