Linux中國

如何使用 lftp 來加速 ftp/https 下載速度

lftp 是一個文件傳輸程序。它可以用於複雜的 FTP、 HTTP/HTTPS 和其他連接。如果指定了站點 URL,那麼 lftp 將連接到該站點,否則會使用 open 命令建立連接。它是所有 Linux/Unix 命令行用戶的必備工具。我目前寫了一些關於 Linux 下超快命令行下載加速器,比如 Axel 和 prozilla。lftp 是另一個能做相同的事,但有更多功能的工具。lftp 可以處理幾種文件訪問方式:

  1. ftp
  2. ftps
  3. http
  4. https
  5. hftp
  6. fish
  7. sftp
  8. file

那麼 lftp 的獨特之處是什麼?

  • lftp 中的每個操作都是可靠的,即任何非致命錯誤都被忽略,並且重複進行操作。所以如果下載中斷,它會自動重新啟動。即使 FTP 伺服器不支持 REST 命令,lftp 也會嘗試從開頭檢索文件,直到文件傳輸完成。
  • lftp 具有類似 shell 的命令語法,允許你在後台並行啟動多個命令。
  • lftp 有一個內置的鏡像功能,可以下載或更新整個目錄樹。還有一個反向鏡像功能(mirror -R),它可以上傳或更新伺服器上的目錄樹。鏡像也可以在兩個遠程伺服器之間同步目錄,如果可用的話會使用 FXP。

如何使用 lftp 作為下載加速器

lftppget 命令。它能讓你並行下載。語法是:

lftp -e 'pget -n NUM -c url; exit'

例如,使用 pget 分 5個部分下載 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

這裡:

  1. pget - 並行下載文件
  2. -n 5 - 將最大連接數設置為 5
  3. -c - 如果當前目錄存在 lfile.lftp-pget-status,則繼續中斷的傳輸

如何在 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'

關於並行下載的說明

請注意,通過使用下載加速器,你將增加遠程伺服器負載。另請注意,lftp 可能無法在不支持多點下載的站點上工作,或者防火牆阻止了此類請求。

其它的命令提供了更多功能。有關更多信息,請參考 lftp 的 man 頁面:

man lftp

關於作者

作者是 nixCraft 的創建者,經驗豐富的系統管理員,也是 Linux 操作系統/Unix shell 腳本的培訓師。他曾與全球客戶以及IT、教育、國防和太空研究以及非營利部門等多個行業合作。在 [Twitter][9]、[Facebook][10]、[Google +][11] 上關注他。通過 RSS/XML 訂閱獲取最新的系統管理、Linux/Unix 以及開源主題教程。

via: https://www.cyberciti.biz/tips/linux-unix-download-accelerator.html

作者:Vivek Gite 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國