Wget 是一個用于從網絡上下載文件的命令行工具
sudo apt-get update
sudo apt-get install wget
wget
命令進行多線程下載。-P
參數指定下載文件的目錄,-c
參數表示斷點續傳,-t
參數表示重試次數,--limit-rate
參數限制下載速度,--no-check-certificate
參數忽略 SSL 證書驗證,--header
參數設置 HTTP 頭部信息,例如 User-Agent 和 Range。下面是一個示例命令,用于從 URL 下載文件并將其保存到 /path/to/destination/
目錄:
wget -P /path/to/destination/ -c -t 3 --limit-rate=200k --no-check-certificate --header="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" --header="Range: bytes=0-100000" "https://example.com/file.zip"
注意:Range: bytes=0-100000
表示從字節 0 開始下載 100KB 的文件。你可以根據需要調整這個值。
multithread_wget.sh
的文件,并將以下內容復制到其中:#!/bin/bash
url="https://example.com/file.zip"
output="/path/to/destination/file.zip"
threads=5
chunk_size=100000
file_size=$(curl -sI $url | grep -i Content-Length | awk '{print $2}')
for i in $(seq 1 $threads); do
start=$(( (i-1)*chunk_size ))
end=$(( i*chunk_size-1 ))
if [ $i -eq $threads ]; then
end=$(( file_size-1 ))
fi
wget -c -t 3 --limit-rate=200k --no-check-certificate --header="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" --header="Range: bytes=$start-$end" -O "${output}.part$i" "$url" &
done
wait
cat ${output}.part* > $output
rm ${output}.part*
url
和 output
變量,然后運行腳本:chmod +x multithread_wget.sh
./multithread_wget.sh
這個腳本會將文件分成多個部分并使用多個線程下載。下載完成后,它會將所有部分合并成一個文件。你可以根據需要調整線程數和每個線程的下載大小。