一:简介
lftp 是Linux系统上在本地机和远程主机之间的进行上传和下载文件的工具,支持协议ftp, sftp, http, https, hftp, fish等。非常强大好用,有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。
二:下载
像其他linux命令工具一样,使用命令行下载即可,下面只说ubuntu下载命令,其他发行版本自行脑补:
[shell]$ sudo apt-get install lftp
三:用法
3.1 登录
1)直接登录
[shell]$ lftp ftp://yourname@site
pwd:*****
注:操作之前先登录,ftp为协议类型,可以改为sftp,具体情况要看服务器上支持的服务。
2)先不登录,之后打开
[shell]$ lftp
lftp :~> open ftp://yourname@site
3.2 常用命令
功能 | 命令 | 解释 |
---|---|---|
下载单个文件 | get -c linuxXiaoNiu.c | -c表示断点续传的参数 |
下载一组文件 | mget *.c | 下载当前文件夹下所有的.c文件 |
下载文件夹 | mirror linuxXiaoNiu | 从服务器上的当前目录下下载linuxXiaoNiu文件夹到本地 |
上传单个文件 | put linuxXiaoNiu.c | 把本地当前目录下的linuxXiaoniu.c 文件上传到服务器的当前目录 |
上传多个文件 | mput xiaoNiu1.c xiaoNiu2.c | 把多个文件上传到服务器的当前目录 |
上传文件夹 | mirror -R linuxXiaoNiu | 把本地当前目录下的linuxXiaoNiu目录上传到服务器的当前目录 |
显示远端文件列表 | ls | * |
显示本地文件列表 | !ls | * |
切换远端目录 | cd | * |
切换本地目录 | lcd | * |
下载远端文件 | get | * |
下载远端多个文件 | mget | 可以使用通配符* |
删除远端文件 | rm | * |
删除多个远端文件 | mrm | * |
建立远端目录 | mkdir | * |
删除远端目录 | rmdir | * |
显示目前远端所在路径 | pwd | * |
显示本地路径 | lpwd | * |
计算远端目录的大小 | du | * |
执行本地 shell的命令 | ! | 例如:由于lftp 没有 lls, 故可用 !ls 来替代 |
设定书签 | bookmark | * |
退出ftp | exit | * |
3.3 自动同步脚本
感谢原作者的付出,写的非常好,谢谢!
#!bin/bash
echo “script start at `date ”+%Y-%m-%d %H:%M:%S”
HOST=”hostname”
USER=”yourname”
PASS=”password”
LCD=”LocalePath”
RCD=”RemotePath”
/usr/sbin/lftp << EOF
open ftp://$USER:$PASS@$HOST
mirror $RCD $LCD
EOF
echo “script end at “ `date ”+%Y-%m-%d %H:%M:%S”