什麼是wget
wget用原始幫助裡面的英文來講就是:The non-interactive network downloader,非互動式網路下載器。它支援HTTP、HTTPS、FTP等協議,同時也支援基於HTTP代理的下載。其他主要特點如下所示:
- 可以工作於後臺,而不需要登入到系統
- 可以跟蹤HTML、XHTML、CSS等檔案,從而將伺服器上的頁面下載到本地進行離線瀏覽。
- 支援慢速和不穩定網路下的下載和連線。
常用語法
wget [選項] [URL]
常用選項引數如下所示:
選項 | 說明 |
---|---|
-V,–version | 顯示版本資訊 |
-h,–help | 顯示幫助資訊 |
-b,–backgroup | 以後臺形式進行執行 |
-e command,–execute command | 如果命令屬於.wgetrc,則執行命令 |
-o logfile,–output-file=logfile | 將日誌列印到檔案中 |
-a logfile,–append-output=logfile | 追加日誌到檔案中 |
-q,–quiet | 靜默模式,關閉wget的輸出資訊 |
-v,–verbose | 顯示詳細的資訊,wget預設模式 |
-i file,–inpu-file=file | 從檔案中讀取URL下載地址 |
-B URL,–base=URL | 設定連線的相對URL地址 |
–bind-address=ADDRESS | 設定連線的IP地址或主機名 |
-t number,–tries=number | 設定重試次數,0和inf則代表一直重試,預設值為20 |
-O file,–output-document=file | 將下載檔案中的內容儲存到本地檔案中 |
-nc,–no-clobber | 如果下載檔案已經存在,則不下載 |
-c,–continue | 繼續執行上次的下載任務 |
-N,–timestamping | 增加時間戳 |
-S,–server-response | 列印HTTP、FTP頭部資訊 |
-T seconds,–timeout=seconds | 設定超時時間 |
–limit-rate=amount | 限制下載速度 |
-X | 設定下載排除項 |
-r,–recursive | 遞迴下載檔案 |
-nH, –no-host-directories | 禁止建立以域名命令的資料夾 |
–cut-dirs=number | 忽略下載地址中的層次目錄 |
配置檔案
要想好好使用wget命令,還是先了解一下wget隱藏的一些潛規則,位置在:
- /etc/wgetrc
- 家目錄中的.wgetrc
1、wget命令有一些選項可以使用逗號進行隔開,如-X可以設定排除項,如果僅僅是一次,則無所謂,但如果長期均不需要下載這些目錄,則可以將這些排除項新增.wgetrc配置檔案中
exclude_directories=test,tmp,temp
2、在第一種情況下,突然又想下載這些檔案時,可以去掉配置檔案中設定,也可以採用以下的方法:
wget -r -X `` ftp://192.168.8.8
常用示例
1、下載檔案:
[root@localhost ]# wget https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/logo_redBlue_32fe2c69.png
--2018-07-28 19:55:17-- https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/logo_redBlue_32fe2c69.png
正在解析主機 ss0.bdstatic.com (ss0.bdstatic.com)... 180.163.198.32
正在連線 ss0.bdstatic.com (ss0.bdstatic.com)|180.163.198.32|:443... 已連線。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:8618 (8.4K) [image/png]
正在儲存至: “logo_redBlue_32fe2c69.png”
100%[=============================================================================================================================>] 8,618 --.-K/s 用時 0.002s
2018-07-28 19:55:17 (3.80 MB/s) - 已儲存 “logo_redBlue_32fe2c69.png” [8618/8618])
2、下載目錄和後臺執行
[root@localhost test]# wget -r -b https://mirrors.aliyun.com/centos/7.5.1804/atomic/x86_64/adb/
繼續在後臺執行,pid 為 26252。
將把輸出寫入至 “wget-log”。
[root@localhost test]# ll
總用量 4
drwxr-xr-x 3 root root 38 7月 28 20:14 mirrors.aliyun.com
-rw-r--r-- 1 root root 1257 7月 28 20:14 wget-log
[root@localhost test]# cat wget-log
--2018-07-28 20:14:11-- https://mirrors.aliyun.com/centos/7.5.1804/atomic/x86_64/adb/
正在解析主機 mirrors.aliyun.com (mirrors.aliyun.com)... 180.163.155.11, 180.163.155.8, 180.163.155.9, ...
正在連線 mirrors.aliyun.com (mirrors.aliyun.com)|180.163.155.11|:443... 已連線。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:3518 (3.4K) [text/html]
正在儲存至: “mirrors.aliyun.com/centos/7.5.1804/atomic/x86_64/adb/index.html”
3、禁止生成下載地址中的多級目錄
[root@localhost test]# wget -b -r -nH --cut-dir=6 https://mirrors.aliyun.com/centos/7.5.1804/atomic/x86_64/adb/
繼續在後臺執行,pid 為 34849。
將把輸出寫入至 “wget-log”。
[root@localhost test]# ll
總用量 12
-rw-r--r-- 1 root root 3518 7月 28 20:25 index.html
-rw-r--r-- 1 root root 295 10月 31 2017 robots.txt
-rw-r--r-- 1 root root 1113 7月 28 20:25 wget-log
下載目錄路徑如下所示:
情況 | 結果 |
---|---|
-r | mirrors.aliyun.com/centos/7.5.1804/atomic/x86_64/adb/ |
-nH | centos/7.5.1804/atomic/x86_64/adb/ |
-nH –cut-dir=1 | centos/7.5.1804/atomic/x86_64/adb/ |
-nH –cut-dir=4 | adb/ |
-nH –cut-dir=6 | . |
4、將下載的檔案儲存到本地檔案中
[root@localhost test]# wget -t 2 -o log.txt https://mirrors.aliyun.com/centos/7.5.1804/isos/x86_64/sha256sum.txt -O test.txt
[root@localhost test]# ll
總用量 8
-rw-r--r-- 1 root root 554 7月 28 20:37 log.txt
-rw-r--r-- 1 root root 598 5月 10 03:59 test.txt
[root@localhost test]# cat log.txt
--2018-07-28 20:37:28-- https://mirrors.aliyun.com/centos/7.5.1804/isos/x86_64/sha256sum.txt
正在解析主機 mirrors.aliyun.com (mirrors.aliyun.com)... 180.163.155.9, 180.163.155.10, 180.163.155.11, ...
正在連線 mirrors.aliyun.com (mirrors.aliyun.com)|180.163.155.9|:443... 已連線。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:598 [text/plain]
正在儲存至: “test.txt”
0K 100% 175M=0s
2018-07-28 20:37:28 (175 MB/s) - 已儲存 “test.txt” [598/598])
[root@localhost test]# cat test.txt
506e4e06abf778c3435b4e5745df13e79ebfc86565d7ea1e128067ef6b5a6345 CentOS-7-x86_64-DVD-1804.iso
b346daae2a93caed88e822e722e7284c648f9919d475ff98489b424350f99a45 CentOS-7-x86_64-LiveGNOME-1804.iso
040ddfb27d30e48efad8709c9df946202cec169077c843fd2cbe8d802187ff8e CentOS-7-x86_64-LiveKDE-1804.iso
714acc0aefb32b7d51b515e25546835e55a90da9fb00417fbee2d03a62801efd CentOS-7-x86_64-Minimal-1804.iso
99723c8b87dcec21df8aed23de1eb810346d42cfd2a3fafafe70a68296053417 CentOS-7-x86_64-Everything-1804.iso
937bf0a7b0932817f84f7230f15ed88911bbbd85c0c958680792b7f8d8f9c1a9 CentOS-7-x86_64-NetInstall-1804.iso
本文同步在微信訂閱號上釋出,如各位小夥伴們喜歡我的文章,也可以關注我的微信訂閱號:woaitest,或掃描下面的二維碼新增關注: