ftp与lftp命令使用

感谢原作者:

http://blog.csdn.net/dliyuedong/article/details/17199665

http://blog.csdn.net/dliyuedong/article/details/18013267

http://blog.csdn.net/u011391839/article/details/11771367


Lftp是一个基于命令行的文件传输软件(也被称为FTP客户端),由Alexander Lukyanov开发并以GNU GPL协议许可发行。除了FTP协议外,它还支持FTPS,HTTP,HTTPS,HFTP,FISH,以及SFTP等协议。这个程序还支持FXP,允许数据绕过客户端直接在两个FTP服务器之间传输。

它有很多很棒的高级功能,比如递归镜像整个目录树以及断点续传下载。传输任务可以安排在稍后的时间段计划执行,可以限制带宽,可以创建传输列表,还支持类似Unix shell的任务控制。客户端还可以在交互式或自动脚本里使用。


今天在连接客户的一个ftp服务器时报错,如下:

530 This server does not allow plain FTP. You have to use FTP over TLS.


然后就感觉是需要ftps这类的连接,所以就先用工具连接测试


状态:	连接建立,等待欢迎消息...
响应:	220 Welcome To *** Logistics FTP Server
命令:	AUTH TLS
响应:	234 Using authentication type TLS
状态:	初始化 TLS 中...
状态:	正在验证证书...
命令:	USER Lenovo-FTP
状态:	TLS/SSL 连接已建立。
响应:	331 Password required for lenovo-ftp
命令:	PASS **************
响应:	230 Logged on
命令:	SYST
响应:	215 UNIX emulated by FileZilla
命令:	FEAT
响应:	211-Features:
响应:	 MDTM
响应:	 REST STREAM
响应:	 SIZE
响应:	 MLST type*;size*;modify*;
响应:	 MLSD
响应:	 AUTH SSL
响应:	 AUTH TLS
响应:	 PROT
响应:	 PBSZ
响应:	 UTF8
响应:	 CLNT
响应:	 MFMT
响应:	 EPSV
响应:	 EPRT
响应:	211 End
命令:	PBSZ 0
响应:	200 PBSZ=0
命令:	PROT P
响应:	200 Protection level set to P
状态:	已连接
状态:	读取目录列表...
命令:	PWD
响应:	257 "/" is current directory.
命令:	TYPE I
响应:	200 Type set to I
命令:	PASV
响应:	227 Entering Passive Mode (192,168,0,26,20,213)
状态:	服务器发回了不可路由的地址。使用服务器地址代替。
命令:	MLSD
响应:	150 Opening data channel for directory listing of "/"
响应:	226 Successfully transferred "/"
状态:	列出目录成功
响应:	421 Connection timed out.
发现正常。此时,就想尝试换一种连接方式,看到了lftp

lftp ftp用户:ftp密码@服务器地址

然后连接成功了,ls后看到了目录下的文件。


以下为转载,仅供参考。

下面介绍一下lftp常见的强大的用法:


本地目录的操作:

     lcd 切换目录 

     lpwd 显示当前目录


ftp端的操作:

     cd 切换目录

     ls 显示当前目录文件列表

     pwd 显示当前目录

     rm 删除文件 

     mkdir 创建文件夹

     rmdir 删除文件夹


文件上传下载操作:

     单个文件:

     上传: put 文件名

     下载: get 文件名

     

    多个文件:

     上传多个文件(支持通配符):mput 文件名1 文件名2

     下载多个文件(支持通配符):mget 文件名1 文件名2


     整个目录:

     上传文件夹:mirror -R 文件夹名

     下载文件夹:mirror 下载文件夹存放到本地目录的位置


当然lftp还有书签等很多非常强大的操作,但是上面的操作已经可以使您完成ftp最基本的操作。




lftp是一个功能强大的下载工具,它支持访问文件的协议:ftp,sftp, ftps, http, hftp, fish.(其中ftps和https需要在编译的时候包含openss库)。lftp的界面和shell很像:有命令补全功能,历史记录,允许多个后台任务执行等功能,使用起来比较疯便。而且它还具有书签,排队,镜像,断点续传,多进程下载等功能。

1、登录ftp

    //命令格式:

        lftp 用户名:密码@ftp地址:传送端口(默认为21)


    用法
        (1)lftp username:[email protected] 回车
        (2)lftp [email protected] 回车 #默认端口为21 ,回车后输入密码
        (3)lftp 127.0.0.0 回车  ##回车后 login <用户|URL> [<密码>] 登录
        (4)lftp 回车 -->open 127.0.0.0-->login 登录

    //如果在命令行中输入站点的名称,lftp将直接登录站点
          如:ivy@ivy-OptiPlex-380:~$ lftp ftp://androidftp:[email protected]/
          cd 成功, 当前目录
=/                                          
          lftp [email protected]:/> 

    //如果不在命令行输入站点名称,则必须在进入到ftp界面后用open命令打开


2、下载文件


        下载文件前首先要设置还本地的目录,用来存放下载的文件
        lcd /home/ivy/doc   ##设置本地存放目录

        get  filename (如1.txt,ppt, pdf) //下载单个文件

        mget *.txt                   //下载一组文件,也即是批量下载所有的txt文件

        get -c 1.txt                    //断点续传下载
        mget -c *.txt                   //断点续传
        
        pget -c n 10 file.dat  //
最多10个线程以允许断点续传的方式下载file.dat

        mget -d dirname/(通配符*)    //下载目录

        mirror dirname         //将目录的整个下载下来,子目录也会自动复制到,本地自动建立目录

3、 上传文件
        put  1.txt
        mput *.txt

        mirror -R miao // 
上传整个目录
        mput -d dirname/*   #上传目录


        !ls 浏览本体目录
        cd 切换到远端目录(lcd 切换到本地目录)
                  基本使用方法:

        
        1
)、下载服务器端文件:

        # mirror –vn RCD LCD   //RCD为远程路径,LCD为本地路径

        2)、上传文件:

        # mirror –R LCD RCD     


4.从远程主机上下载目录文件
      通过sftp下载目录:
        lftp sftp://user@host -p port
        lftp :> mirror my_path


你可能感兴趣的:(Linux,FTP)