在 Linux 中,wget 主要用于下載檔案,是包含在 GNU 計劃中的軟體,支持通過 HTTP、HTTPS,以及 FTP 協議下載,
語法格式如下:
wget [option]... [URL]...
option 表示引數,URL 表示下載檔案的鏈接,
一、常用引數
-b, --background : 進入后臺下載;
-o logfile, --output-file=logfile : 將命令執行資訊輸出到日志檔案;
-O file, --output-document=file : 修改下載檔案名;
-P prefix, --directory-prefix=prefix : 下載檔案到指定目錄下;
-i file, --input-file=file : 下載檔案中鏈接指向的檔案;
-c, --continue : 斷點續傳;
二、實體
2.1 不帶引數
可以不帶引數直接下載檔案,檔案存盤到當前目錄,
linuxy@linuxy:~/wget$ wget http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
--2021-06-05 22:34:46-- http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
正在決議主機 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.142, 91.189.88.152, 2001:67c:1360:8001::24, ...
正在連接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.142|:80... 已連接,
已發出 HTTP 請求,正在等待回應... 200 OK
長度: 37756 (37K) [application/x-debian-package]
正在保存至: “acl_2.2.53-6_amd64.deb”
acl_2.2.53-6_amd64.deb 100%[==========================================================>] 36.87K 98.6KB/s 用時 0.4s
2021-06-05 22:34:47 (98.6 KB/s) - 已保存 “acl_2.2.53-6_amd64.deb” [37756/37756])
linuxy@linuxy:~/wget$ ls
acl_2.2.53-6_amd64.deb
linuxy@linuxy:~/wget$
如果當前目錄下已存在同名檔案,則為新檔案添加 ".N" 后綴,如下所示:
linuxy@linuxy:~/wget$ wget http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
--2021-06-05 22:56:45-- http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
正在決議主機 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.152, 91.189.88.142, 2001:67c:1360:8001::23, ...
正在連接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.152|:80... 已連接,
已發出 HTTP 請求,正在等待回應... 200 OK
長度: 37756 (37K) [application/x-debian-package]
正在保存至: “acl_2.2.53-6_amd64.deb.1”
acl_2.2.53-6_amd64.deb.1 100%[==========================================================>] 36.87K 34.4KB/s 用時 1.1s
2021-06-05 22:56:48 (34.4 KB/s) - 已保存 “acl_2.2.53-6_amd64.deb.1” [37756/37756])
linuxy@linuxy:~/wget$ ls
acl_2.2.53-6_amd64.deb acl_2.2.53-6_amd64.deb.1
linuxy@linuxy:~/wget$
acl 第二次下載后重命名為 acl_2.2.53-6_amd64.deb.1,
2.2 -o 引數
linuxy@linuxy:~/wget$ wget -o wget-log-new http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
linuxy@linuxy:~/wget$ ls
acl_2.2.53-6_amd64.deb wget-log-new
linuxy@linuxy:~/wget$
將命令輸出資訊存盤到指定檔案,命令列界面瞬間清爽啦!
2.3 -b 引數
linuxy@linuxy:~$ wget -b http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
繼續在后臺運行,pid 為 3300,
將把輸出寫入至 “wget-log”,
轉到后臺下載,下載后存盤到當前目錄,如果沒有指定 -o 引數,命令輸出資訊將保存到當前目錄下 wget-log 檔案中,
2.4 -O 引數
linuxy@linuxy:~/wget$ wget -O acl.deb http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
--2021-06-05 21:51:15-- http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
正在決議主機 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.152, 91.189.88.142, 2001:67c:1360:8001::23, ...
正在連接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.152|:80... 已連接,
已發出 HTTP 請求,正在等待回應... 200 OK
長度: 37756 (37K) [application/x-debian-package]
正在保存至: “acl.deb”
acl.deb 100%[==========================================================>] 36.87K 41.0KB/s 用時 0.9s
2021-06-05 21:51:17 (41.0 KB/s) - 已保存 “acl.deb” [37756/37756])
linuxy@linuxy:~/wget$ ls
acl.deb
linuxy@linuxy:~/wget$
將下載的檔案重命名為 acl.deb,
2.5 -P 引數
將檔案下載到指定目錄下,如下所示:
linuxy@linuxy:~/wget$ wget -P /tmp http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
--2021-06-05 23:03:22-- http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
正在決議主機 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.152, 91.189.88.142, 2001:67c:1360:8001::24, ...
正在連接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.152|:80... 已連接,
已發出 HTTP 請求,正在等待回應... 200 OK
長度: 37756 (37K) [application/x-debian-package]
正在保存至: “/tmp/acl_2.2.53-6_amd64.deb”
acl_2.2.53-6_amd64.deb 100%[==========================================================>] 36.87K 20.1KB/s 用時 1.8s
2021-06-05 23:03:26 (20.1 KB/s) - 已保存 “/tmp/acl_2.2.53-6_amd64.deb” [37756/37756])
linuxy@linuxy:~/wget$ ls -l /tmp/acl_2.2.53-6_amd64.deb
-rw-rw-r-- 1 linuxy linuxy 37756 3月 10 2020 /tmp/acl_2.2.53-6_amd64.deb
linuxy@linuxy:~/wget$ ls
linuxy@linuxy:~/wget$
檔案被下載到 /tmp 目錄下,
2.6 -c 引數
斷點續傳指的是從上次已經下載的地方繼續下載,不用重新下載,需要服務器支持斷點續傳功能,
使用 wget 下載 vim,下載到 61% 的時候中斷下載,如下所示:
linuxy@linuxy:~/wget$ wget -c http://archive.ubuntu.com/ubuntu/pool/main/v/vim/vim_8.1.2269-1ubuntu5_amd64.deb
--2021-06-05 22:41:18-- http://archive.ubuntu.com/ubuntu/pool/main/v/vim/vim_8.1.2269-1ubuntu5_amd64.deb
正在決議主機 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.152, 91.189.88.142, 2001:67c:1360:8001::24, ...
正在連接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.152|:80... 已連接,
已發出 HTTP 請求,正在等待回應... 206 Partial Content
長度: 1237624 (1.2M),剩余 1224077 (1.2M) [application/x-debian-package]
正在保存至: “vim_8.1.2269-1ubuntu5_amd64.deb”
vim_8.1.2269-1ubuntu5_amd64.deb 61%[===================================> ] 745.06K 16.8KB/s 剩余 27s
然后,再次下載,第二次下載從上次 61% 處繼續下載,如下所示:
linuxy@linuxy:~/wget$ wget -c http://archive.ubuntu.com/ubuntu/pool/main/v/vim/vim_8.1.2269-1ubuntu5_amd64.deb
--2021-06-05 22:42:04-- http://archive.ubuntu.com/ubuntu/pool/main/v/vim/vim_8.1.2269-1ubuntu5_amd64.deb
正在決議主機 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.152, 91.189.88.142, 2001:67c:1360:8001::24, ...
正在連接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.152|:80... 已連接,
已發出 HTTP 請求,正在等待回應... 206 Partial Content
長度: 1237624 (1.2M),剩余 471355 (460K) [application/x-debian-package]
正在保存至: “vim_8.1.2269-1ubuntu5_amd64.deb”
vim_8.1.2269-1ubuntu5_amd64.deb 100%[++++++++++++++++++++++++++++++++++++======================>] 1.18M 25.4KB/s 用時 17s
2021-06-05 22:42:22 (27.1 KB/s) - 已保存 “vim_8.1.2269-1ubuntu5_amd64.deb” [1237624/1237624])
linuxy@linuxy:~/wget$
已經下載的 61% 標注為 “+”,
2.7 -i 下載多個檔案
linuxy@linuxy:~/wget$ cat download
http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
http://ports.ubuntu.com/pool/main/c/curl/curl_7.68.0-1ubuntu2_arm64.deb
linuxy@linuxy:~/wget$ wget -i download
--2021-06-05 22:04:37-- http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.53-6_amd64.deb
正在決議主機 archive.ubuntu.com (archive.ubuntu.com)... 91.189.88.152, 91.189.88.142, 2001:67c:1360:8001::24, ...
正在連接 archive.ubuntu.com (archive.ubuntu.com)|91.189.88.152|:80... 已連接,
已發出 HTTP 請求,正在等待回應... 200 OK
長度: 37756 (37K) [application/x-debian-package]
正在保存至: “acl_2.2.53-6_amd64.deb”
acl_2.2.53-6_amd64.deb 100%[==========================================================>] 36.87K 20.3KB/s 用時 19s
2021-06-05 22:05:00 (1.92 KB/s) - 已保存 “acl_2.2.53-6_amd64.deb” [37756/37756])
--2021-06-05 22:05:00-- http://ports.ubuntu.com/pool/main/c/curl/curl_7.68.0-1ubuntu2_arm64.deb
正在決議主機 ports.ubuntu.com (ports.ubuntu.com)... 91.189.91.39, 91.189.91.38, 2001:67c:1562::18, ...
正在連接 ports.ubuntu.com (ports.ubuntu.com)|91.189.91.39|:80... 已連接,
已發出 HTTP 請求,正在等待回應... 200 OK
長度: 156608 (153K) [application/x-debian-package]
正在保存至: “curl_7.68.0-1ubuntu2_arm64.deb”
curl_7.68.0-1ubuntu2_arm64.deb 100%[==========================================================>] 152.94K 33.2KB/s 用時 12s
2021-06-05 22:05:14 (12.5 KB/s) - 已保存 “curl_7.68.0-1ubuntu2_arm64.deb” [156608/156608])
下載完畢 --2021-06-05 22:05:14--
總用時:37s
下載了:2 個檔案,31s (6.04 KB/s) 中的 190K
linuxy@linuxy:~/wget$
wget 后直接添加多個鏈接也可以實作一次下載多個檔案,但是這樣太麻煩啦!
使用 -i 引數,可以將多個鏈接存盤到檔案中,一次下載檔案中的所有鏈接指向的檔案,
三、總結
wget 是一個常用的 Linux 命令,常用的功能包括下載檔案、下載多個檔案、斷點續傳、后臺下載等,
參考文獻:
[1] https://www.jianshu.com/p/59bb131bc2ab
[2] https://linuxize.com/post/wget-command-examples/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/286511.html
標籤:其他
上一篇:【Linux | 搭建環境】Mac環境下,使用 VMware Fusion安裝并配置 CentOS,并配置靜態 IP
