wget 詳解
- wget 詳解
- 基本用法:
- 命令參數:
- 遞歸下載:
- 斷點續傳:
- 限速下載:
- 后臺下載:
- 示例
wget 詳解
wget
(Web Get)是一個用于從網絡上下載文件的命令行工具,常用于在 Linux 和類Unix系統中。它支持HTTP、HTTPS和FTP等協議,能夠遞歸下載、斷點續傳、限速下載等功能,使其成為一個強大而靈活的下載工具。下面是一些 wget
的常見用法和功能:
基本用法:
命令格式:
wget [options] [URL]
- 下載文件:
wget URL
,將從給定的URL下載文件。 - 下載到指定目錄:
wget URL -P /path/to/directory
,將文件下載到指定目錄。
命令參數:
以下是 wget
常用的參數分類:
啟動參數:
-V
,--version
: 顯示wget
版本信息。-h
,--help
: 顯示幫助信息。-b
,–background
, 啟動后轉入后臺執行。-e
,–execute=COMMAND
, 執行`.wgetrc’格式的命令,wgetrc格式參見/etc/wgetrc或~/.wgetrc。
記錄和輸入文件參數:
-
-o
,--output-file=FILE
: 將日志信息寫入指定文件。 -
-a
,--append-output=FILE
: 將日志信息追加到指定文件。 -
-d
,–debug
, 打印調試輸出。 -
-q
,–quiet
, 安靜模式(沒有輸出) -
-v
,–verbose
, 冗長模式(這是缺省設置) -
-nv
,–non-verbose
關掉冗長模式,但不是安靜模式。 -
-i
,–input-file=FILE
下載在FILE文件中出現的URLs -
-F
,–force-html
把輸入文件當作HTML格式文件對待 -
-B
,–base=URL
將URL作為在-F -i參數指定的文件中出現的相對鏈接的前綴sslcertfile=FILE
可選客戶端證書–sslcertkey=KEYFILE
可選客戶端證書的KEYFILE–egd-file=FILE
指定EGD socket的文件名
下載參數:
-N
,--timestamping
: 如果本地文件存在且時間戳較新,則不重新下載文件。-nc
,--no-clobber
: 不覆蓋已存在的文件。-c
,--continue
: 斷點續傳,從上次下載停止的地方繼續下載。-P
,--directory-prefix=PREFIX
: 指定文件保存的目錄前綴。-O
,--output-document=FILE
: 將下載的文件保存為指定的文件名。--limit-rate=RATE
: 限制下載速率,例如--limit-rate=100k
表示限制下載速率為100KB/s。
目錄參數:
-nd
,--no-directories
: 不創建目錄,將所有文件保存在當前目錄。-x
,--force-directories
: 強制創建目錄,保持遠程服務器的目錄結構。-nH
,--no-host-directories
: 不創建主機名目錄。
HTTP 選項參數:
--http-user=USER
: 指定 HTTP 用戶名。--http-passwd=PASS
: 指定 HTTP 密碼。--header=STRING
: 在 HTTP 請求頭中添加自定義字符串。--referer=URL
: 在 HTTP 請求中包含 Referer 頭。
FTP 選項參數:
--ftp-user=USER
: 指定 FTP 用戶名。--ftp-passwd=PASS
: 指定 FTP 密碼。--passive-ftp
: 使用被動 FTP 模式。--active-ftp
: 使用主動 FTP 模式。
遞歸下載參數:
-r
,--recursive
: 遞歸下載,下載指定 URL 及其鏈接中的所有文件。-l
,--level=NUMBER
: 限定遞歸深度。-k
,--convert-links
: 轉換非相對鏈接為相對鏈接,便于本地瀏覽。
遞歸下載中的包含和不包含(accept/reject):
-A
,--accept=LIST
: 僅下載匹配列表中擴展名的文件。-R
,--reject=LIST
: 排除下載匹配列表中擴展名的文件。
其他參數:
-t
,--tries=NUMBER
: 設定最大嘗試鏈接次數。-T
,--timeout=SECONDS
: 設定響應超時的秒數。-w
,--wait=SECONDS
: 兩次嘗試之間的等待時間。--waitretry=SECONDS
: 在重新鏈接之間等待的時間。--random-wait
: 在下載之間隨機等待一段時間。
以上僅是一些常見的 wget
命令參數和選項的解釋。根據需要,可以選擇適當的參數來定制 wget
的下載行為。可以使用 man wget
命令在終端中查看完整的 wget
手冊頁,以獲取更詳細的信息。
遞歸下載:
wget
支持遞歸下載整個網站或目錄。
- 遞歸下載整個網站:
wget --recursive URL
,會下載網站中所有鏈接的文件。 - 遞歸下載并限制深度:
wget --recursive --level=depth URL
,下載鏈接并限制下載深度。 - 排除某些文件類型:
wget --recursive --reject=txt URL
,排除指定文件類型。
斷點續傳:
wget
可以在下載中斷后繼續下載,而無需重新下載整個文件。
- 斷點續傳:
wget --continue URL
,會繼續上次未完成的下載。
限速下載:
你可以限制下載速度,以防止過多占用帶寬。
- 限制下載速度:
wget --limit-rate=100k URL
,限制下載速度為100KB/s。
后臺下載:
如果你想讓下載在后臺進行,可以使用 nohup
命令。
- 后臺下載:
nohup wget URL &
,將下載在后臺進行,不會受到終端關閉的影響。
這些只是 wget
命令的一些用法示例。wget
還有許多其他選項和功能,你可以使用 man wget
命令在終端中查看完整的手冊頁面,了解更多詳細信息。
示例
實例1:使用 wget
下載單個文件:
wget http://example.com/file.txt
實例2:使用 wget -O
下載并以不同的文件名保存:
wget -O output.txt http://example.com/file.txt
實例3:使用 wget --limit-rate
限速下載:
wget --limit-rate=100k http://example.com/large-file.zip
實例4:使用 wget -c
斷點續傳:
wget -c http://example.com/large-file.zip
實例5:使用 wget -b
后臺下載:
wget -b http://example.com/large-file.zip
實例6:偽裝代理名稱下載:
wget --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" http://example.com/file.txt
實例7:使用 wget --spider
測試下載鏈接:
wget --spider http://example.com/file.txt
實例8:使用 wget --tries
增加重試次數:
wget --tries=3 http://example.com/unstable-file.zip
實例9:使用 wget -i
下載多個文件:
wget -i urls.txt
其中,urls.txt
包含要下載的多個URL。
實例10:使用 wget --mirror
鏡像網站:
wget --mirror http://example.com/
實例11:使用 wget --reject
過濾指定格式下載:
wget --reject=jpg,png http://example.com/images/
實例12:使用 wget -o
將下載信息存入日志文件:
wget -o download.log http://example.com/large-file.zip
實例13:使用 wget -Q
限制總下載文件大小:
wget -Q100m http://example.com/large-file.zip
實例14:使用 wget -r -A
下載指定格式文件:
wget -r -A pdf http://example.com/documents/
實例15:使用 wget
進行 FTP 下載:
wget ftp://example.com/file.txt
實例16:下載文件并保留遠程文件名:
wget --content-disposition http://example.com/download/file.zip
實例17:下載文件并跳過 SSL 驗證:
wget --no-check-certificate https://example.com/secure-file.zip
實例18:下載并使用代理服務器:
wget --proxy=http://proxy.example.com:8080 http://example.com/file.txt
實例19:限制遞歸下載深度:
wget --recursive --level=2 http://example.com/
實例20:排除下載指定鏈接:
wget --recursive --reject=gif,png,jpg http://example.com/images/
實例21:同時下載多個文件并使用通配符:
wget http://example.com/file[1-5].txt
實例22:從鏈接文件下載多個文件:
如果有一個 urls.txt
文件,包含多個下載鏈接,可以使用以下命令:
wget -i urls.txt
實例23:從用戶名和密碼保護的目錄下載文件:
wget --http-user=username --http-password=password http://example.com/protected/file.txt
實例24:使用 wget
下載并解壓文件:
wget http://example.com/archive.tar.gz && tar -zxvf archive.tar.gz
實例25:使用 wget
下載并解壓壓縮包到指定目錄:
wget http://example.com/archive.tar.gz -O - | tar -zxvf - -C /path/to/directory
實例26:使用 wget
下載文件并指定本地綁定地址:
wget --bind-address=192.168.1.2 http://example.com/file.txt
實例27:使用 wget
設定最大嘗試鏈接次數:
wget -t 5 http://example.com/file.txt
實例28:使用 wget
將文件寫入指定文件:
wget -O output.txt http://example.com/file.txt
實例29:使用 wget
不覆蓋已存在文件:
wget -nc http://example.com/file.txt
實例30:使用 wget
接著下載未完成的文件:
wget -c http://example.com/large-file.zip
實例31:使用 wget
顯示下載進度條:
wget --progress=bar http://example.com/file.txt
實例32:使用 wget
設定響應超時時間:
wget -T 30 http://example.com/file.txt
實例33:使用 wget
兩次嘗試之間間隔等待時間:
wget -w 5 http://example.com/file.txt
實例34:使用 wget
在重新鏈接之間等待指定時間:
wget --waitretry=10 http://example.com/file.txt
實例35:使用 wget
在下載之間隨機等待一段時間:
wget --random-wait http://example.com/file.txt
實例36:使用 wget
打開代理:
wget --proxy=on http://example.com/file.txt
實例37:使用 wget
設定下載容量限制:
wget -Q 100M http://example.com/large-file.zip