Liên hệProfile
Danh mục

Mục Lục

    Hướng dẫn sử dụng lệnh wget trong Linux để tải tập tin từ Internet

    Nguyễn Hưng

    Ngày đăng:

    31/03/2026

    Cập nhật lần cuối:

    31/03/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    31/03/2026

    Cập nhật lần cuối:

    31/03/2026

    Mục lục

    wget là một tiện ích dòng lệnh miễn phí và phổ biến trên Linux, được thiết kế chuyên biệt để tải file từ các máy chủ web. Điểm mạnh lớn nhất của wget là khả năng làm việc không tương tác, có thể hoạt động ngầm trong nền ngay cả khi người dùng đã đăng xuất khỏi hệ thống. Trong bài viết này, mình sẽ hướng dẫn bạn chi tiết cách sử dụng lệnh wget với các tùy chọn quan trọng, giúp bạn tải file, tải toàn bộ trang web hoặc tiếp tục quá trình tải về bị gián đoạn một cách hiệu quả.

    Những điểm chính

    • Khái niệm: Hiểu rõ khái niệm wget là công cụ tải file mạnh mẽ giúp bạn tự động hóa quy trình thu thập dữ liệu từ Internet một cách ổn định.
    • Các tính năng chính: Nắm bắt các ưu điểm vượt trội như tải nối tiếp, chạy ngầm và kiểm soát băng thông để tối ưu hóa tài nguyên máy chủ.
    • Cách cài đặt: Biết cách thiết lập wget trên các hệ điều hành Linux phổ biến như Ubuntu hay CentOS với các thao tác đơn giản.
    • Cách sử dụng hiệu quả: Nắm được các cú pháp từ tải file đơn lẻ, đổi tên file đến việc tải đệ quy toàn bộ website để xem ngoại tuyến.
    • Kiểm tra kết quả: Đảm bảo dữ liệu tải về thành công, đúng kích thước và biết cách xử lý khi tên file bị trùng lặp.
    • Xử lý lỗi phổ biến: Trang bị kỹ năng khắc phục lỗi 404, lỗi SSL và lỗi kết nối để đảm bảo quá trình tải về luôn thông suốt.
    • Lưu ý quan trọng: Nắm vững các quy tắc an toàn bảo mật và quản lý băng thông để tránh rủi ro thực thi mã độc hoặc nghẽn mạng.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc phổ biến liên quan đến wget.

    Lệnh wget là gì?

    wget là lệnh được sử dụng để tải file từ Internet, hỗ trợ các giao thức truyền tải phổ biến nhất như HTTP, HTTPS, FTP,… Lệnh này thường được cài đặt mặc định trên hầu hết các bản phân phối Linux để phục vụ nhu cầu thu thập dữ liệu của quản trị viên.

    Điểm mạnh của wget là ở tính ổn định và tự động hóa cao. Công cụ này được thiết kế để hoạt động tốt ngay cả trong điều kiện mạng yếu với khả năng tự động thử lại khi kết nối bị ngắt và hỗ trợ tải nối tiếp các file dung lượng lớn mà không cần người dùng giám sát. Đặc biệt, wget sở hữu tính năng tải đệ quy mạnh mẽ, cho phép tự động đi theo các đường liên kết để tải về toàn bộ hoặc một phần website nhằm mục đích lưu trữ và xem ngoại tuyến.

    wget là lệnh được sử dụng để tải file từ Internet
    wget là lệnh được sử dụng để tải file từ Internet

    Những tính năng chính của lệnh wget

    Dưới đây là các tính năng chính của wget trong môi trường server:

    • Khả năng phục hồi kết nối mạnh mẽ: Nếu quá trình tải file dung lượng lớn bị ngắt giữa chừng do rớt mạng, wget có thể tiếp tục tải nối tiếp từ điểm bị gián đoạn thay vì phải tải lại từ đầu như các trình duyệt thông thường.
    • Tải đệ quy toàn bộ website: wget có thể tự động đi theo các đường link để tải về toàn bộ cấu trúc thư mục, hình ảnh và trang HTML của một website, giúp tạo ra bản sao lưu để xem ngoại tuyến.
    • Hoạt động nền không cần giám sát: Được thiết kế để chạy ngầm, wget không yêu cầu người dùng phải giữ cửa sổ Terminal mở liên tục. Bạn có thể bắt đầu tải một file 10GB, đăng xuất khỏi server và wget vẫn sẽ tiếp tục tải cho đến khi hoàn tất.
    • Kiểm soát băng thông: Để tránh việc tải file chiếm hết đường truyền của server gây ảnh hưởng đến các dịch vụ khác, wget cho phép bạn giới hạn tốc độ tải xuống thông qua tùy chọn --limit-rate.
    • Linh hoạt với proxy và xác thực: wget hỗ trợ tốt việc tải file qua các Proxy server hoặc các trang web yêu cầu đăng nhập, giúp dễ dàng vượt qua các rào cản tường lửa trong môi trường mạng doanh nghiệp.
    Những tính năng chính của lệnh wget
    Những tính năng chính của lệnh wget

    Cách cài đặt lệnh wget

    Lệnh wget thường được cài đặt sẵn trên hầu hết các bản phân phối Linux. Nếu lệnh không có sẵn, hệ thống sẽ báo lỗi command not found, khi đó bạn có thể cài đặt bằng lệnh sau:

    • Trên Debian/Ubuntu:
    sudo apt install wget
    • Trên CentOS/RHEL:
    sudo yum install wget

    1. Tải một file đơn lẻ

    Để tải một file từ đường dẫn URL cụ thể về thư mục làm việc hiện tại, bạn sử dụng cú pháp lệnh sau:

    wget <URL_den_file_can_tai_xuong>

    Để tải file techtest.index từ máy chủ tech1.vietnix.tech về máy của bạn và lưu vào thư mục hiện tại với đúng tên file gốc là techtest.index, bạn thực hiện lệnh dưới đây:

    wget https://tech1.vietnix.tech/techtest.index

    File sẽ được tải về và lưu với tên gốc, ví dụ như techtest.index hoặc archive.zip vào thư mục mà bạn đang chạy lệnh.

    Tải một file đơn lẻ
    Tải một file đơn lẻ

    2. Tiếp tục tải về file bị gián đoạn

    Để khôi phục quá trình tải về một file đã bị ngắt kết nối trước đó mà không cần phải tải lại từ đầu, bạn thêm tùy chọn -c vào câu lệnh sau:

    wget -c <URL_den_file_can_tai_xuong>

    Để tải file techtest.index về máy và có thể tiếp tục tải lại nếu bị ngắt giữa chừng, không phải tải lại từ đầu, bạn thực thi lệnh sau:

    wget -c https://tech1.vietnix.tech/techtest.index

    Tùy chọn -c sẽ kiểm tra kích thước phần file đã tải và tiếp tục tải phần còn lại từ điểm dừng. Đây là tùy chọn quan trọng khi tải các file dung lượng lớn qua mạng không ổn định.

    Tiếp tục tải về file bị gián đoạn
    Tiếp tục tải về file bị gián đoạn

    3. Đổi tên file khi tải về

    Bạn có thể lưu file tải về với một tên khác so với tên gốc trên máy chủ bằng cách sử dụng tùy chọn -O với chữ O viết hoa:

    wget -O <ten_file_luu_lai> <URL_den_file_goc>

    Lệnh dưới đây dùng để tải file nén techtest.zip từ server về máy và lưu lại với tên mới là backup.zip trong thư mục hiện tại:

    wget -O backup.zip https://tech1.vietnix.tech/techtest.zip
    Đổi tên file khi tải về
    Đổi tên file khi tải về

    4. Tải về không hiển thị chi tiết

    Bạn có thể chạy lệnh wget trong nền mà không hiển thị các thông báo tiến trình tải về ra màn hình Terminal. Để kích hoạt chế độ im lặng, bạn dùng tùy chọn -q với cú pháp như sau:

    wget -q <URL_den_file_can_tai_xuong>

    Để tải file techtest.index về máy trong chế độ im lặng, không in ra thanh tiến trình hay thông báo ra màn hình, bạn thực hiện lệnh sau:

    wget -q https://tech1.vietnix.tech/techtest.index
    Tải file techtest.index về máy trong chế độ im lặng
    Tải file techtest.index về máy trong chế độ im lặng

    5. Tải về đệ quy toàn bộ trang web

    Bạn có thể tải toàn bộ nội dung của một website bao gồm các liên kết con để xem ngoại tuyến bằng câu lệnh phức hợp sau:

    wget -r -l 2 -p -k <URL_trang_web_can_crawl>

    Để tải về toàn bộ nội dung website https://tech.vietnix.xyz trong phạm vi tối đa 2 cấp liên kết và chuyển đổi liên kết để có thể xem offline trên máy, bạn thực hiện lệnh sau:

    wget -r -l 2 -p -k https://tech.vietnix.xyz

    Trong đó:

    • -r (recursive): Kích hoạt chế độ tải đệ quy, tự động đi theo các liên kết.
    • -l 2 (level): Chỉ giới hạn theo dõi liên kết tối đa 2 cấp độ sâu từ URL gốc.
    • -p (page-requisites): Tải tất cả các tệp cần thiết để hiển thị trang web đúng giao diện như hình ảnh, CSS, JS.
    • -k (convert-links): Chuyển đổi các liên kết trong mã HTML thành liên kết cục bộ để có thể xem được khi không có mạng.
    Tải về đệ quy toàn bộ trang web
    Tải về đệ quy toàn bộ trang web

    Cách kiểm tra kết quả thành công sau khi chạy lệnh wget

    Sau khi lệnh wget chạy hoàn tất, bạn sẽ thấy thông báo saved [tên tập tin]. Bạn có thể kiểm tra thư mục hiện tại bằng lệnh ls -l để xác minh file đã tồn tại với kích thước chính xác.

    iconLưu ý

    Nếu file đã tồn tại, wget sẽ tự động thêm hậu tố .1, .2,… vào tên file mới tải về thay vì ghi đè lên file cũ.

    1. Lỗi: ERROR 404: Not Found

    Thông báo ERROR 404: Not Found cho biết máy chủ đích đã nhận được yêu cầu nhưng không thể tìm thấy file mà bạn cần. Nguyên nhân chủ yếu xuất phát từ việc đường dẫn URL bị nhập sai hoặc file đó đã bị xóa/di chuyển sang thư mục khác.

    Ngoài ra, bạn cần lưu ý rằng các máy chủ Linux phân biệt chữ hoa và chữ thường nên File.isofile.iso sẽ là hai file khác nhau. Để khắc phục, bạn hãy kiểm tra kỹ từng ký tự trong URL hoặc thử dán đường dẫn đó vào trình duyệt web để xác nhận file còn tồn tại hay không trước khi chạy lệnh.

    2. Lỗi: Connection refused hoặc Unable to establish SSL connection

    Khi gặp thông báo “Connection refused”, điều này có nghĩa là gói tin của bạn đã bị chặn. Nguyên nhân có thể do máy chủ đích đang ngoại tuyến hoặc tường lửa đang chặn các cổng web tiêu chuẩn. Lúc này, bạn nên thử dùng lệnh ping đến địa chỉ máy chủ để kiểm tra kết nối mạng cơ bản.

    Đối với lỗi liên quan đến SSL, nguyên nhân thường do chứng chỉ bảo mật của máy chủ đã hết hạn hoặc không được cấp bởi tổ chức uy tín. Trong môi trường kiểm thử hoặc mạng nội bộ tin cậy, bạn có thể buộc wget bỏ qua bước kiểm tra an toàn này bằng cách thêm tham số --no-check-certificate vào câu lệnh để tiếp tục tải về.

    Lỗi liên quan đến SSL
    Lỗi liên quan đến SSL (Nguồn: Internet)

    Theo kinh nghiệm của mình khi quản trị nhiều server tại Vietnix, lỗi “Connection refused” phần lớn không phải do wget mà do cấu hình tường lửa phía server đích hoặc dịch vụ web chưa được khởi động. Mình thường kiểm tra lần lượt bằng ping, sau đó là telnet <host> 443 để xác định chính xác kết nối bị nghẽn ở tầng mạng hay tầng ứng dụng, từ đó tiết kiệm đáng kể thời gian xử lý sự cố thay vì thử nhiều cách ngẫu nhiên.

    3. Lỗi: File không tải về được khi chạy trong nền

    Một trong những tính năng mạnh nhất của wget là khả năng chạy nền, nhưng nhiều người dùng gặp khó khăn khi không biết tiến trình đang chạy đến đâu hoặc bị ngắt đột ngột khi đóng cửa sổ dòng lệnh. Để khắc phục, bạn cần kết hợp tham số -b để đưa tiến trình vào chạy ngầm, đồng thời sử dụng tham số -o logfile.txt để xuất toàn bộ thông báo ra một file nhật ký thay vì màn hình. Khi cần kiểm tra tiến độ tải, bạn chỉ cần dùng lệnh tail -f logfile.txt để xem trạng thái thực tế mà không làm gián đoạn quá trình tải.

    Những lưu ý quan trọng khi sử dụng lệnh wget

    Dưới đây là 5 lưu ý quan trọng để sử dụng wget một cách an toàn và tối ưu nhất, giúp bạn tránh các rủi ro về bảo mật và tài nguyên hệ thống:

    • Không thực thi mã mù: Việc pipe trực tiếp nội dung tải về vào shell tiềm ẩn rủi ro bảo mật nghiêm trọng. Do đó bạn cần tuân thủ quy trình chuẩn là: Tải về -> Kiểm tra mã nguồn -> Cấp quyền thực thi.
    • Quản lý băng thông mạng: Trong môi trường hạ tầng chia sẻ hoặc server production, bạn nên sử dụng tham số --limit-rate để giới hạn tốc độ tải, ngăn chặn việc chiếm dụng toàn bộ băng thông gây nghẽn mạng.
    • Tận dụng cơ chế Resume (-c): Đối với các file kích thước lớn, bạn hãy kích hoạt cờ -c để đảm bảo tính toàn vẹn dữ liệu và tiết kiệm thời gian xử lý khi kết nối mạng không ổn định.
    • Chuẩn hóa tên file đầu ra (-O): Các URL thường chứa tham số truy vấn dài và phức tạp, do đó bạn hãy sử dụng tùy chọn -O để định danh lại file khi tải về, giúp việc quản lý file và tích hợp vào các script tự động hóa chính xác hơn.

    Qua quá trình làm việc thực tế, mình nhận thấy sai lầm phổ biến nhất của người mới là bỏ qua bước kiểm tra mã nguồn trước khi thực thi, đặc biệt khi tải script cài đặt từ các nguồn bên thứ ba. Mình khuyên bạn nên tạo thói quen luôn tải file về trước bằng wget, dùng cat hoặc less để đọc nội dung, rồi mới chạy. Thao tác này chỉ mất thêm vài giây nhưng giúp bạn tránh được những rủi ro bảo mật nghiêm trọng mà mình đã từng chứng kiến trên các hệ thống production.

    Bạn không nên thực hiện mã mù để tránh các rủi ro bảo mật nghiêm trọng
    Bạn không nên thực hiện mã mù để tránh các rủi ro bảo mật nghiêm trọng

    Câu hỏi thường gặp

    Sự khác biệt chính giữa wget và curl là gì?

    wget: Được thiết kế tối ưu cho việc tải tập tin, thường được sử dụng trong việc tải đệ quy, xử lý việc rớt mạng và dễ sử dụng để tải file đơn thuần.
    – curl: Được thiết kế như một công cụ truyền dữ liệu đa năng, hỗ trợ nhiều giao thức hơn và mạnh mẽ trong việc gửi các yêu cầu API (POST, PUT,…), debug mạng.
    Bạn hãy dùng wget nếu chỉ cần tải file hoặc backup website. Trong trường hợp bạn cần test API hoặc tương tác phức tạp với server, hãy dùng curl.

    Làm thế nào để tải hàng loạt file từ một danh sách có sẵn?

    Bạn không cần chạy lệnh wget cho từng URL, hãy lưu danh sách các đường link vào một file văn bản, mỗi link một dòng, sau đó dùng tùy chọn -i với cú pháp lệnh sau:
    wget -i list.txt

    Tôi có thể giới hạn tốc độ tải để không chiếm hết băng thông mạng không?

    Có. wget cho phép bạn giới hạn tốc độ tải bằng tùy chọn –limit-rate. Điều này rất hữu ích khi bạn tải file lớn trên server production.
    Ví dụ giới hạn tốc độ ở mức 500KB/s, bạn thực hiện lệnh sau:
    wget –limit-rate=500k

    Lệnh wget là công cụ quan trọng trên Linux giúp tự động hóa việc tải file và dữ liệu từ Internet. Với khả năng tiếp tục tải về bị gián đoạn, tải đệ quy toàn bộ trang web và hoạt động không tương tác mạnh mẽ, bạn có thể làm chủ được cách tải về tài nguyên từ web một cách đáng tin cậy, ngay cả trong những điều kiện mạng không ổn định hoặc khi cần xử lý các tác vụ tải về phức tạp.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Cách dùng lệnh lsmod trong Linux để kiểm tra và quản lý modules trong Kernel  hiệu quả
    Cách dùng lệnh lsmod trong Linux để kiểm tra và quản lý modules trong Kernel  hiệu quả

    lsmod là lệnh dùng để liệt kê các module nhân hiện đang được nạp vào bộ nhớ hệ thống, giúp bạn xem danh sách driver/module kernel đang hoạt động, gồm tên module, dung lượng và số lần đang được sử dụng, phù hợp khi bạn cần kiểm tra hoặc xử lý vấn đề liên quan…

    31/03/2026

    nslookup Linux là gì? Cách sử dụng lệnh nslookup để kiểm tra DNS hiệu quả
    nslookup Linux là gì? Cách sử dụng lệnh nslookup để kiểm tra DNS hiệu quả

    nslookup Linux là lệnh được sử dụng để truy vấn máy chủ DNS nhằm kiểm tra việc phân giải tên miền và địa chỉ IP. Việc sử dụng nslookup giúp xác định chính xác tên miền phân giải ra IP nào, máy chủ DNS nào đang thực hiện nhiệm vụ đó và các bản ghi…

    31/03/2026

    Hướng dẫn sử dụng lệnh dig Linux để kiểm tra và truy vấn DNS
    Hướng dẫn sử dụng lệnh dig Linux để kiểm tra và truy vấn DNS

    dig Linux là một công cụ dòng lệnh mạnh mẽ được sử dụng để truy vấn các máy chủ DNS và thu thập thông tin chi tiết về các bản ghi DNS như A, MX, NS, SOA, TXT. Khác với các công cụ đơn giản hơn như nslookup, dig cung cấp dữ liệu chuyên sâu…

    31/03/2026

    Cách dùng lệnh more trong Linux để xem nội dung file theo phân trang
    Cách dùng lệnh more trong Linux để xem nội dung file theo phân trang

    Lệnh more trong Linux là một trình phân trang dùng để hiển thị nội dung file văn bản từng đoạn trên màn hình terminal, thay vì in toàn bộ nội dung một lần như cat. Trong bài viết này, mình sẽ hướng dẫn bạn chi tiết cách sử dụng lệnh more để xem nội dung…

    31/03/2026

    linux

    lenh

    text