Wget la gi

GNU Wget là một tiện ích dòng lệnh để tải xuống các tệp từ web. Với Wget, bạn có thể tải xuống các tệp bằng các giao thức HTTP, HTTPS và FTP. Wget cung cấp một số tùy chọn cho phép bạn tải xuống nhiều tệp, tiếp tục tải xuống, hạn chế băng thông, tải xuống đệ quy, tải xuống trong nền, phản ánh một trang web và nhiều hơn nữa.

Bài viết này cho thấy cách sử dụng lệnh thông qua các ví dụ thực tế và giải thích chi tiết về các tùy chọn phổ biến nhất.

Nội dung chính

  • 1 Cài đặt Wget
    • 1.1 Cài đặt Wget trên Ubuntu và Debian
    • 1.2 Cài đặt Wget trên CentOS và Fedora
  • 2 Cú pháp Lệnh Wget
  • 3 Tải file với wget
  • 4 Lưu tệp đã tải xuống dưới tên khác
  • 5 Tải tệp về Thư mục Cụ thể
  • 6 Giới hạn tốc độ tải xuống
  • 7 Tiếp tục tải xuống
  • 8 Tải xuống trong Nền
  • 9 Thay đổi User-Agent
  • 10 Tải xuống Nhiều tệp
  • 11 Tải xuống qua FTP
  • 12 Tải bản sao của một trang web
  • 13 Bỏ qua Kiểm tra Chứng chỉ
  • 14 Tải xuống Đầu ra chuẩn
  • 15 Kết thúc
    • 15.1 Share this:
    • 15.2 Like this:

Cài đặt Wget

Gói wget được cài đặt sẵn trên hầu hết các bản phân phối Linux hiện nay.

Để kiểm tra xem gói Wget có được cài đặt trên hệ thống của bạn hay không, hãy mở bảng điều khiển, nhập và nhấn enter. Nếu bạn đã cài đặt wget, hệ thống sẽ báo wget: missing URL. Nếu không, nó sẽ báo wget command not found

Nếu không được cài đặt, bạn có thể dễ dàng cài đặt nó bằng cách sử dụng trình quản lý gói của bản phân phối của bạn.

Cài đặt Wget trên Ubuntu và Debian

sudo apt install wget

Cài đặt Wget trên CentOS và Fedora

sudo yum install wget

Cú pháp Lệnh Wget

Trước khi đi vào cách sử dụng lệnh, hãy bắt đầu bằng cách xem lại cú pháp cơ bản.

Các biểu thức tiện ích có dạng sau:

wget [options] [url]
  • options – Các tùy chọn Wget
  • url – URL của tệp hoặc thư mục bạn muốn tải xuống hoặc đồng bộ hóa.

Tải file với wget

Ở dạng đơn giản nhất, khi được sử dụng mà không có bất kỳ tùy chọn nào, sẽ tải tài nguyên được chỉ định trong [url] về thư mục hiện tại.

Trong ví dụ sau, chúng ta đang tải xuống kho lưu trữ tar nhân Linux:

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz

Như bạn có thể thấy từ hình trên, bắt đầu bằng cách resolve địa chỉ IP của tên miền, sau đó kết nối với máy chủ từ xa và bắt đầu chuyển giao.

Trong quá trình tải xuống, hiển thị thanh tiến trình cùng với tên tệp, kích thước tệp, tốc độ tải xuống và thời gian ước tính để hoàn thành việc tải xuống. Sau khi tải xuống hoàn tất, bạn có thể tìm thấy tệp đã tải xuống trong thư mục làm việc hiện tại của mình .

Để tắt đầu ra, hãy sử dụng tùy chọn -q.

Nếu tệp đã tồn tại, wget sẽ thêm .N (số) ở cuối tên tệp.

Lưu tệp đã tải xuống dưới tên khác

Để lưu tệp đã tải xuống dưới một tên khác, hãy dùng tùy chọn -O tiếp theo là tên đã chọn:

wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip

Lệnh trên sẽ lưu tệp hugo zip mới nhất từ GitHub thay vì tên ban đầu của nó.

Tải tệp về Thư mục Cụ thể

Theo mặc định, sẽ lưu tệp đã tải xuống trong thư mục làm việc hiện tại. Để lưu tệp đến một vị trí cụ thể, hãy dùng tùy chọn wget -P :

wget -P /mnt/iso http://mirrors.mit.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso

Lệnh trên cho biết lưu tệp CentOS 7 iso vào thư mục wget/mnt/iso

Giới hạn tốc độ tải xuống

Để hạn chế tốc độ tải xuống, hãy sử dụng tùy chọn này –limit-ratekmg. Theo mặc định, tốc độ được đo bằng byte / giây. Thêm vào cho kilobyte, cho megabyte và cho gigabyte.

Lệnh sau đây sẽ tải xuống Go Binary và giới hạn tốc độ tải xuống ở mức 1MB:

wget --limit-rate=1m https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

Tùy chọn này rất hữu ích khi bạn không muốn tiêu thụ tất cả băng thông có sẵn.

Tiếp tục tải xuống

Bạn có thể tiếp tục tải xuống bằng tùy chọn này. Điều này rất hữu ích nếu kết nối của bạn giảm trong quá trình tải xuống tệp lớn và thay vì bắt đầu tải xuống từ đầu, bạn có thể tiếp tục tệp trước đó.

Trong ví dụ sau, chúng ta đang tiếp tục tải xuống tệp ISO Ubuntu 18.04:

wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

Nếu máy chủ từ xa không hỗ trợ tiếp tục tải xuống, sẽ bắt đầu tải xuống ngay từ đầu và ghi đè lên tệp hiện có.

Tải xuống trong Nền

Để tải xuống trong nền, hãy sử dụng tùy chọn -b. Trong ví dụ sau, chúng ta đang tải xuống tệp OpenSuse iso ở chế độ nền:

wget -b https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso

Theo mặc định, output được chuyển hướng đến tệp trong thư mục hiện tại. Để xem trạng thái tải xuống, hãy dùng lệnh tail:

tail -f wget-log

Thay đổi User-Agent

Đôi khi khi tải xuống tệp, máy chủ từ xa có thể được thiết lập để chặn Wget User-Agent. Trong những tình huống như thế này, để mô phỏng một trình duyệt khác, hãy sử dụng tùy chọn -U.

wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" http://wget-forbidden.com/

Lệnh trên sẽ mô phỏng Firefox 60 yêu cầu trang từ wget-forbidden.com

Tải xuống Nhiều tệp

Nếu bạn muốn tải xuống nhiều tệp cùng một lúc, hãy sử dụng tùy chọn -i theo sau là đường dẫn đến tệp cục bộ hoặc bên ngoài có chứa danh sách url sẽ được tải xuống. Mỗi URL cần phải ở trên một dòng riêng biệt.

Ví dụ sau đây cho thấy cách tải xuống các tệp Arch Linux, Debian và Fedora iso bằng cách sử dụng các URL được chỉ định trong tệp:

wget -i linux-distros.txt

linux-distros.txt

http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso
https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso
https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso

Nếu bạn chỉ định là tên tệp, URL sẽ được đọc từ đầu vào tiêu chuẩn.-

Tải xuống qua FTP

Để tải xuống tệp từ máy chủ FTP được bảo vệ bằng mật khẩu, hãy chỉ định tên người dùng và mật khẩu như hình dưới đây:

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

Tải bản sao của một trang web

Để tạo một bản sao của một trang web với , hãy sử dụng tùy chọn -m. Điều này sẽ tạo ra một bản sao cục bộ hoàn chỉnh của trang web bằng cách theo dõi và tải xuống tất cả các liên kết nội bộ cũng như các tài nguyên trang web (JavaScript, CSS, Images).

wget -m https://example.com

Nếu bạn muốn sử dụng trang web đã tải xuống để duyệt web ở local, bạn sẽ cần phải chuyển một vài đối số bổ sung sang lệnh ở trên.

wget -m -k -p https://example.com

Tùy chọn này sẽ chuyển đổi các liên kết trong các tài liệu đã tải xuống để làm cho chúng phù hợp để xem ở local. Tùy chọn này sẽ cho biết tải xuống tất cả các tệp cần thiết để hiển thị trang HTML.

Bỏ qua Kiểm tra Chứng chỉ

Nếu bạn muốn tải xuống tệp qua HTTPS từ máy chủ có chứng chỉ SSL không hợp lệ, hãy dùng tùy chọn:--no-check-certificate

wget --no-check-certificate https://domain-with-invalid-ss.com

Tải xuống Đầu ra chuẩn

Trong ví dụ sau, wget sẽ tải xuống và xuất phiên bản WordPress mới nhất để stdout và pipeline giải nén vào thư mục /var/www/.

wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www

Kết thúc

Với wget , bạn có thể tải xuống nhiều tệp, tiếp tục tải xuống một phần, phản chiếu trang web và kết hợp các tùy chọn Wget theo nhu cầu của bạn.

Để tìm hiểu thêm về Wget, hãy truy cập trang GNU wget Manual.