如何使用lftp來加速ftp/https下載速度
lftp 是一個(gè)文件傳輸程序。它可以用于復(fù)雜的 FTP、 HTTP/HTTPS 和其他連接。如果指定了站點(diǎn) URL,那么 lftp 將連接到該站點(diǎn),否則會(huì)使用 open 命令建立連接。它是所有 Linux/Unix 命令行用戶的必備工具。我目前寫了一些關(guān)于 Linux 下超快命令行下載加速器,比如 Axel 和 prozilla。lftp 是另一個(gè)能做相同的事,但有更多功能的工具。lftp 可以處理幾種文件訪問方式:
- ftp
- ftps
- http
- https
- hftp
- fish
- sftp
- file
那么 lftp 的獨(dú)特之處是什么?
lftp中的每個(gè)操作都是可靠的,即任何非致命錯(cuò)誤都被忽略,并且重復(fù)進(jìn)行操作。所以如果下載中斷,它會(huì)自動(dòng)重新啟動(dòng)。即使 FTP 服務(wù)器不支持REST命令,lftp 也會(huì)嘗試從開頭檢索文件,直到文件傳輸完成。lftp具有類似 shell 的命令語(yǔ)法,允許你在后臺(tái)并行啟動(dòng)多個(gè)命令。lftp有一個(gè)內(nèi)置的鏡像功能,可以下載或更新整個(gè)目錄樹。還有一個(gè)反向鏡像功能(mirror -R),它可以上傳或更新服務(wù)器上的目錄樹。鏡像也可以在兩個(gè)遠(yuǎn)程服務(wù)器之間同步目錄,如果可用的話會(huì)使用 FXP。
如何使用 lftp 作為下載加速器
lftp 有 pget 命令。它能讓你并行下載。語(yǔ)法是:
lftp -e 'pget -n NUM -c url; exit'
例如,使用 pget 分 5個(gè)部分下載 http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.2.tar.bz2:
$ cd /tmp$ lftp -e 'pget -n 5 -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.2.tar.bz2'
示例輸出:
45108964 bytes transferred in 57 seconds (775.3K/s)lftp :~>quit
這里:
pget- 并行下載文件-n 5- 將***連接數(shù)設(shè)置為 5-c- 如果當(dāng)前目錄存在lfile.lftp-pget-status,則繼續(xù)中斷的傳輸
如何在 Linux/Unix 中使用 lftp 來加速 ftp/https下載
再嘗試添加 exit 命令:
$ lftp -e 'pget -n 10 -c https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.15.tar.xz; exit'
關(guān)于并行下載的說明
請(qǐng)注意,通過使用下載加速器,你將增加遠(yuǎn)程服務(wù)器負(fù)載。另請(qǐng)注意,lftp 可能無(wú)法在不支持多點(diǎn)下載的站點(diǎn)上工作,或者防火墻阻止了此類請(qǐng)求。
其它的命令提供了更多功能。有關(guān)更多信息,請(qǐng)參考 lftp 的 man 頁(yè)面:
man lftp





















