Linux上的神器lftp

最近我的又拍云上传插件有点问题。随后请求客服帮忙解决上传问题,客服给我推荐了 lftp ,使用后发现 lftp 简直就是 Linux 上的神器,接下来我将为大家介绍一下这个 Linux 组件

简介

  lftp 是 Linux 系统上在本地机和远程主机之间的进行上传和下载文件的工具,支持协议 ftp, sftp, http, https, hftp, fish 等。非常强大好用,有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。

用法

  目前我主要使用的是 上传/同步功能,接下来我将为大家详细介绍一下这个方面,目前 lftp 上传使用的是 mirror 命令

mirror 命令及主要参数

  • R 反向传输, 因为是上传(put)到远程服务器, 所以使用该参数 (默认是从远程服务器下载)
  • L 下载符号链接作为文件, 主要处理文件软链接的问题
  • v 详细输出日志
  • n 只传输新文件 (相同的旧文件不会传输, 大大提升了传输效率)
  • –transfer-all 传输所有文件, 不论新旧 (Ubutnu 14.04 没有这个功能
  • –parallel 同时传输的文件数
  • –file 本地文件
  • –target-directory 目标目录

示例

1
mirror -Rv  ${UPYUN_LOCAL_PATH} ${UPYUN_REMOTE_PATH} --ignore-time  --parallel=500 --exclude-glob .git* --exclude-glob .DS_Store --exclude .git/

常见指令

下载

功能 命令 解释
下载单个文件 get -c a.c -c 表示断点续传的参数
下载一组文件 mget *.c 下载当前文件夹下所有的.c 文件
下载文件夹 mirror test 从服务器上的当前目录下 下载 test 文件夹到本地
下载远端文件 get *
下载远端多个文件 mget 可以使用通配符*

上传

功能 命令 解释
上传单个文件 put linuxXiaoNiu.c 把本地当前目录下的 linuxXiaoniu.c 文件上传到服务器的当前目录
上传多个文件 mput xiaoNiu1.c xiaoNiu2.c 把多个文件上传到服务器的当前目录
上传文件夹 mirror -R linuxXiaoNiu 把本地当前目录下的 linuxXiaoNiu 目录上传到服务器的当前目

删除

功能 命令 解释
删除远端文件 rm *
删除多个远端文件 mrm *
删除远端目录 rmdir
删除全部远端文件 rm -r .

文件操作

功能 命令 解释
显示远端文件列表 ls *
显示本地文件列表 !ls *
切换远端目录 cd *
切换本地目录 lcd *
建立远端目录 mkdir *
显示目前远端所在路径 pwd *
显示本地路径 lpwd *
计算远端目录的大小 du *

其他

功能 命令 解释
执行本地 shell 的命令 ! 例如:由于 lftp 没有 lls, 故可用 !ls 来替代
设定书签 bookmark *
退出 ftp exit *