简化的 lftp中文manpage
时间:2007-01-01 来源:chenyuehao
首先说明,下面的大部分内容来自help
lftp是一个功能强大的ftp文件传输工具,支持http协议等连接到其他主机。
lftp能够支持7种文件传输模式 - ftp,ftps,http,https,hftp,fish,sftp和file(其中ftps和https需要在编译的时候包含openssl库).你可以指定用哪一种方式来打开 ’ULR’ ,例如 ’open http://www.us.kernel.org/pub/linux'.hftp就是以ftp过渡的http代理协议。
每一个lftp的操作都是可靠的,即没有任何致命的错误是忽视和重复操作的。因此如果下载中断,它将重新自动连接下载点。虽然ftp服务不支持REST命令,但lftp将设法修复文件并从新开始下载直到文件传输完成。
lftp 內建了 shell-like 的命令格式, 允许在背景同时执行多个命令(&)。所有背景执行的工作都是在同一个程序中(process), 能将前景执行的命令放到背景执行(Ctrl-z), 或从背景拿回前景执行(wait 或 fg), 甚至还可以经由上个命令的传回值來決定目前這个命令是否要执行(&& ||)。在結束 lftp 時, 如果还有程序执行中, lftp 会将自己切换到 no hup 模式并放到背景执行。因此不必担心执行 lftp当中无法登出。
命令
用法: lftp [OPTS] <site>
`lftp' 是在 rc 文件执行后 lftp 执行的第一个命令
-f <file> 执行文件中的命令后退出
-c <cmd> 执行命令后退出
--help 显示帮助信息后退出
--version 显示 lftp 版本后退出
其他的选项同 `open' 命令
-e <cmd> 在选择后执行命令
-u <user>[,<pass>] 使用指定的用户名/口令进行验证
-p <port> 连接指定的端口
<site> 主机名, URL 或书签的名字
例如 ’$lftp ftp.gdut.edu.cn'
用法: open [OPTS] <site>
选择一个服务器, URL 或书签
-e <cmd> 在选中后执行命令
-u <user>[,<pass>] 使用指定的用户名/口令进行验证
-p <port> 连接指定端口
<site> 主机名, URL 或书签名
例如 ’open http://www.us.kernel.org/pub/linux'
用法: user <用户名|URL> [<密码>]
使用指定信息远程登陆。如果你指定URL,密码
会被储存以备将来使用。
用法: close [-a]
关闭无效连接. 默认设置为只关闭当前服务器的连接.
-a 关闭服务器上所有无效连接
用法: exit [<code>]
exit - 从 lftp 中退出, 如果有活动任务则进入后台
如果没有活动任务, 指令会被传给操作系统作为 lftp 的退出命令.
如果忽略, 则使用上个命令的退出指令。
'bg' 使之强行进入后台,如果命令:move-background无效
用法: !<shell-command>
启动 shell 或 shell 命令,即可以在lftp的界面下直接使用shell的命令
例如 lftp ftp.gdut.edu.cn:~> !ls -l
我的本地目录是/media,则显示
总用量 56
drwxrwxrwx 12 root root 4096 1970-01-01 08:00 hda1
drwxr-xr-x 7 root root 8192 1970-01-01 08:00 hda5
drwxrwxrwx 6 root root 4096 1970-01-01 08:00 hda6
drwxrwxrwx 1 root root 8192 2006-12-24 12:04 hda7
drwxrwxrwx 1 root root 16384 2006-12-24 12:04 hda8
drwxrwxrwx 13 root root 16384 1970-01-01 08:00 hda9
用法: alias [<name> [<value>]]
定义或取消别名 <name>. 如果 <value> 被忽略,
则取消别名定义, 否则定义其值为 <value>.
如果没有参数, 列出当前的所有别名.
例如 lftp :~>alias ftp1 'open ftp.gdut.edu.cn'
下次要打开“ftp.gdut.edu.cn”直接输入ftp1就可以了
这个跟shell下的alias有点不一样,在shell下是alias [<name> =[<value>]],在
lftp下这个命令不用加中间的“=”
如果要保存别名的设置,以后每次都可以用,可以编辑~/.lftp/rc或者/etc/lftp.conf
用法: wait <工作号>和fg差不多
等待指定任务终止. 如果jobno被忽略, 等待上个后台任务。
用法:Ctrl+z 当前执行命令切换到背景。
用法: jobs [-v]
列出运行的任务. -v 表示更多信息, 可以指定多个 -v.
wait , Ctrl+z ,jobs三个命令在进行多线程下载是很好用:)
用法: set [选项] [<变量> [<值>]]
设置变量为指定的值. 如果值忽略, 取消变量.
变量名的格式为 ``名字/约束'', 约束可以指定设置的
应用范围. 请查看 lftp(1) 获得细节.
如果不带变量使用 set, 只有改动过的设置才被列出.
这可以通过下列选项来改变:
-a 列出所有的设置, 包括默认设置
-d 只列出默认值, 不一定是正在用的
其中比较重要的几个参数: 设置远端ftp为GBK编码,本地为UTF8编码。
set ftp:charset “gbk”
set file:charset “UTF-8″
具体可以看~/.lftp/rc
用法: cd <rdir>
改变当前的远程目录到 <rdir>. 先前的远程目录被存为 `-'. 你可以用 `cd -'回到先前的目录.
每个站点的先前目录保存在磁盘上, 即使在 lftp 重启动后, 你也可以用
`open site; cd -', 回到先前的目录
用法: lcd <ldir>
改变当前本地目录到 <ldir>. 先前的本地目录保存为 `-'.
你可以使用 `lcd -' 切换回先前的目录.
用法: cat [-b] <files>
cat - 以标准格式输出远程文件(可重定向)
-b 使用二进制模式(默认为ASCII)
用法: du [options] <dirs>
计算远端目录的总容量.
用法:ls 同shell下差不多
用法: mv <file1> <file2>
重命名 <file1> 为 <file2>
用法: mkdir [-p] <dirs>
建立远程目录
-p 建立各级路径
用法: more <files>
和 `cat <files> | more' 相同. 如果设置了 PAGER, 它被用来做过滤
用法: mrm <files>
使用扩展通配符来删除指定的文件
用法: pwd [-p]
显示当前远程URL
-p 显示密码
用法: rm [-r] [-f] <文件>
删除远程文件
-r 递归删除目录, 请谨慎使用
-f 安静工作
用法: zmore [-u] <files>
同 more, 但使用 zcat 过滤每个文件
用法: zcat [-u] <文件名表>
同 cat, 但使用 zcat 过滤每个文件
用法: get [选项] <rfile> [-o <lfile>]
下载远程文件 <rfile> 并保存为本地文件 <lfile>.
-o <lfile> 指定本地文件名 (默认值 - rfile 的名字)
-c 继续, 重取
-E 传输完成后删除远程文件
-a 采用ASCII模式(默认为二进制)
-O <base> 指定文件应当保存的基本目录或URL
用法: mget [OPTS] <files>
使用展开的通配符来下载选中的文件
-c 继续, 重传
-d 建立文件名中包含的目录, 把文件下载到这些目录中, 而不是
下载到当前目录
-e 传输完后删除远程文件
-a 使用ASCII模式(默认为二进制模式)
-O <base> 指定下载文件的存储目录或者URL
用法: pget [OPTS] <rfile> [-o <lfile>]
使用多个连接下载指定的文件. 这可以加快传输的速度,
但是给网络增加了负担, 显著地影响其他用户. 只在你真正
需要尽快下载文件的时候使用, 否则其他的用户会发疯的
用法: mirror [OPTS] [remote [local]]
把指定的远程目录镜像到本地
-c, --continue 如果可能, 继续一个镜像任务
-e, --delete 删除在远程站点不存在的文件
-s, --allow-suid 根据远程站点设置相应的 suid/sgid 位
-n, --only-newer 只下载新的文件 (-c 没有作用)
-r, --no-recursion 不下载子目录
-p, --no-perms 不设置文件权限
--no-umask 不在文件上使用umask
-R, --reverse 反向镜像 (上传文件)
-L, --dereference 下载符号链接指向的文件
-N, --newer-than FILE 只下载比文件 FILE 更新的文件
-i RX, --include RX 包括匹配的文件 (只能使用一次)
-x RX, --exclude RX 不包括匹配的文件 (只能使用一次)
RX 是括展的正则表达式
-t Nx, --time-prec Nx 设置时间精度为 N 秒 (x=s) 分钟 (x=m)
小时 (x=h) 或者天 (x=d)
默认值 - 12 小时
-v, --verbose 显示详细的信息
--log=FILE 将执行过的命令写入日志文件<FILE>
--script=FILE 把命令写入脚本文件但不执行
--just-print, --dry-run 同 --script=<>FILE
当使用 -R 参数时,第一个目录为本地目录,第二个为远程目录
如果第二项没有填写,则采用第一个个目录的名称
如果两项都没填写,则采用当前的本地和远程目录
用法: put [-c] <lfile> [-o <rfile>]
上传 <lfile> 成为远程文件 <rfile>.
-o <rfile> 指定远程文件名 (默认值 - lfile 的名字)
-c 继续, 重传
这需要有覆盖远程文件的权限
-E 成功上传后删除本地文件 (危险)↵
-a 使用ascii模式(默认为二进制)↵
-O <base> 指定base目录或者放置文件的URL
用法: mput [-c] [-d] <files>
使用展开的通配符来下载选中的文件
-c 继续, 重传
-d 建立文件名中包含的目录, 把文件下载到这些目录中, 而不是
下载到当前目录
-e 传输完后删除远程文件
用法: bookmark [SUBCMD]
bookmark 命令控制书签
支持下面的子命令:
add <name> [<loc>] - 把当前位置或指定的位置加入书签,并使用给定名字
del <name> - 删除指定名字的书签
edit - 编辑书签文件
import <type> - 导入其他程序的书签
list - 列出书签 (默认)
用法: chmod [OPTS] mode file...
更改档案权限为
-c,--changes -类似verbose但只在有变更时报告
-f,--quiet -屏蔽了多数的错误信息
-v,--verbose -为每一个运行的文件输出一个诊断
-R,--recursive -递归的改变文件和目录
权限模式 可以为八进制,或符号(rwx)模式(参见chmod(1))
用法: module name [args]
装载模块 (共享对象). 模块应该包含函数
void module_init(int argc,const char *const *argv)
如果名字中包含 `/', 那么在当前路径中寻找模块, 否则从module:path中设定的路径寻找.
没有 `name' 这个命令. 请用 `help' 列出可用的命令.
用法: source <文件名>
执行文件 <file> 中的命令
用法: version
显示 lftp 的版本
用法: anon
anon - 匿名登录(默认)
用法: cache [SUBCMD]
cache 命令控制本地的缓存
支持下列子命令:
stat - 显示缓存的状态 (默认)
on|ff - 打开/关闭缓存
flush - 清除缓存
size <lim> - 设置内存限制, -1 表示没有限制
expire <Nx> - 设置缓存过期的时间为 N 秒 (x=s)
分钟 (x=m) 小时 (x=h) 或天(x=d)
用法: debug [<level>|off] [-o <file>]
设置调试级别或关闭调试功能.
-o <file> 把调试信息输出重定向到文件中.
用法: history -w file|-r file|-c|-l [cnt]
-w <file> 将历史写入文件.↵
-r <file> 从文件中读取历史; 附加当前历史。
-c 清除历史。
-l 列出历史 (默认)。
可选数量参数指定在列表上列出的历史的数量,
或者"all"列出所有登陆。
用法: kill all|<job_no>
删除指定的任务号为 <job_no> 的任务, 或者所有的任务
没有 `all' 这个命令. 请用 `help' 列出可用的命令.
用法: renlist [<参数>]
同于'nlist', 但不在缓存中查找
用法: quote <cmd>
发出未经本地解释的命令. 小心使用 - 它可能会导致远程的
未知状态, 这样会引起重新连接. 你不能保证 quote 命令
引起的远程状态的改变是一致的 - 可以通过重新连接来复位.
用法: scache [<session_no>]
列出缓存的会话, 或者切换到指定的会话
用法: site <site_cmd>
执行 site 命令 <site_cmd> 并输出结果
你可以重定向它的输出
lftp是一个功能强大的ftp文件传输工具,支持http协议等连接到其他主机。
lftp能够支持7种文件传输模式 - ftp,ftps,http,https,hftp,fish,sftp和file(其中ftps和https需要在编译的时候包含openssl库).你可以指定用哪一种方式来打开 ’ULR’ ,例如 ’open http://www.us.kernel.org/pub/linux'.hftp就是以ftp过渡的http代理协议。
每一个lftp的操作都是可靠的,即没有任何致命的错误是忽视和重复操作的。因此如果下载中断,它将重新自动连接下载点。虽然ftp服务不支持REST命令,但lftp将设法修复文件并从新开始下载直到文件传输完成。
lftp 內建了 shell-like 的命令格式, 允许在背景同时执行多个命令(&)。所有背景执行的工作都是在同一个程序中(process), 能将前景执行的命令放到背景执行(Ctrl-z), 或从背景拿回前景执行(wait 或 fg), 甚至还可以经由上个命令的传回值來決定目前這个命令是否要执行(&& ||)。在結束 lftp 時, 如果还有程序执行中, lftp 会将自己切换到 no hup 模式并放到背景执行。因此不必担心执行 lftp当中无法登出。
命令
用法: lftp [OPTS] <site>
`lftp' 是在 rc 文件执行后 lftp 执行的第一个命令
-f <file> 执行文件中的命令后退出
-c <cmd> 执行命令后退出
--help 显示帮助信息后退出
--version 显示 lftp 版本后退出
其他的选项同 `open' 命令
-e <cmd> 在选择后执行命令
-u <user>[,<pass>] 使用指定的用户名/口令进行验证
-p <port> 连接指定的端口
<site> 主机名, URL 或书签的名字
例如 ’$lftp ftp.gdut.edu.cn'
用法: open [OPTS] <site>
选择一个服务器, URL 或书签
-e <cmd> 在选中后执行命令
-u <user>[,<pass>] 使用指定的用户名/口令进行验证
-p <port> 连接指定端口
<site> 主机名, URL 或书签名
例如 ’open http://www.us.kernel.org/pub/linux'
用法: user <用户名|URL> [<密码>]
使用指定信息远程登陆。如果你指定URL,密码
会被储存以备将来使用。
用法: close [-a]
关闭无效连接. 默认设置为只关闭当前服务器的连接.
-a 关闭服务器上所有无效连接
用法: exit [<code>]
exit - 从 lftp 中退出, 如果有活动任务则进入后台
如果没有活动任务, 指令会被传给操作系统作为 lftp 的退出命令.
如果忽略, 则使用上个命令的退出指令。
'bg' 使之强行进入后台,如果命令:move-background无效
用法: !<shell-command>
启动 shell 或 shell 命令,即可以在lftp的界面下直接使用shell的命令
例如 lftp ftp.gdut.edu.cn:~> !ls -l
我的本地目录是/media,则显示
总用量 56
drwxrwxrwx 12 root root 4096 1970-01-01 08:00 hda1
drwxr-xr-x 7 root root 8192 1970-01-01 08:00 hda5
drwxrwxrwx 6 root root 4096 1970-01-01 08:00 hda6
drwxrwxrwx 1 root root 8192 2006-12-24 12:04 hda7
drwxrwxrwx 1 root root 16384 2006-12-24 12:04 hda8
drwxrwxrwx 13 root root 16384 1970-01-01 08:00 hda9
用法: alias [<name> [<value>]]
定义或取消别名 <name>. 如果 <value> 被忽略,
则取消别名定义, 否则定义其值为 <value>.
如果没有参数, 列出当前的所有别名.
例如 lftp :~>alias ftp1 'open ftp.gdut.edu.cn'
下次要打开“ftp.gdut.edu.cn”直接输入ftp1就可以了
这个跟shell下的alias有点不一样,在shell下是alias [<name> =[<value>]],在
lftp下这个命令不用加中间的“=”
如果要保存别名的设置,以后每次都可以用,可以编辑~/.lftp/rc或者/etc/lftp.conf
用法: wait <工作号>和fg差不多
等待指定任务终止. 如果jobno被忽略, 等待上个后台任务。
用法:Ctrl+z 当前执行命令切换到背景。
用法: jobs [-v]
列出运行的任务. -v 表示更多信息, 可以指定多个 -v.
wait , Ctrl+z ,jobs三个命令在进行多线程下载是很好用:)
用法: set [选项] [<变量> [<值>]]
设置变量为指定的值. 如果值忽略, 取消变量.
变量名的格式为 ``名字/约束'', 约束可以指定设置的
应用范围. 请查看 lftp(1) 获得细节.
如果不带变量使用 set, 只有改动过的设置才被列出.
这可以通过下列选项来改变:
-a 列出所有的设置, 包括默认设置
-d 只列出默认值, 不一定是正在用的
其中比较重要的几个参数: 设置远端ftp为GBK编码,本地为UTF8编码。
set ftp:charset “gbk”
set file:charset “UTF-8″
具体可以看~/.lftp/rc
用法: cd <rdir>
改变当前的远程目录到 <rdir>. 先前的远程目录被存为 `-'. 你可以用 `cd -'回到先前的目录.
每个站点的先前目录保存在磁盘上, 即使在 lftp 重启动后, 你也可以用
`open site; cd -', 回到先前的目录
用法: lcd <ldir>
改变当前本地目录到 <ldir>. 先前的本地目录保存为 `-'.
你可以使用 `lcd -' 切换回先前的目录.
用法: cat [-b] <files>
cat - 以标准格式输出远程文件(可重定向)
-b 使用二进制模式(默认为ASCII)
用法: du [options] <dirs>
计算远端目录的总容量.
用法:ls 同shell下差不多
用法: mv <file1> <file2>
重命名 <file1> 为 <file2>
用法: mkdir [-p] <dirs>
建立远程目录
-p 建立各级路径
用法: more <files>
和 `cat <files> | more' 相同. 如果设置了 PAGER, 它被用来做过滤
用法: mrm <files>
使用扩展通配符来删除指定的文件
用法: pwd [-p]
显示当前远程URL
-p 显示密码
用法: rm [-r] [-f] <文件>
删除远程文件
-r 递归删除目录, 请谨慎使用
-f 安静工作
用法: zmore [-u] <files>
同 more, 但使用 zcat 过滤每个文件
用法: zcat [-u] <文件名表>
同 cat, 但使用 zcat 过滤每个文件
用法: get [选项] <rfile> [-o <lfile>]
下载远程文件 <rfile> 并保存为本地文件 <lfile>.
-o <lfile> 指定本地文件名 (默认值 - rfile 的名字)
-c 继续, 重取
-E 传输完成后删除远程文件
-a 采用ASCII模式(默认为二进制)
-O <base> 指定文件应当保存的基本目录或URL
用法: mget [OPTS] <files>
使用展开的通配符来下载选中的文件
-c 继续, 重传
-d 建立文件名中包含的目录, 把文件下载到这些目录中, 而不是
下载到当前目录
-e 传输完后删除远程文件
-a 使用ASCII模式(默认为二进制模式)
-O <base> 指定下载文件的存储目录或者URL
用法: pget [OPTS] <rfile> [-o <lfile>]
使用多个连接下载指定的文件. 这可以加快传输的速度,
但是给网络增加了负担, 显著地影响其他用户. 只在你真正
需要尽快下载文件的时候使用, 否则其他的用户会发疯的
用法: mirror [OPTS] [remote [local]]
把指定的远程目录镜像到本地
-c, --continue 如果可能, 继续一个镜像任务
-e, --delete 删除在远程站点不存在的文件
-s, --allow-suid 根据远程站点设置相应的 suid/sgid 位
-n, --only-newer 只下载新的文件 (-c 没有作用)
-r, --no-recursion 不下载子目录
-p, --no-perms 不设置文件权限
--no-umask 不在文件上使用umask
-R, --reverse 反向镜像 (上传文件)
-L, --dereference 下载符号链接指向的文件
-N, --newer-than FILE 只下载比文件 FILE 更新的文件
-i RX, --include RX 包括匹配的文件 (只能使用一次)
-x RX, --exclude RX 不包括匹配的文件 (只能使用一次)
RX 是括展的正则表达式
-t Nx, --time-prec Nx 设置时间精度为 N 秒 (x=s) 分钟 (x=m)
小时 (x=h) 或者天 (x=d)
默认值 - 12 小时
-v, --verbose 显示详细的信息
--log=FILE 将执行过的命令写入日志文件<FILE>
--script=FILE 把命令写入脚本文件但不执行
--just-print, --dry-run 同 --script=<>FILE
当使用 -R 参数时,第一个目录为本地目录,第二个为远程目录
如果第二项没有填写,则采用第一个个目录的名称
如果两项都没填写,则采用当前的本地和远程目录
用法: put [-c] <lfile> [-o <rfile>]
上传 <lfile> 成为远程文件 <rfile>.
-o <rfile> 指定远程文件名 (默认值 - lfile 的名字)
-c 继续, 重传
这需要有覆盖远程文件的权限
-E 成功上传后删除本地文件 (危险)↵
-a 使用ascii模式(默认为二进制)↵
-O <base> 指定base目录或者放置文件的URL
用法: mput [-c] [-d] <files>
使用展开的通配符来下载选中的文件
-c 继续, 重传
-d 建立文件名中包含的目录, 把文件下载到这些目录中, 而不是
下载到当前目录
-e 传输完后删除远程文件
用法: bookmark [SUBCMD]
bookmark 命令控制书签
支持下面的子命令:
add <name> [<loc>] - 把当前位置或指定的位置加入书签,并使用给定名字
del <name> - 删除指定名字的书签
edit - 编辑书签文件
import <type> - 导入其他程序的书签
list - 列出书签 (默认)
用法: chmod [OPTS] mode file...
更改档案权限为
-c,--changes -类似verbose但只在有变更时报告
-f,--quiet -屏蔽了多数的错误信息
-v,--verbose -为每一个运行的文件输出一个诊断
-R,--recursive -递归的改变文件和目录
权限模式 可以为八进制,或符号(rwx)模式(参见chmod(1))
用法: module name [args]
装载模块 (共享对象). 模块应该包含函数
void module_init(int argc,const char *const *argv)
如果名字中包含 `/', 那么在当前路径中寻找模块, 否则从module:path中设定的路径寻找.
没有 `name' 这个命令. 请用 `help' 列出可用的命令.
用法: source <文件名>
执行文件 <file> 中的命令
用法: version
显示 lftp 的版本
用法: anon
anon - 匿名登录(默认)
用法: cache [SUBCMD]
cache 命令控制本地的缓存
支持下列子命令:
stat - 显示缓存的状态 (默认)
on|ff - 打开/关闭缓存
flush - 清除缓存
size <lim> - 设置内存限制, -1 表示没有限制
expire <Nx> - 设置缓存过期的时间为 N 秒 (x=s)
分钟 (x=m) 小时 (x=h) 或天(x=d)
用法: debug [<level>|off] [-o <file>]
设置调试级别或关闭调试功能.
-o <file> 把调试信息输出重定向到文件中.
用法: history -w file|-r file|-c|-l [cnt]
-w <file> 将历史写入文件.↵
-r <file> 从文件中读取历史; 附加当前历史。
-c 清除历史。
-l 列出历史 (默认)。
可选数量参数指定在列表上列出的历史的数量,
或者"all"列出所有登陆。
用法: kill all|<job_no>
删除指定的任务号为 <job_no> 的任务, 或者所有的任务
没有 `all' 这个命令. 请用 `help' 列出可用的命令.
用法: renlist [<参数>]
同于'nlist', 但不在缓存中查找
用法: quote <cmd>
发出未经本地解释的命令. 小心使用 - 它可能会导致远程的
未知状态, 这样会引起重新连接. 你不能保证 quote 命令
引起的远程状态的改变是一致的 - 可以通过重新连接来复位.
用法: scache [<session_no>]
列出缓存的会话, 或者切换到指定的会话
用法: site <site_cmd>
执行 site 命令 <site_cmd> 并输出结果
你可以重定向它的输出
相关阅读 更多 +