wget常用下載命令


 

wget

wget是一個從網絡上自動下載文件的自由工具,支持通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載,並可以使用HTTP代理。wget名稱的由來是“World Wide Web”與“get”的結合。

 

1、wget下載單個文件

#wget http://domain/file

下載的時候會顯示:文件的大小保存的名稱進度條下載速度時間

root@kali:~# wget https://curl.haxx.se/download/curl-7.54.1.zip
--2017-07-09 03:26:46--  https://curl.haxx.se/download/curl-7.54.1.zip
正在解析主機 curl.haxx.se (curl.haxx.se)... 151.101.74.49
正在連接 curl.haxx.se (curl.haxx.se)|151.101.74.49|:443... 已連接。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:5189701 (4.9M) [application/zip]
正在保存至: “curl-7.54.1.zip”

curl-7.54.1.zip                                  12%[===========>                                                                                         ] 639.25K  30.7KB/s    eta 2m 8s  ^

 

2、指定保存的名稱

#wget -O newName http://domain/file

默認情況wget會用斜杠‘/’后面的字符來命名保存的名稱

root@kali:~# wget http://xiazai.zol.com.cn/down.php?softid=442597&subcateid=1446&site=10&checkStr=066ab9d88b1f0c534&pos=downloader_main&rand=1200a2
正在保存至: “down.php?softid=442597 

顯然這種特殊格式下載地址得出的命名不是我們想要的,即可用-O參數來自定義命名

root@kali:~# wget -O testName http://xiazai.zol.com.cn/down.php?softid=442597&subcateid=1446&site=10&checkStr=066ab9d88b1f0c534&pos=downloader_main&rand=1200a2
[1] 6613
[2] 6614
[3] 6615
[4] 6616
[5] 6617
root@kali:~# --2017-07-09 03:36:20--  http://xiazai.zol.com.cn/down.php?softid=442597
正在解析主機 xiazai.zol.com.cn (xiazai.zol.com.cn)... 123.103.57.124
正在連接 xiazai.zol.com.cn (xiazai.zol.com.cn)|123.103.57.124|:80... 已連接。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:0 [text/html]
正在保存至: “testName”

testName                                            [ <=>                                                                                                 ]       0  --.-KB/s    in 0s      

 

3、斷點續傳

#wget -c http://domain/file

適用於下載大文件或者網絡不好的情況,需要服務器支持斷點續傳

不停重連,直到連接成功
root@kali:~# wget -c https://curl.haxx.se/download/curl-7.54.1.zip

-t參數表示重連次數,表示只重連10次,-t為0時不限制
root@kali:~# wget -c -t 10 https://curl.haxx.se/download/curl-7.54.1.zip

-T參數表示超時等待時間,以秒為單位,表示60秒連不上超時
root@kali:~# wget -c -T 60 https://curl.haxx.se/download/curl-7.54.1.zip

 

4、指定下載速度

#wget --limit-rate=1024k http://domain/file

表示限制速度為1MB/s

root@kali:~# wget --limit-rate=1024k https://curl.haxx.se/download/curl-7.54.1.zip
--2017-07-09 04:05:49--  https://curl.haxx.se/download/curl-7.54.1.zip
正在解析主機 curl.haxx.se (curl.haxx.se)... 151.101.74.49
正在連接 curl.haxx.se (curl.haxx.se)|151.101.74.49|:443... 已連接。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:5189701 (4.9M) [application/zip]
正在保存至: “curl-7.54.1.zip.1”

curl-7.54.1.zip.1                                11%[==========>                                                                                          ] 599.33K  1021.3KB/s    eta 54s    ^

 

5、批量下載

#wget -i download.txt

多個下載鏈接可以分行寫在文本中,實現批量下載

 

6、選擇性下載

#wget -m --accept=jpg http://domain/dir  //--accept參數表示可以接受的文件類型

#wget -m --reject=jpg http://domain/dir  //--reject參數表示拒絕接受的文件類型

或者

#wget -r -A.jpg http://domain/dir  //表示下載所有jpg文件

 

7、后台下載

#wget -b http://domain/file

后台下載時,會在當前目錄中產生wget-log文件

root@kali:~# wget -b https://curl.haxx.se/download/curl-7.54.1.zip
繼續在后台運行,pid 為 6705。
將把輸出寫入至 “wget-log”。
root@kali:~# cat wget-log 
--2017-07-09 04:24:31--  https://curl.haxx.se/download/curl-7.54.1.zip
正在解析主機 curl.haxx.se (curl.haxx.se)... 151.101.74.49
正在連接 curl.haxx.se (curl.haxx.se)|151.101.74.49|:443... 已連接。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:5189701 (4.9M) [application/zip]
正在保存至: “curl-7.54.1.zip.4”

     0K .......... .......... .......... .......... ..........  0% 74.9K 67s
    50K .......... .......... .......... .......... ..........  1% 88.6K 61s
   100K .......... .......... .......... .......... ..........  2% 49.8K 73s

 

8、利用代理服務器下載

如果下載需要經過代理服務器,wget可以通過代理服務器進行下載。

方法一、在環境變量中設置代理

export http_proxy=0.0.0.0:8080

方法二、使用配置文件

可以直接修改/etc/wgetrc,也可以當前目錄下創建.wgetrc文件,配置代理服務器

https-proxy = 0.0.0.0:8080     //https代理服務器
http-proxy = 0.0.0.0:8080     //http代理服務器
ftp-proxy = 0.0.0.0:8080    //ftp代理服務器
use_proxy = on  //開啟代理

這里 use_proxy = on 開啟了代理,如果不想使用代理,每次都修改此文件太麻煩,我們可以在命令中使用-Y參數來臨時設置:

-Y, --proxy=on/off           打開或關閉代理

方法三、使用-e參數

適用於臨時代理

-e參數表示運行一個“.wgetrc”風格的命令
#wget -e "http-proxy=0.0.0.0:8080" http://domain/file

注意:如果代理服務器需要密碼則使用

--proxy-user=代理用戶 
--proxy-passwd=代理密碼

 

9、測試下載地址是否有效

#wget --spider DOWNLOAD-URL

正確的下載地址會顯示

root@kali:~# wget --spider https://curl.haxx.se/download/curl-7.54.1.zip
打開 Spider 模式。檢查是否存在遠程文件。
--2017-07-09 04:53:33--  https://curl.haxx.se/download/curl-7.54.1.zip
正在解析主機 curl.haxx.se (curl.haxx.se)... 151.101.78.49
正在連接 curl.haxx.se (curl.haxx.se)|151.101.78.49|:443... 已連接。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:5189701 (4.9M) [application/zip]
存在遠程文件。

無效的下載地址會顯示

root@kali:~# wget --spider https://curl.haxx.se/download/xxx.zip
打開 Spider 模式。檢查是否存在遠程文件。
--2017-07-09 04:53:45--  https://curl.haxx.se/download/xxx.zip
正在解析主機 curl.haxx.se (curl.haxx.se)... 151.101.78.49
正在連接 curl.haxx.se (curl.haxx.se)|151.101.78.49|:443... 已連接。
已發出 HTTP 請求,正在等待回應... 404 Not Found
遠程文件不存在 -- 鏈接失效!!!

 

10、FTP下載

匿名FTP

wget ftp-url

需登陸認證的FTP

wget --ftp-user=USERNAME --ftp-password=PASSWORD DOWNLOAD-URL

 

11、針對提示沒有認證不允許下載

wget --no-check-certificate DOWNLOAD-URL  //不要驗證服務器的證書。

 

12、下載一個完整的網站

適用於完整下載一個網站用於本地瀏覽

wget --mirror -p --convert-links -P LOCAL-DIR WEBSITE-URL


--mirror:打開鏡像選項
-p:下載所有用於顯示給定網址所必須的文件
--convert-links:下載以后,轉換鏈接用於本地顯示
-P LOCAL_DIR:保存所有的文件或目錄到指定的目錄下

 

待更新。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM