Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 命令列下載神器:wget 參數詳解、斷點續傳、鏡像站點遞歸與自動化腳本整合

編輯:Linux 教學

wget(Web Get)是非互動式網路下載工具,支援 HTTP/HTTPS/FTP、斷點續傳、遞歸鏡像、頻寬限制、代理穿透,是伺服器端自動化下載、備份、鏡像的首選。本文詳解核心參數、五大實戰場景與腳本整合範例。

一、 核心參數速查表

參數功能典型場景
-c斷點續傳大檔案、不穩定網路
-b背景下載長時間任務、SSH 斷線不中斷
-q靜默模式腳本整合、cron 任務
-O FILE指定輸出檔名URL 無檔名/需重命名
-P DIR指定儲存目錄集中管理下載檔案
--limit-rate=RATE限速避免佔滿頻寬
-r / -l DEPTH遞歸下載/深度限制鏡像網站、下載目錄樹
-np不追蹤父目錄限制在指定目錄下
-A/-R LIST接受/拒絕檔案型態只下載 pdf、圖片等
--user=USER --password=PASSHTTP/FTP 認證私有資源下載
--proxy=on/off啟用/停用代理內網環境穿透
--no-check-certificate忽略 SSL 憑證驗證自簽憑證測試環境

二、 五大實戰場景

1. 核心原始碼斷點續傳下載

wget -c https://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.26.bz2
# 網路中斷後重跑同指令,自動從中斷處續傳

2. 整站鏡像(離線瀏覽/備份)

wget -r -l 3 -np -k -p -E -U "Mozilla/5.0" \
     -P /backup/www.example.com \
     https://www.example.com/docs/
# -r 遞歸 -l 3 三層深度 -np 不上溯父目錄
# -k 轉換連結為相對路徑 -p 下載頁面依賴資源
# -E 修正 HTML 副檔名 -U 偽裝 User-Agent

3. 批次下載特定型態檔案

wget -r -l 2 -A "*.pdf,*.doc,*.xls" -P /downloads \
     https://intranet.company.com/reports/

4. 背景下載大檔案並記錄日誌

wget -bqc --limit-rate=1m -o /var/log/wget_bigfile.log \
     -O /data/bigfile.iso \
     https://mirror.site/bigfile.iso
# -b 背景 -q 靜默 -c 續傳 -o 日誌檔 -O 指定輸出名

5. FTP 目錄樹完整鏡像

wget -m --ftp-user=backup --ftp-password=xxx \
     ftp://backup.server.com/daily/
# -m 鏡像模式 = -r -l inf -N -nr

三、 自動化腳本整合範例

#!/bin/bash
# daily_download.sh - 每日定時下載報表
URL="https://intranet/reports/daily_$(date +%F).pdf"
DEST="/data/reports"
LOG="/var/log/daily_download.log"

wget -qc --timeout=30 --tries=3 \
     -P "$DEST" \
     -o "$LOG" \
     "$URL"

if [ $? -eq 0 ]; then
    echo "$(date) DOWNLOAD OK" >> "$LOG"
else
    echo "$(date) DOWNLOAD FAILED" >> "$LOG"
    # 可接發送告警郵件/Slack
fi

加入 crontab:0 2 * * * /scripts/daily_download.sh(每天 02:00 執行)。

四、 進階替代工具:curl / aria2

  • curl:支援更豐富協定、雙向互動、API 測試首選。
  • aria2:多埠多線程、金屬鏈、BitTorrent/Metalink 支援,大檔案下載極速王者。

五、 結語

wget 以「堅韌、可腳本化、無需互動」三大特質,成為 Linux 伺服器端下載的基石。掌握 -c 續傳、-r 遞歸、-b 背景、-o 日誌、-A 過濾五大核心參數組合,即能應對 95% 的自動化下載需求。搭配 cron、systemd timer、監控告警,構建「下載-驗證-入庫-通知」全自動化管線。

Copyright © Windows教程網 All Rights Reserved