Kiến thức cơ bản về Linux: Cách tải xuống tệp trên Shell bằng Wget

theanh

Administrator
Nhân viên
Wget là một công cụ dòng lệnh phổ biến và dễ sử dụng, chủ yếu được sử dụng để tải xuống các tệp không tương tác từ web. wget giúp người dùng tải xuống các khối dữ liệu lớn, nhiều tệp và thực hiện tải xuống đệ quy. Nó hỗ trợ các giao thức tải xuống (HTTP, HTTPS, FTP và FTPS). Bài viết sau đây giải thích cú pháp lệnh wget cơ bản và đưa ra các ví dụ về các trường hợp sử dụng phổ biến của wget.

1.1 Wget - Tổng quan​

Lệnh wget có thể được gọi với các tùy chọn, đây là các tùy chọn và URL luôn được yêu cầu.
Mã:
wget [tùy chọn] [URL]

1.2Thông tin hữu ích​

Wget có thể hiển thị thông tin sau khi quá trình tải xuống đang diễn ra:
  • Tiến trình tải xuống (theo phần trăm form)
  • Lượng dữ liệu đã tải xuống
  • Tốc độ tải xuống
  • Thời gian còn lại để hoàn tất quá trình tải xuống
Dưới đây là một số ví dụ về các tình huống tải xuống mà người dùng có thể gặp phải khi tải xuống tệp trên shell Linux bằng wget:

1.3 Tải xuống cơ bản một tệp​

Đây là trường hợp cơ bản nhất mà người dùng thực thi lệnh wget mà không có bất kỳ tùy chọn nào bằng cách chỉ sử dụng URL của tệp cần tải xuống trong dòng lệnh. Ví dụ lệnh sau đây cho thấy điều này:
Mã:
wget [URL]

1.4 Tải xuống và lưu tệp bằng tên khác​

Bước này chỉ là phần mở rộng của bước trước và có thể cần thiết khi bạn muốn chỉ định tên khác cho tệp được lưu trên ổ cứng cục bộ. Tất cả những gì bạn cần làm là thêm tùy chọn -O theo sau là tên tệp ưa thích:
Mã:
wget -O [Preferred_Name] [URL]
Sử dụng lệnh trên, bạn sẽ có thể lưu tệp bằng tên bạn muốn chỉ định.


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

Thông thường, wget sẽ chiếm một lượng băng thông đáng kể để tải xuống các tệp từ web. Nhưng có một tùy chọn để hạn chế tốc độ tải xuống ở một giá trị nhất định được chỉ định bằng cách tùy chỉnh lệnh wget cơ bản cùng với tùy chọn "--limit-rate", bằng cách sử dụng lệnh sau:
Mã:
wget --limit-rate=[VALUE] [URL]
Bằng cách chỉ định tốc độ ưa thích trong trường "VALUE" trong lệnh trên, bạn sẽ có thể tùy chỉnh tốc độ tải xuống theo yêu cầu của mình. Thêm hậu tố "k" cho kilobyte hoặc "m" cho megabyte. Ví dụ: "--limit-rate = 2m" để giới hạn tốc độ tải xuống tối đa là 2Mbyte/giây.


1.6 Tiếp tục tải xuống bị dừng/gián đoạn​

Trong trường hợp bạn gặp phải sự cố gián đoạn tải xuống sau khi bắt đầu tải xuống một tệp lớn từ web bằng wget, bạn sẽ vô cùng vui mừng khi biết rằng lệnh được đưa ra bên dưới có thể giúp bạn tiếp tục quá trình tải xuống từ nơi nó dừng lại (mà không cần phải tải xuống tệp while một lần nữa!): Tất cả những gì bạn cần làm là thực thi lệnh wget với tùy chọn "-c".
Mã:
wget -c [URL]
Lệnh trên sẽ tiếp tục quá trình tải xuống từ nơi nó dừng lại trước đó (khi máy chủ tải xuống hỗ trợ), do đó cho phép bạn tải xuống toàn bộ tệp một cách liền mạch.


1.7 Tiếp tục quá trình tải xuống ở chế độ nền​

Khi tải xuống một tệp lớn, bạn có thể muốn tiếp tục quá trình tải xuống ở chế độ nền và sử dụng dấu nhắc shell trong khi tệp được tải xuống. Trong trường hợp này, bạn phải thực thi lệnh wget bằng tùy chọn -boption và theo dõi trạng thái tải xuống trong tệp wget-log, nơi quá trình tải xuống sẽ được ghi lại. Bạn cần sử dụng lệnh sau để bắt đầu quá trình tải xuống ở chế độ nền:
Mã:
wget -b [URL]
Bạn có thể kiểm tra tiến trình tải xuống bằng cách truy cập nội dung của tệp wget-log bằng lệnh tail như sau:
Mã:
tail -f wget-log
Bộ lệnh trên sẽ giúp bạn sử dụng dấu nhắc shell trong khi tệp lớn được tải xuống ở chế độ nền và cũng theo dõi tiến trình tải xuống.


1.8 Tùy chỉnh số lần thử (Tăng/Giảm)​

Trong trường hợp mặc định, lệnh wget sẽ thực hiện tối đa 20 lần thử kết nối đến trang web đã cho để hoàn tất quá trình tải xuống trong trường hợp mất/gián đoạn kết nối internet. Tuy nhiên, người dùng có quyền thay đổi số này theo sở thích của mình bằng cách sử dụng tùy chọn "--thries". Lệnh sau sẽ giúp bạn thực hiện chính xác điều đó:
Mã:
wget --tries=[DESIRED_VALUE] [URL]
Bằng cách chỉ định số được ưu tiên trong trường DESIRED_VALUE, bạn có thể đặt số lần thử lại trong trường hợp kết nối bị gián đoạn.


1.9 Đọc tệp để tải xuống nhiều lần​

Nếu bạn muốn tải xuống nhiều tệp, bạn cần chuẩn bị một tệp văn bản chứa danh sách các URL liên quan đến tất cả các tệp cần tải xuống. Bạn có thể sử dụng lệnh wget để đọc tệp văn bản bằng cách sử dụng tùy chọn -i của lệnh (được đưa ra bên dưới) và bắt đầu tải xuống nhiều tệp theo ý muốn. Vui lòng sử dụng lệnh sau cho cùng một mục đích:
Mã:
wget -i [TEXT-FILE-NAME]
Lệnh trên sẽ giúp bạn tải xuống nhiều tệp một cách dễ dàng.


1.10 Tải xuống toàn bộ trang web​

Nếu bạn muốn giữ lại một bản sao của bất kỳ trang web nào mà bạn muốn tham khảo/đọc cục bộ hoặc có thể lưu một bản sao blog của mình vào ổ cứng để sao lưu, bạn có thể thực thi lệnh wget với tùy chọn mirror như sau:
Mã:
wget --mirror [Website Name]
Lệnh trên sẽ giúp bạn sao chép trang web mong muốn/lưu dữ liệu cục bộ để tham khảo trong tương lai.


1.11. Từ chối các loại tệp cụ thể​

Đôi khi bạn có thể muốn tải xuống toàn bộ trang web ngoại trừ các tệp có loại cụ thể, ví dụ như video/hình ảnh. Bạn có thể sử dụng tùy chọn từ chối với lệnh wget (được đưa ra bên dưới):
Mã:
wget --reject=[FILE-TYPE] [URL]
Lệnh trên cho phép bạn từ chối các loại tệp được chỉ định trong khi tải xuống toàn bộ trang web.


1.12. Tải xuống FTP​

Tải xuống FTP có thể có hai loại:

1. Tải xuống FTP ẩn danh 2. Tải xuống FTP đã xác thực

Do đó, có một lệnh duy nhất để tải xuống từng loại.

Để tải xuống FTP ẩn danh, vui lòng sử dụng lệnh sau:
Mã:
wget [FTP-URL]
Để tải xuống FTP đã xác thực, vui lòng sử dụng lệnh sau:
Mã:
wget --ftp-user=[USERNAME] --ftp-password=[PASSWORD] [URL]
Mỗi lệnh trên sẽ dẫn đến quá trình tải xuống FTP cần thiết.
 
Back
Bên trên