lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含openssl库)。llftp的界面非常想一个shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。 在不追求速度时,wget已经工作得很好了,网上的资料也很丰富,但是数据较大,有好几个文件,使用wget需要更新2,3个小时(网速只有8M,而且ftp被限速了)。所以只好找一个可以多线程下载的工具。lftp也是Linux移植过来的,功能非常强大,但是资料比wget要少,尤其是在windwos下的使用。
命令参数
-p 端口号 -u 用户名 -e 在选择后执行命令 以下是mirror 项 -c 断点续传 -e 这个要小心一些, 比较远端和本地端的档案, 假如远端没有的, 就将本地端的档案删除, 也就是将本地端和远端资料同步。 -n 只下载较新的档案 -r 不用递回到目录中 --parallel=n 同时下载 n 个档案(预设一次只下载一个)
部分使用案例
lftp.exe piaoyun.cc(服务器IP) -p 1234(端口) -u 用户名,密码 -e "mirror -c -n -r --parallel=1 --use-pget=5 /piaoyun/cc/(FTP连接后的服务器目录) /cygdrive/e(本地磁盘盘符)/piaoyun/"
e: cd E:\PiaoYunData\ copy D:\tools\lftp\ftpscript.txt E:\PiaoYunData\ /Y d:\tools\lftp\lftp -f ftpscript.txtftpscript.txt中的内容:
lftp ftp站点IP -p 21 -u 用户名,密码 mirror -c -e -n -r --parallel=10 / exit
lftp.exe的使用疑惑
解决windows下目录访问和多线程下载的问题(确实比大多数windows下的图形工具好用太多) 在windows下,如果要指定目录请使用/cygdrive/你的盘符/盘符下的目录/
多线程请使用: --use-pget=线程数
比如完整的命令如下: lftp ftp站点IP -p 21 -u 用户名,密码 -e "mirror -c -e -n -r --parallel=8 --use-pget=10 /piaoyun/cc /cygdrive/e/RemoteData/"注:本文所有软件在文章结尾有提供国内网盘的打包下载地址,使用的软件是压缩包内的:
lftp-4.5.4.win64-openssl-piaoyun.cc.rar
安装方法:
请把压缩包内bin
文件夹内的所有 .dll
文件复制到 C:\Windows
目录下,不复制运行批处理或者lftp.exe的时候会提示dll丢失。 Nwgat LFTP镜脚本(仅限SFTP现在) 我也创建了一个简单的脚本,同时具有镜面和反镜,LGET(小和基本的下载utily很像的wget)和标准lftp的控制台 它看起来像这样 Nwgat LFTP镜脚本: 1)mirrorfrom 2)mirrorto 3)lftp 4)lget 5)quit 请输入您的选择: 脚本可以在这里找到:https://github.com/nwgat/lftpWindows安装:
下载LFTP: 下载:https://github.com/nwgat/lftp/archive/master.zip
复制:lftpmirror-win.sh和lftpmirror-WIN.BAT在放到leftp.exe的bin文件夹 运行:lftpmirror-WIN.BAT Linux:
wget https://raw.githubusercontent.com/nwgat/lftp/master/lftpmirror.sh
chmod + X ./lftpmirror.sh ./lftpmirror.sh 本文提到的软件下载地址:【如果无法访问请自行解决爬墙问题】 百度网盘:http://pan.baidu.com/s/1sjExfPj 360云盘:http://yunpan.cn/Qa4bBm3LZIy9v 访问密码 f7d7 http://lftp.yar.ru/http://nwgat.ninja/lftp-for-windows/http://nwgat.ninja/lftp-4-4-10-for-windows/ 爬墙问题可以参考:goagent