Bài hướng dẫn này sẽ cho bạn biết cách dùng wget command trong Linux. Chúng tôi cũng cho ví dụ về 12 lệnh wget hữu dụng. Kết quả là bạn sẽ biết toàn bộ cách dùng wget và có thể tải file từ World Wide Web.
1/ Wget Command là gì?
Wget là một công cụ máy tính tạo ra từ GNU Project. Bạn có thể dùng nó để trích xuất dữ liệu và nội dung từ nhiều web servers khác nhau. Tên của nó là kết hợp của World Wide Web và từ get. Nó hỗ trợ download qua FTP, SFTP, HTTP, và HTTPS.
Wget được tạo ra từ portable C và có thể dùng trên bất kỳ Unix system nào. Nó cũng có thể được triển khai trên Mac OS X, Microsoft Windows, AmigaOS và các nền tảng phổ biến khác.
2/ Làm thế nào để cài đặt Wget?
Để thực hiện bài hướng dẫn wget command này, chúng tôi sẽ dùng hệ điều hành Ubuntu 16.04. Nhưng cấu trúc lệnh có thể dùng được trên các bản Linux khác.
Đầu tiên, truy cập server qua SSH. Thực thi lệnh sau để cài đặt wget trên máy:
apt-get install wget
3/ Ví dụ về Wget Command
Chúng tôi cho bạn 12 ví dụ về lệnh wget command mà bạn có thể sẽ dùng hằng ngày. Hãy lưu ý là bạn cũng có thể dùng function này từ scripts và cron jobs!
3.1/ Sử dụng Wget Command để tải từng Files
Một trong các lệnh wget cơ bản nhất là tải file và lưu nó vào thư mục hiện hành. Ví dụ, nếu bạn muốn tải version mới nhất của WordPress, hãy dùng lệnh sau:
wget https://wordpress.org/latest.zip
Kết quả:
--2018-02-23 12:53:10-- https://wordpress.org/latest.zip Resolving wordpress.org (wordpress.org)... 198.143.164.252 Connecting to wordpress.org (wordpress.org)|198.143.164.252|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 9332728 (8,9M) [application/zip] Saving to: 'latest.zip' latest.zip 100%[===================>] 8,90M 6,88MB/s in 1,3s 2018-02-23 12:53:14 (6,88 MB/s) - 'latest.zip' saved [9332728/9332728]
Trong ví dụ này, một file có tên latest.zip sẽ được tải vào thư mục đang sử dụng. Bạn sẽ thấy có thêm các thông tin khác như, tiến trình tỉa, tốc độ, kích thước, thời gian và ngày.
3.2/ Sử dụng Wget Command để tải nhiều Files
Bạn có thể dùng wget vào việc tải nhiều file cùng một lúc. Để làm vậy, bạn cần tạo một file text và đặt các đường dẫn URLs tải file vào đó. Trong ví dụ này, chúng tôi sẽ tải bản mới nhất của WordPress, Joomla, và Drupal. Nhập lệnh sau:
nano example.txt
Lệnh này sẽ tạo một file có tên example.txt và mở text ditor. Dán links sau vào:
https://wordpress.org/latest.zip https://downloads.joomla.org/cms/joomla3/3-8-5/Joomla_3-8-5-Stable-Full_Package.zip https://ftp.drupal.org/files/projects/drupal-8.4.5.zip
Sau đó bạn có thể dùng -i để lấy tất cả các files chứa trong file example:
wget -i example.txt
Đợi một lúc quá trình tải về sẽ hoàn tất và bạn đã có 3 phiên bản quản trị nội dung phổ biến nhất.
3.3/ Sử dụng Wget Command để tải Files dưới một tên khác
Trong ví dụ wget này, mình sẽ lưu file bằng một tên khcá với option -O:
wget -O wordpress-install.zip https://wordpress.org/latest.zip
Trong trường hợp này, nguồn tải được lưu thành wordpress-install.zip thay vì tên gốc.
3.4/ Sử dụng Wget Command để lưu file trong một thư mục được chỉ định
Bạn có thể tận dụng wget để đặt file vào một thư mục khác bằng tùy chọn -P:
wget -P documents/archives/ https://wordpress.org/latest.zip
File bạn tải về sẽ xuất hiện trong thư mục documents/archives/.
3.5/ Sử dụng Wget Command để giới hạn tốc độ tải về
Với wget, bạn có thể giới hạn tốc độ tải. VIệc này hữu dụng trong trường hợp bạn tải một file lớn và tránh trường hợp nó dùng hết băng thông của bạn. Ví dụ bên dưới sẽ giới hạn còn 500k:
wget --limit-rate=500k https://wordpress.org/latest.zip
3.6 /Sử dụngWget Command để đặt số lần thử tải lại
Kết nối internet có thể gây lỗi giản đoạn. Để xử lý, chúng ta có thể tăng số lần thử tải lại bằng cách dùng option -tries :
wget -tries=100 https://wordpress.org/latest.zip
3.7/ Sử dụng Wget Command để tải file trong Background
Đối với các files cực lớn, bạn có thể dùng function -b. Nó sẽ chạy ẩn dưới nền
wget -b http://example.com/beefy-file.tar.gz
Một wget-log sẽ xuất hiện trong thư mục hiện hành, bạn có thể kiểm tra tiến trình và tình trạng. Lệnh này sẽ giúp bạn kiểm tra nó:
tail -f wget-log
3.8/ Sử dụng Wget Command để tải file qua FTP
Lệnh này có thể dùng với FTP. Bạn chỉ cần đặt đúng tên và password như trong trường hợp sau:
wget --ftp-user=YOUR_USERNAME --ftp-password=YOUR_PASSWORD ftp://example.com/something.tar
3.9/ Sử dụng Wget Command để tiếp tục file tải bị gián đoạn
Việc download có thể bị gián đoạn nếu kết nối gặp vấn đề. Việc này thường xảy ra khi bạn đang tải file lớn. Thay vì tải lại từ đầu, bạn có thể tiếp tục bằng function -c:
wget -c https://example/very-big-file.zip
If you proceed without the -c function, the new file will have .1 added at the end as it already exists.
3.10/ Sử dụng Wget Command để tải về toàn bộ website
Bạn cũng có thể dùng lệnh wget để tải về toàn bộ site. Nó sẽ cho bạn xem trên máy không cần kết nối internet. Sử dụng lệnh như sau:
wget --mirror --convert-links --page-requisites --no-parent -P documents/websites/ https://some-website.com
Hãy phân tích các trường trong lệnh wget:
–mirror Nó giúp bạn tải theo dạng recursive. –convert-links Tất cả các links sẽ được chuyển thành link trên offline. –page-requisites Lệnh này sẽ bao gồm tất cả các files cần thiết như là CSS, JS, và hình ảnh –no-parent Nó đảm bảo là không có thư mục nào ở trên thư mục website bị tải về -P documents/websites/ Đảm bảo tất cả nội dung được lưu vào thư mục được chỉ định.
Khi hoàn tất, bạn có thể mở website trên máy và tìm thấy tất cả các file cần thiết trong thư mục documents/websites/
3.11/ Sử dụng Wget Command để xác định link lỗi
Hãy dùng lệnh một cách cao cấp hơn. Bạn có thể dùng wget command để xác định broken URL mà hiện lỗi 404 error trên website của bạn. Bằng cách thực thi lệnh sau:
wget -o wget-log -r -l 5 --spider http://example.com -o Nhóm tất cả các output vào một file để sử dụng sau -l Xác định cấp độ recursive -r Khiến file tải về ở chế độ recursive –spider Đặt wget ở spider mode
Chúng ta sẽ tiếp tục điều tra thêm file wget-log để xác định link lỗi. Đây là lệnh để thực thi việc này:
grep -B 2 '404' wget-log | grep "http" | cut -d " " -f 4 | sort -u
3.12/ Sử dụng Wget Command để tải file theo số
Nếu bạn có hình hoặc file bị đánh số theo một danh sách nhất định, bạn có thể tải toàn bộ chúng bằng cấu trúc sau:
wget http://example.com/images/{1..50}.jpg
4/ Lời kết
Bằng cách hoàn tất bài hướng dẫn này bạn đã học cách làm thế nào để sử dụng wget một cách thật chuyên nghiệp. Bạn có thể tận dụng nó để tải một hoặc nhiều files. Hơn nữa, bạn cũng có thể dùng tính năng cao cấp của nó là tải toàn bộ website và xác định link lỗi. Để biết thêm thông tin, hãy xem thêm phần tài liệu chính thức này
Bạn có bất biết một mẹo vặt hay thủ thuật nào muốn chia sẽ? Hãy tự nhiên để lại bình luận bên dưới nhé!