0
点赞
收藏
分享

微信扫一扫

[linux] linux下ftp相关工具的使用


lftp

    一个集成了ftp, http, sftp, fish, torrent传输协议的文件传输工具。

安装ftp服务

    安装:yum install vsftpd
    启动:service vsftpd start
    使用FTP服务,需要搭建ftp服务器
    

lftp的使用

    lftp sftp://root@9.41.147.0     使用sftp协议连接
    set -a    列出lftp的所有配置
    set xfer:clobber               (yes)         开启,覆盖本地目录下的同名文件
                                   (no)          关闭,提示文件在当前目录已存在,不予覆盖
    set xfer:make-backup           (yes)         开启,如果当前目录下有同名文件,则先把此文件备份为file.~ ,接着做get动作
                                                  (此选项对put,mirror,mirror -R均无效)
                                   (no)          关闭,不备份同名文件
    mirror                          同步本地目录成对端目录,仅在双端目录文件“内容”有差异时,才会做动作
    mirror  -R                      同步对端目录成本地目录,仅在双端目录文件“内容”有差异时,才会做动作

需要知道的几个异常点

传输过程中,发生如下情况会怎样:
1)文件还没写完,就开始get了:

会获取执行get那个时间点时的文件(比如文件一共100M,写到20M的时候get,这个时候只能get到20M),但文件结构是OK的

2)正在传输时,传输动作被终止了:

传输动作立刻停止,文件结构是OK的

3)get或者put时,源文件被删除了:

传输依旧执行下去,目的端可获得完整的文件
(文件的删除只是删除了文件描述符结构,由于get和put会打开文件,所以文件打开计数器不为零,所以inode结构不会被释放
 ,所以不影响get和put使用文件,可以从文件系统的原理角度理解)

4)get或者put时,落地文件被删除了:

 传输依旧执行下去,落地文件无法形成
(落地文件在构架的过程中被删除,意味着文件结构的丢失,因此无法在本地构建一个完整的文件,所以文件无法落地,但是
,传输动作还是会执行完,是不是应该提示会好点?)

               对set xfer:make-backup的几点说明

本配置只对get命令有效,put 、mirror 和mirror -R均不会产生file.~文件
    put :       不感知对端是否有重名文件,直接甩过去,覆盖之。
    mirror:     不会产生file.~文件,采取直接覆盖的方式。
    mirror -R:  不会产生file.~文件,采取直接覆盖的方式。

举报

相关推荐

0 条评论