强大的lftp

 原贴:http://www.php-oa.com/2008/04/17/lft.html

强大的lftp

 

原来一直认为wget很好用,很少用lftp.研究了一下.没想到lftp也这么强大

lftp很象shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。这个可是超级好用的一点哦. 它还有书签、排队、镜像、断点续传、多进程下载等功能。
 

  1. #lftp --help

语法介绍
lftp [OPTS] <site>
`lftp' 是在 rc 文件执行后 lftp 执行的第一个命令
 -f <file>           执行文件中的命令后退出
 -c <cmd>            执行命令后退出
 --help              显示帮助信息后退出
 --version           显示 lftp 版本后退出
 其他的选项同 `open' 命令
 -e <cmd>            在选择后执行命令
 -u <user>[,<pass>]  使用指定的用户名/口令进行验证
 -p <port>           连接指定的端口
 <site>              主机名, URL 或书签的名字

例子
1.下载(镜象)
包括目录下的目录下的目录下的目录下的目录下的目录全拷过来。。。

  1. mirror .

--delete:  如果远程目录下已经没有某个文件,而本地有,则删除这个文件。

--only-newer:  只下载新的文件。

--exculde:  不包含某个目录。

--verbose:  详细输出。

2.多线程下载

  1. mirror -c -x b/ –parallel=3 .

上面的”-c“参数是说明支持断点续传;
“-x“参数是表明b目录不需要备份
“–parallel=3“是指同时下载3个文件

3下载某种文件
下传多个普通文件

  1. mget *

     

  2. mget  -c *.pdf

4.上传

  1. mirror -R 本地目录名

将本地目录以迭代(包括子目录)的方式反向上传到ftp site。

5.编码设置
远程ftp site用gbk编码,对应的要设置为utf8,只要替换gbk为utf8即可。有时会要用到.
代码:

  1. set file:charset utf8

6.改变模式

被动模式的问题需要在执行lftp命令以后,
set ftp:passive-mode off

03-20
### 关于 lftp 工具的使用教程 #### 基本概念 `lftp` 是一种功能强大的命令行文件传输工具,在 UNIX 和类 UNIX 系统中被广泛应用。它不仅支持常见的 FTP 协议,还兼容 HTTP、SFTP、HTTPS 等多种网络协议[^2]。 #### 启动与基本语法 可以通过简单的命令来启动 `lftp` 并连接到目标服务器: ```bash lftp [protocol://][user[:password]@]hostname[:port] ``` 其中 `[protocol://]` 可以为 `ftp`, `http`, `sftp` 等;如果省略,则默认为 `ftp`。用户也可以通过交互方式输入用户名和密码完成身份验证。 #### 配置环境变量 对于频繁访问某些特定站点的情况,可以利用 `.netrc` 文件保存登录凭证或者创建自定义脚本来简化流程。例如,在家目录下建立名为 `.lftprc` 的初始化配置文件,加入如下内容即可实现自动化处理: ```bash set ftp:ssl-force true set ssl:verify-certificate no open -u username,password sftp://example.com/ mirror /remote/path/ /local/path/ bye ``` 上述代码片段展示了如何强制启用 SSL 加密通信以及忽略证书校验错误的功能设定,并执行远程同步本地的操作最后退出会话[^3]。 #### 实际应用案例 假设需要从一台运行 SFTP 服务的安全主机下载整个网站备份资料至当前机器上指定位置 `/backup/sites/example-site-backup.tar.gz` ,那么完整的指令链可能看起来像这样: ```bash #!/bin/bash HOST="sftp.example.org" USER="siteadmin" PASSWD="secureP@ssw0rd!" LOCAL_DIR="/backup/" REMOTE_FILE_PATH="/sites/example-site-backup.tar.gz" lftp <<EOF open ${HOST} user "${USER}" "${PASSWD}" get "${REMOTE_FILE_PATH}" -o "${LOCAL_DIR}$(basename ${REMOTE_FILE_PATH})" quit EOF ``` 此 Shell 脚本封装了必要的参数传递逻辑并通过 heredoc 方式嵌入实际调用语句序列[^1]。 #### 进阶技巧 除了基础的数据上传下载之外,`lftp` 提供了许多高级特性比如断点续传(`-c`)、批量作业管理(`queue`)等,极大地方便了日常运维工作中的复杂需求场景解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值