Trong bài viết này, chúng tôi sẽ xem xét wget tiện ích lấy các tệp từ World Wide Web (WWW) sử dụng các giao thức được sử dụng rộng rãi như HTTP, HTTPS, FTP,FTPS.

Quên là một tiện ích dòng lệnh và trình tải xuống tệp mạng miễn phí, đi kèm với nhiều tính năng giúp tải tệp dễ dàng, bao gồm:

  • Tải xuống các tệp lớn hoặc phản chiếu các trang web hoặc FTP hoàn chỉnh.
  • Tải xuống nhiều tệp cùng một lúc.
  • Đặt giới hạn băng thông và tốc độ cho tải xuống.
  • Tải xuống tệp thông qua proxy.
  • Có thể tiếp tục tải xuống bị hủy bỏ.
  • Thư mục phản chiếu đệ quy.
  • Chạy trên hầu hết các hệ điều hành giống UNIX cũng như Windows.
  • Không giám sát / hoạt động nền.
  • Hỗ trợ các kết nối HTTP liên tục.
  • Hỗ trợ SSL / TLS cho các bản tải xuống được mã hóa bằng thư viện OpenSSL hoặc GnuTLS.
  • Hỗ trợ tải xuống IPv4 và IPv6.

Cú pháp cơ bản của Quên Là:

$ wget [option] [URL]

Trước tiên, hãy kiểm tra xem wget tiện ích đã được cài đặt hoặc chưa được cài đặt trong hộp Linux của bạn, bằng cách sử dụng lệnh sau.

$ rpm -q wget         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ dpkg -l | grep wget [On Debian, Ubuntu and Mint]

Cài đặt Wget trong Linux

Nếu như Quên chưa được cài đặt, bạn có thể cài đặt nó bằng trình quản lý gói mặc định của hệ thống Linux như được minh họa.

$ sudo apt install wget -y      [On Debian, Ubuntu and Mint]
$ sudo yum install wget -y      [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a net-misc/wget  [On Gentoo Linux]
$ sudo pacman -Sy wget           [On Arch Linux]
$ sudo zypper install wget      [On OpenSUSE]    

Các -y tùy chọn được sử dụng ở đây là để ngăn các lời nhắc xác nhận trước khi cài đặt bất kỳ gói nào. Để biết thêm YUMĐÚNG CÁCH các ví dụ về lệnh và các tùy chọn hãy đọc các bài viết của chúng tôi về:

  • 20 lệnh Linux YUM để quản lý gói
  • 15 Ví dụ về lệnh APT trong Ubuntu / Debian & Mint
  • 45 Ví dụ về lệnh Zypper để quản lý OpenSUSE Linux

1. Tải xuống tệp bằng Wget

Lệnh sẽ tải xuống một tệp duy nhất và lưu trữ nó trong một thư mục hiện tại. Nó cũng cho thấy Tiến độ tải xuống, kích cỡ, ngày,thời gian trong khi tải xuống.

# wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz

--2021-12-10 04:15:16--  http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3565643 (3.4M) [application/x-gzip]
Saving to: ‘wget2-2.0.0.tar.gz’

wget2-2.0.0.tar.gz      100%[==========>]   3.40M  2.31MB/s    in 1.5s    

2021-12-10 04:15:18 (2.31 MB/s) - ‘wget2-2.0.0.tar.gz’ saved [3565643/3565643]

2. Quên Tệp Tải xuống với Tên Khác

Sử dụng -O (chữ hoa), tải xuống các tệp với các tên tệp khác nhau. Ở đây chúng tôi đã đưa ra wget.zip tên tệp như hình dưới đây.

# wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz

--2021-12-10 04:20:19--  http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 446966 (436K) [application/x-gzip]
Saving to: ‘wget.zip’

wget.zip      100%[===================>] 436.49K   510KB/s    in 0.9s    

2021-12-10 04:20:21 (510 KB/s) - ‘wget.zip’ saved [446966/446966]

3. Bỏ qua việc tải xuống nhiều tệp với giao thức HTTP và FTP

Ở đây, chúng tôi thấy cách tải xuống nhiều tệp bằng cách sử dụng HTTPFTP giao thức với wget lệnh cùng một lúc.

$ wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz ftp://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz.sig

--2021-12-10 06:45:17--  http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3565643 (3.4M) [application/x-gzip]
Saving to: ‘wget2-2.0.0.tar.gz’

wget2-2.0.0.tar.gz      100%[==========>]   4.40M  4.31MB/s    in 1.1s    

2021-12-10 06:46:10 (2.31 MB/s) - ‘wget2-2.0.0.tar.gz’ saved [3565643/3565643]

4. Quên tải xuống nhiều tệp từ một tệp

Để tải xuống nhiều tệp cùng một lúc, hãy sử dụng -i tùy chọn với vị trí của tệp chứa danh sách URL sẽ được tải xuống. Mỗi URL cần được thêm vào một dòng riêng biệt như được hiển thị.

See also  10 ví dụ về lệnh sFTP để truyền tệp trên máy chủ từ xa trong Linux

Ví dụ, tệp sau đây ‘download-linux.txt‘tệp chứa danh sách các URL sẽ được tải xuống.

# cat download-linux.txt 

https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.5-x86_64-dvd1.iso
https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-11.2.0-amd64-DVD-1.iso
# wget -i download-linux.txt

--2021-12-10 04:52:40--  https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.248, 91.189.88.247, 91.189.91.124, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.248|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3071934464 (2.9G) [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’

ubuntu-20.04.3-desktop-amd64   4%[=>      ] 137.71M  11.2MB/s    eta 3m 30s
...

Nếu danh sách URL của bạn có một mẫu đánh số cụ thể, bạn có thể thêm dấu ngoặc nhọn để tìm nạp tất cả các URL phù hợp với mẫu. Ví dụ: nếu bạn muốn tải xuống một loạt nhân Linux bắt đầu từ phiên bản 5.1.1 đến 5.1.15, bạn có thể thực hiện như sau.

$ wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.{1..15}.tar.gz

--2021-12-10 05:46:59--  https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz
Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 147.75.95.133, 2604:1380:3000:1500::1
Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.95.133|:443... connected.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not trusted.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not yet activated.
The certificate has not yet been activated
HTTP request sent, awaiting response... 200 OK
Length: 164113671 (157M) [application/x-gzip]
Saving to: ‘linux-5.1.1.tar.gz’

linux-5.1.1.tar.gz      100%[===========>] 156.51M  2.59MB/s    in 61s     

2021-12-10 05:48:01 (2.57 MB/s) - ‘linux-5.1.1.tar.gz’ saved [164113671/164113671]

--2021-12-10 05:48:01--  https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.2.tar.gz
Reusing existing connection to mirrors.edge.kernel.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 164110470 (157M) [application/x-gzip]
Saving to: ‘linux-5.1.2.tar.gz’

linux-5.1.2.tar.gz     19%[===========]  30.57M  2.58MB/s    eta 50s

5. Quên Tiếp tục Tải xuống chưa hoàn thành

Trong trường hợp tải xuống tệp lớn, đôi khi có thể xảy ra tình trạng dừng tải xuống, trong trường hợp đó, chúng tôi có thể tiếp tục tải xuống cùng một tệp mà nó đã bị dừng lại -c lựa chọn.

Nhưng khi bạn bắt đầu tải xuống tệp mà không chỉ định -c một lựa chọn wget sẽ thêm .1 phần mở rộng ở cuối tệp, được coi là bản tải xuống mới. Vì vậy, bạn nên thêm -C chuyển đổi khi bạn tải xuống các tệp lớn.

# wget -c https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso

--2021-12-10 05:27:59--  https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.247, 91.189.91.123, 91.189.91.124, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.247|:443... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 3071934464 (2.9G), 2922987520 (2.7G) remaining [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’

ubuntu-20.04.3-desktop-amd64.iso        5%[++++++> ]   167.93M  11.1MB/s               
^C
[[email protected] ~]# wget -c https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
--2021-12-10 05:28:03--  https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.248, 91.189.91.124, 91.189.91.123, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.248|:443... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 3071934464 (2.9G), 2894266368 (2.7G) remaining [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’

ubuntu-20.04.3-desktop-amd64.iso        10%[+++++++=====> ] 296.32M  17.2MB/s    eta 2m 49s ^

6. Toàn bộ trang web của Wget Mirror

Để tải xuống hoặc sao chép hoặc sao chép toàn bộ trang web để xem ngoại tuyến, bạn có thể sử dụng lệnh sau để tạo bản sao cục bộ của trang web cùng với tất cả nội dung (JavaScript, CSS, Hình ảnh).

$ wget --recursive --page-requisites --adjust-extension --span-hosts --convert-links --restrict-file-names=windows --domains yoursite.com --no-parent yoursite.com

Giải thích lệnh trên.

wget 
     --recursive  # Download the whole site.
     --page-requisites  # Get all assets/elements (CSS/JS/images).
     --adjust-extension  # Save files with .html on the end.
     --span-hosts  # Include necessary assets from offsite as well.
     --convert-links  # Update links to still work in the static version.
     --restrict-file-names=windows  # Modify filenames to work in Windows as well.
     --domains yoursite.com  # Do not follow links outside this domain.
     --no-parent  # Don't follow links outside the directory you pass in.
         yoursite.com/whatever/path # The URL to download

7. Quên Tải xuống Tệp trong Nền

Với -b tùy chọn bạn có thể gửi tải xuống trong nền ngay sau khi bắt đầu tải xuống và nhật ký được ghi bằng wget.log tập tin.

$ wget -b wget.log https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso

Continuing in background, pid 8999.
Output will be written to ‘wget.log’.

8. Wget Đặt giới hạn tốc độ tải xuống tệp

Với tùy chọn --limit-rate=100k, giới hạn tốc độ tải xuống được giới hạn ở 100k và các bản ghi sẽ được tạo trong wget.log như hình bên dưới.

$ wget -c --limit-rate=100k -b wget.log https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso

Continuing in background, pid 9108.
Output will be written to ‘wget-log’.

Xem wget.log và kiểm tra tốc độ tải xuống của tiện ích.

$ tail -f wget-log 

 5600K .......... .......... .......... .......... ..........  0%  104K 8h19m
 5650K .......... .......... .......... .......... ..........  0%  103K 8h19m
 5700K .......... .......... .......... .......... ..........  0%  105K 8h19m
 5750K .......... .......... .......... .......... ..........  0%  104K 8h18m
 5800K .......... .......... .......... .......... ..........  0%  104K 8h18m
 5850K .......... .......... .......... .......... ..........  0%  105K 8h18m
 5900K .......... .......... .......... .......... ..........  0%  103K 8h18m
 5950K .......... .......... .......... .......... ..........  0%  105K 8h18m
 6000K .......... .......... .......... .......... ..........  0% 69.0K 8h20m
 6050K .......... .......... .......... .......... ..........  0%  106K 8h19m
 6100K .......... .......... .......... .......... ..........  0% 98.5K 8h20m
 6150K .......... .......... .......... .......... ..........  0%  110K 8h19m
 6200K .......... .......... .......... .......... ..........  0%  104K 8h19m
 6250K .......... .......... .......... .......... ..........  0%  104K 8h19m
...

9. Quên Tải xuống tệp được bảo vệ bằng mật khẩu qua FTP và HTTP

Để tải xuống tệp từ máy chủ FTP được bảo vệ bằng mật khẩu, bạn có thể sử dụng các tùy chọn --ftp-user=username--ftp-password=password như hình.

$ wget --ftp-user=narad --ftp-password=password ftp://ftp.example.com/filename.tar.gz

Để tải xuống tệp từ máy chủ HTTP được bảo vệ bằng mật khẩu, bạn có thể sử dụng các tùy chọn --http-user=username--http-password=password như hình.

$ wget --http-user=narad --http-password=password http://http.example.com/filename.tar.gz

10. Bỏ qua kiểm tra chứng chỉ SSL

Bỏ qua SSL kiểm tra chứng chỉ trong khi tải tệp xuống HTTPS, bạn có thể dùng --no-check-certificate lựa chọn:

$ wget --no-check-certificate https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz

--2021-12-10 06:21:21--  https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz
Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 147.75.95.133, 2604:1380:3000:1500::1
Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.95.133|:443... connected.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not trusted.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not yet activated.
The certificate has not yet been activated
HTTP request sent, awaiting response... 200 OK
Length: 164113671 (157M) [application/x-gzip]
Saving to: ‘linux-5.1.1.tar.gz’
...

11. Phiên bản Wget và Trợ giúp

Với các tùy chọn --version--help bạn có thể xem phiên bảnCứu giúp khi cần thiết.

$ wget --version
$ wget --help

Trong bài viết này, chúng tôi đã đề cập đến Linux lệnh wget với các tùy chọn cho các công việc hành chính hàng ngày. Làm người đàn ông wget nếu bạn muốn biết thêm về nó. Vui lòng chia sẻ thông qua hộp bình luận của chúng tôi hoặc nếu chúng tôi đã bỏ lỡ bất cứ điều gì, hãy cho chúng tôi biết.

See also  12 lệnh Tcpdump - Công cụ dò tìm mạng

By admin

Leave a Reply