Lệnh wget là một công cụ rất hữu ích trong Linux để tải dữ liệu từ internet và còn có nhiều tính năng hay. Vì thế, nhiều người dùng Linux chọn wget để tải dữ liệu từ các máy chủ trực tuyến. Bài viết này sẽ giới thiệu về lệnh wget, các tùy chọn và ví dụ cụ thể
Lệnh wget trong Linux là gì?
Lệnh wget trong Linux (từ viết tắt của web get) là một tiện ích được cung cấp và ủy quyền bởi GNU General Public License (GPL). Tiện ích này cho phép người dùng download các file non-interactive và file recursive thông qua các giao thức phổ biến như HTTP, HTTPS, FTP… Trong đó, non-interactive được hiểu là việc tải file ngay cả khi người dùng không đăng nhập.
Ngoài ra, lệnh wget trong Linux cũng có khả năng download các trang HTML/XHTML hoàn chỉnh và tái tạo cấu trúc nội dung để duyệt các trang website local. Dưới đây là cú pháp cơ bản của lệnh wget trong Linux:
wget [Option] … [URL] …
Mọi người cũng xem:
11 tùy chọn của lệnh wget trong Linux
Dưới đây là một số tùy chọn phổ biến của lệnh wget:
man wget
Tùy chọn | Mô tả |
– b | Tải file trong nền. |
– c | Tiếp tục tải các file bị gián đoạn. |
t /- -tries = [number] | Chỉ định số lần thử lại cho các file bị gián đoạn trong quá trình tải. |
– m/- – mirror | Nhân bản một website local để duyệt ngoại tuyến. |
– r | Bật chế độ recursive với giá trị mặc định là 5. |
– A/ – – accept “*.” | Chỉ tải các loại file cụ thể. |
– R/- – reject “*.” | Từ chối tải cho loại file cụ thể. |
– O, Upper case | Tải file và lưu với tên khác. |
– p | Tải trong một directory cụ thể. |
– – limit-rate = [amount] | Giới hạn băng thông/tốc độ khi tải. |
– – no-check-certificate | Bỏ qua kiểm tra chứng nhận SSL. |
Hướng dẫn cách cài đặt lệnh wget trong Linux
Bạn có thể kiểm tra xem đã có lệnh này không bằng cách nhập lệnh sau:
wget
Hệ thống sẽ hiện ra như hình bên dưới nếu đã cài đặt:
Nếu không bạn sẽ nhận được văn bản sau:
Nếu máy tính chưa có lệnh wget, bạn cài đặt wget bằng cách nhập lệnh sau:
sudo apt-get install wget
14 ví dụ cụ thể lệnh wget trong Linux
- Download một file đơn hoặc webpage bằng lệnh wget
- Download một file đơn và lưu với tên khác bằng lệnh wget
- Download nhiều file bằng lệnh wget trong Linux
- Download nhiều file từ file khác bằng lệnh wget
- Download file vào một directory cụ thể bằng lệnh wget
- Download file ở chế độ nền bằng lệnh wget trong linux
- Giới hạn tốc độ download file bằng lệnh wget trong linux
- Tiếp tục download file chưa hoàn tất bằng lệnh wget
- Download file theo cách recursive bằng lệnh wget
- Chọn một số loại file nhất định khi download bằng wget
- Từ chối một file nhất định trong khi download
- Thiết lập số lần thử lại khi download bằng wget
- Mirror toàn bộ trang web bằng wget trong Linux
- Bỏ qua kiểm tra chứng SSL trong khi download
Ví dụ 1: Download một file đơn hoặc webpage bằng lệnh wget
Lệnh wget cho phép người dùng download một file hoặc webpage với cú pháp đơn giản sau:
wget <URL>
Để download homepage của trang web linuxsimply, bạn nhập dòng lệnh sau:
wget https://linuxsimply.com/
Output: Homepage sẽ được download và lưu trong directory hiện tại dưới dạng index.html. Trong hình ảnh bên dưới, bạn sẽ thấy thanh tiến trình với các thông tin cụ thể như dung lượng file, tốc độ download, tên file và thời gian ước tính để hoàn tất quá trình download.
Ví dụ 2: Download một file đơn và lưu với tên khác bằng lệnh wget
Để download một file đơn và lưu dưới tên khác từ terminal, hãy dùng lệnh wget với tùy chọn -O (Upper Case) với cú pháp sau:
wget -O <URL>
Ví dụ, bạn cần tải homepage của linuxsimply và lưu lại dưới dạng homepage.html, hãy nhập lệnh sau:
wget -O homepage.html https://linuxsimply.com/
Output: Lúc này, output sẽ hiển thị như bên dưới. Như vậy là bạn đã download homepage và lưu dưới dạng homepage.html thành công.
Ví dụ 3: Download nhiều file bằng lệnh wget trong Linux
Lệnh wget cho phép người dùng download cùng lúc nhiều file, thậm chí download với cả giao thức HTTP và FTP trong cùng một câu lệnh. Cú pháp cụ thể sẽ là:
wget <URL1> <URL2>
Ví dụ, để download cả homepage và command page của trang web linuxsimply, hãy nhập câu lệnh sau:
wget https://linuxsimply.com/ https://linuxsimply.com/commands/
Output: Ngay sau đó, cả homepage và command page đều đã được download thành công và được lưu lần lượt dưới dạng index.html, index.html.1 trong directory hiện tại.
Ví dụ 4: Download nhiều file từ file khác bằng lệnh wget
Lệnh wget còn cho phép bạn sử dụng một file đặc biệt (có thể là Text hoặc HTML) để download một hoặc nhiều file với tùy chọn -i. Các URL được tìm thấy trong file này sẽ được download trực tiếp xuống hệ thống. Cú pháp cơ bản sẽ là:
wget -i <File>
Trong ví dụ dưới đây, Vietnix sẽ download 3 file PDF từ các URL được cung cấp trong file text.txt. Ta có câu lệnh sau:
wget -i text.txt
Output: 3 file PDF đã được download thành công với lệnh wget. Dưới đây là hình ảnh minh họa:
Ví dụ 5: Download file vào một directory cụ thể bằng lệnh wget
Bạn có thể download các file vào vị trí mình muốn với lệnh wget cùng tùy chọn -P. Cú pháp cơ bản sẽ là:
wget -P <path> <File>
Trong ví dụ dưới đây, Vietnix sẽ download file “50 Most Used Linux Commands pdf.pdf” từ trang web linuxsimply vào directory Documents. Ta có câu lệnh sau:
wget -P Documents https://linuxsimply.com/wp-content/uploads/2022/11/50-Most-Used-Linux-Commands-pdf.pdf
Output: Sau khi chạy lệnh trên, file sẽ được download vào đúng vị trí được chỉ định. Lúc này, bạn sẽ sử dụng lệnh ls để xem file đã download trong Documents.
Ví dụ 6: Download file ở chế độ nền bằng lệnh wget trong linux
Để download file dưới chế độ nền, sử dụng lệnh wget với tùy chọn -b. Tùy chọn này cho phép tải xuống mà không gián đoạn khi ngắt kết nối. Output sẽ được lưu vào một file khác trong directory hiện tại cùng với file đã download. Cú pháp cơ bản sẽ là:
wget -P <path> <File>
Trong ví dụ dưới đây, chúng ta sẽ download file “Bash Terminal Keyboard Shortcuts for Editing.pdf” từ trang web linuxsimply. Nhập câu lệnh sau:
wget -b https://linuxsimply.com/wp-content/uploads/2022/11/Bash-Terminal-Keyboard-Shortcuts-for-Editing.pdf
Output: Lúc này, màn hình sẽ hiển thị quá trình download file dưới chế độ nền thông qua lệnh wget. Output của lệnh sẽ được lưu tại wget-log.1 của directory hiện tại.
Ví dụ 7: Giới hạn tốc độ download file bằng lệnh wget trong linux
Tùy chọn — limit-rate trong lệnh wget cho phép bạn giới hạn tốc độ download. Cú pháp cơ bản sẽ là:
wget --limit-rate=[value] <File>
Ví dụ, bạn cần download file Emacs Editor Keybindings or Shortcuts.pdf từ linuxsimply với băng thông giới hạn là 50KB, hãy nhập câu lệnh sau:
wget --limit-rate=50k https://linuxsimply.com/wp-content/uploads/2022/12/Emacs-Keybindings-or-Shortcuts-in-Linux.pdf
Output: Bạn sẽ nhận được kết quả như bên dưới cho thấy bạn đang download file với băng thông chưa đến 50KB/giây như đã thiết lập.
Ví dụ 8: Tiếp tục download file chưa hoàn tất bằng lệnh wget
Dưới đây là cú pháp cơ bản để bạn tiếp tục download file chưa hoàn tất:
wget -c <File>
Ví dụ, việc download homepage đang tạm dừng và bạn muốn tiếp tục hoàn thành quá trình này, hãy sử dụng lệnh wget với tùy chọn -c. Cú pháp cụ thể sẽ là:
wget -c https://linuxsimply.com/
Output: Qua hình ảnh minh họa bên dưới, có thể thấy rằng lần download đầu tiên đã bị gián đoạn, sau đó quá trình download đã được tiếp tục với lệnh wget.
Ví dụ 9: Download file theo cách recursive bằng lệnh wget
Bạn có thể download các file recursive với tùy chọn -r trong lệnh wget. Cú pháp cơ bản sẽ là:
wget -r <URL>
Ví dụ, để download tất cả các file từ free downloads page của linuxsimply theo cách recursive, hãy nhập câu lệnh sau:
wget -r https://linuxsimply.com/free-downloads/
Output: Trong hình dưới, khi không có tùy chọn nào, lệnh wget chỉ download Free downloads page và lưu dưới dạng index.html.1. Thêm tùy chọn -r giúp tải toàn bộ nội dung của một trang web. Để chạy lệnh nền và theo dõi tiến trình, bạn dùng -b
và xem log bằng lệnh tail. Output sẽ hiển thị các file đang được download recursive bằng lệnh wget:
Ví dụ 10: Chọn một số loại file nhất định khi download bằng wget
Để chọn một số loại file nhất định khi download, hãy sử dụng lệnh wget với tùy chọn -A/–Accept theo cú pháp sau:
wget -A”.FileType” <URL>
Ví dụ, bạn muốn download các file .pdf từ free downloads page của trang web Linuxsimply, hãy nhập câu lệnh sau:
wget -A”*.pdf” https://linuxsimply.com/free-downloads/
Output: Hình ảnh dưới đây cho thấy bạn đã sử dụng tùy chọn -A và tùy chọn -r để tìm kiếm recursive các file .pdf, sau đó lưu lại từng file. Nếu file không có phần mở rộng là .pdf, file đó sẽ bị xóa ngay lập tức.
Ví dụ 11: Từ chối một file nhất định trong khi download
Không chỉ được phép chỉ định download một loại file bất kỳ, lệnh wget với tùy chọn -R/–Reject còn hỗ trợ bạn từ chối download các loại file nhất định. Cú pháp ở đây sẽ là:
wget -R FileType/s <URL>
Ví dụ, để từ chối download những file có phần mở rộng là .tmp , .html , .css và .js từ free downloads page của trang web Linuxsimply, hãy nhập cú pháp đầy đủ sau:
wget -R tmp,html,css,js https://linuxsimply.com/free-downloads/
Output: Có thể thấy rằng, chúng ta đã sử dụng tùy chọn -R và -r cho lệnh wget để tìm kiếm recursive các phần mở rộng .tmp , .html , .css và .js, sau đó lưu lại từng file. Nếu file có phần mở rộng tương ứng, file sẽ bị xóa ngay lập tức.
Ví dụ 12: Thiết lập số lần thử lại khi download bằng wget
Với tùy chọn -t/–tries, lệnh wget cho phép người dùng thiết lập số lần thử lại khi quá trình download bị gián đoạn. Cú pháp cơ bản sẽ là:
wget --tries=[number] <File>
Ví dụ, bạn muốn thiết lập số lần thử lại là 2, ta có cú pháp câu lệnh sau:
wget -tries=2 --limit-rate=50k https://linuxsimply.com/wp-content/uploads/2022/12/Untitled-design.gif
Output: Qua hình bên dưới, có thể thấy rằng số lần thử lại khi download không thành công đã được đổi thành 2, đồng thời băng thông sẽ được giới hạn xuống 50KB/giây. Lúc này, file cần download đã bị gián đoạn khi tải được 60%. Sau khi thử 2 lần, quá trình download đã dừng lại.
Ví dụ 13: Mirror toàn bộ trang web bằng wget trong Linux
Để download toàn bộ trang web vào máy tính local, bạn có thể sử dụng lệnh wget với tùy chọn -m/–mirror. Quá trình này còn được gọi là mirroring website (sao chép trang web), cho phép người dùng web ngay cả khi đang ngoại tuyến. Cú pháp cơ bản ở đây là:
wget --mirror -p --convert-links <website_URL>
Trong đó:
- -p: Download tất cả các file cần thiết để hiển thị các trang .html
- –convert-links: Sau khi download thành công, chuyển đổi chúng thành tài liệu để xem local.
Ví dụ, để mirror trang web Linuxsimply, hãy nhập câu lệnh sau:
wget --mirror -p --convert-links -P Downloads https://linuxsimply.com/
Output: Có thể thấy, trang web đã được download thành công vào trong directory downloads, bao gồm toàn bộ hierarchy và file để duyệt local trên hệ thống.
Dưới đây là hình ảnh của phiên bản local của trang web đã được download:
Ví dụ 14: Bỏ qua kiểm tra chứng SSL trong khi download
Bạn có thể bỏ qua kiểm tra chứng nhận SSL của các trang web HTML bằng lệnh wget kết hợp với tùy chọn –no-check-certificate. Cú pháp cơ bản sẽ là:
wget --no-check-certificate <URL>
Ví dụ, để download homepage của trang web SOFTEKO mà không cần kiểm tra chứng nhận SLL, bạn nhập câu lệnh sau:
wget --no-check-certificate https://www.softeko.co/
Output: Trong ảnh bên dưới, có thể thấy rằng trang web đang được download mà không cần kiểm tra chứng nhận SSL với lệnh wget, sau đó được lưu dưới dạng index.html.1 trong directory hiện tại:
Câu hỏi thường gặp
Sự khác biệt giữa lệnh wget và lệnh curl là gì?
Lệnh wget sẽ có nhiều tính năng hơn lệnh curl như tải xuống đệ quy, tiếp tục tải, hỗ trợ nhiều giao thức.
Lệnh wget có thể được sử dụng để tải xuống các file từ các dịch vụ lưu trữ đám mây không?
Câu trả lời là có, lệnh wget hỗ trợ tải xuống từ các dịch vụ lưu trữ đám mây như Google Drive, Dropbox, và Amazon S3.
Lệnh wget có thể được sử dụng để tự động hóa các tác vụ tải xuống không?
Câu trả lời là có, bạn có thể kết hợp lệnh wget với các công cụ tự động hóa như cron để tạo các kịch bản tải xuống tự động.
Lời kết
Như vậy, bài viết trên đã giúp bạn nắm rõ hơn về cách sử dụng lệnh wget trong Linux. Với lệnh này, bạn có thể dễ dàng download các file và thiết lập một số cài đặt download cụ thể. Ngoài ra, đừng quên theo dõi Vietnix để không bỏ lỡ những kiến thức, thủ thuật hay ho về Linux trong các bài viết tiếp theo.