#

Wget Command là gì? 12 ví dụ sử dụng lệnh wget trong Linux

 24/05/2022 - 11:07 Trịnh Duy Thanh

Trong bài viết này, BKHOST giải thích cho bạn về lệnh wget trong Linux thông qua các ví dụ thực tế. Ok, hãy cũng bắt đầu ngay thôi nào.

Wget Command là gì?

Wget Command trong Linux
Wget Command trong Linux

GNU Wget là một tiện ích dòng lệnh hỗ trợ 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 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, giới hạn băng thông, tải xuống đệ quy, tải xuống trong nền, phản chiếu trang web và hơn thế nữa.

Cài đặt Wget

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

Dịch vụ Cloud VPS tiêu chuẩn quốc tế

BKHOST đang có chương trình khuyến mãi cực shock dành cho khách hàng đăng ký dịch vụ Cloud VPS Pro:

  • Giảm giá lên đến 30%.
  • Giá chỉ từ 125k/tháng.
  • Tặng thêm 512MB Ram khi đăng kí từ 12 tháng trở lên.

Đăng ký ngay:

cloud vps

Bạn có thể kiểm tra gói Wget trên hệ thống của bạn đã được cài đặt hay chưa bằng cách, vào console -> nhập gwet -> nhấn enter.

Nếu bạn đã cài đặt wget, hệ thống sẽ hiển thị wget: missing URL. Nếu chưa, hệ thống sẽ hiển thị dòng lệnh: wget command not found

Trong trường hợp chưa được cài đặt, bạn vẫn có thể tự cài đặt nó một cách dễ dàng dựa vào trình quản lý gói từ bản phân phối Linux 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 wget, 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 wget có dạng sau:

wget [options] [url]

Trong đó:

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

Ví dụ về sử dụng Wget Command trong Linux

vi du Wget Command trong Linux

1. Cách tải tệp 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, wget sẽ tải soucre được chỉ định trong [url] vào thư mục hiện tại.

Trong ví dụ sau, minh họa cho trường hợp 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

cai tai tep voi wget

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

Trong quá trình tải xuống, wget hiển thị các thông tin như: 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 tất quá trình tải xuống. Sau khi quá trình 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.

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

Nếu tệp đã cài đặt tệp trước đó, wget sẽ thêm .n (số) vào cuối tên tệp vừa tải.

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

Bạn có thể thay đổi tên tệp được lưu sau khi tải xuống bằng cách sử dụng tùy chọn – O theo sau là tên mà bạn mong muốn:

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

Lệnh trên sẽ lưu tệp zip hugo mới nhất từ ​​GitHub với tên là new-hugo.zip thay vì tên mặc định của nó.

3. Tải tệp xuống một thư mục cụ thể

Theo mặc định, wget 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 vào một vị trí chỉ định, có thể dùng tùy chọn -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 yêu cầu wget lưu tệp CentOS 7 iso vào thư mục /mnt/iso.

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

Hãy dùng tùy chọn –limit-rate để có thể giới hạn tốc độ tải xuống tệp. Đơn vị đo lường mặc định là byte/ giây với k đại diện cho kilobyte, m cho megabyte và g cho gigabyte.

Lệnh sau sẽ tải xuống tệp nhị phân Go và giới hạn tốc độ tải xuống là 1MB:

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

Tùy chọn này giúp bạn điều khiển được lượng băng thông trong quá trình tải tệp.

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

Nếu không may, máy của bạn bị chết hay ngắt kết nối trong quá trình tải một tệp lớn. Hãy sử dụng tùy chọn -c để có thể tiếp tục quá trình tải trước đó thay vì phải tải lại từ đầu.

Trong ví dụ sau, là ví dụ cho quá trình 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

Trong trường hợp máy chủ từ xa không cho phép tiếp tục tải xuống, wget sẽ tự động tải lại từ đầu và ghi đè lên tệp trước đó.

6. 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, là quá trình tải xuống tệp iso OpenSuse ở chế độ nền:

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

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

tail -f wget-log

7. Thay đổi tác nhân người dùng Wget

Đôi khi khi tải xuống một tệp, máy chủ từ xa có thể được đặt để 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 chuyển 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ẽ giả lập Firefox 60 yêu cầu trang từ wget-forbidden.com

8. Tải xuống nhiều tệp

Bạn còn có thể tiết kiệm thời gian tải bằng cách tải nhiều tệp cùng lúc nhờ vào tùy chọn -i, theo sau là đường dẫn đến tệp cục bộ hoặc tệp bên ngoài có chứa danh sách các URL sẽ được tải xuống. Mỗi URL cần phải nằm trên một dòng riêng biệt.

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

wget -i 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 – dưới dạng tên tệp, các URL sẽ được đọc từ đầu vào tiêu chuẩn.

9. Tải xuống qua FTP

Việc tải xuống các tệp từ máy chủ FTP có yêu cầu đăng nhập cũng không làm khó được bạn, hãy dùng câu lệnh sau đây kèm theo thông tin usernamepassword

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

10. Tạo một trang web phản chiếu

Để tạo bản sao của một trang web với wget, 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 của trang web (JavaScript, CSS, Hình ảnh).

wget -m https://example.com

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

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

Tùy chọn -k sẽ khiến wget chuyển đổi các liên kết trong các tài liệu đã tải xuống làm chúng trở nên phù hợp hơn với từng khu vực.

Tùy chọn -p sẽ yêu cầu wget tải xuống tất cả các tệp cần thiết để hiển thị trang HTML.

11. 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ệ hoặc không có chứng chỉ SSL, hãy sử dụng tùy chọn –no-check-certificate:

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

12. Tải xuống đầu ra tiêu chuẩn

Trong ví dụ sau, wget sẽ âm thầm (flag -q) tải xuống và xuất phiên bản WordPress mới nhất sang stdout (flag -O –) sau đó chuyển nó đến tiện ích tar, tiện ích này sẽ giải nén kho lưu trữ vào thư mục /var/www.

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

Tổng kết về Wget Command trong Linux

Nhờ vào wget, việc tải tệp từ web sẽ trở nên dễ dàng và linh hoạt theo từng nhu cầu của bạn. Bạn có thể tải nhiều tệp cùng lúc, tiếp tục tải xuống tệp đã bị gián đoạn trước đó, v.v tùy theo từng tùy chọn wget mà bạn sử dụng.

Nếu có nhu cầu tham khảo thêm về lệnh wget, hãy truy cập trang hướng dẫn sử dụng GNU wget hay về những mẹo thao tác và quản lý khác trên Linux, hãy để lại bình luận ở bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

Dịch vụ Cloud VPS tiêu chuẩn quốc tế

BKHOST đang có chương trình khuyến mãi cực shock dành cho khách hàng đăng ký dịch vụ Cloud VPS Pro:

  • Giảm giá lên đến 30%.
  • Giá chỉ từ 125k/tháng.
  • Tặng thêm 512MB Ram khi đăng kí từ 12 tháng trở lên.

Đăng ký ngay:

vps pro

Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
Bình luận

Thanh toán linh hoạt

Chúng tôi chấp nhận thanh toán như ATM, Visa, Internet Banking, Paypal, Baokim, Ngân lượng

Gọi ĐT tư vấn ngay
Chat ngay qua Zalo
Chat ngay qua Messenger