返回首页
当前位置: 主页 > 精通Office > Ubuntu教程 >

Linux系统下lftp用法手册详解

时间:2011-10-31 23:04来源:2018年最新注册送彩金www.zhixing123.cn 编辑:麦田守望者

lftp是个功能强大的文件传输工具,操作上很像shell,支持命令补全、历史记录、多任务后台执行,还有书签、排队、镜像、断点续传、多进程下载等功能。

lftp支持ftp, ftps, http, https, hftp, fish, sftp, file等多种文件访问方式(https和ftps方式只有lftp编译集成了OpenSSL库时才可用)。可以在open url命令中指定访问方式,比如open http://www.us.kernel.org/pub/linux/. hftp是ftp-over-http-proxy协议的缩写,即通过http代理的ftp访问,设置ftp:proxy为http://proxy[:port]后会自动应用。fish是通过ssh连接到unix账户的协议。sftp是内置了ssh2的访问协议。

lftp中的每项操作都是可靠的,非致命错误都会被忽略同时操作会被重新执行。比如下载中断,它会重新从中断点开始继续下载;即便ftp服务器不支持断点续传,lftp会从头开始重新下载文件知道文件传输完成。


lftp拥有类似shell的语法,支持并行在后台(&)运行命令,支持用()分组命令并将它们在后台执行。所有后台任务在同一个进程中执行。使用^Z(Ctrl+Z)将前台任务切换到后台执行,wait或fg(wait的别名)命令将后台任务切换到前台,使用jobs命令罗列正在执行的任务。一些命令(如cat, ls等)允许将输出重定向至文件或通过管道传送给别的命令。命令能根据前一命令的结束状态有选择性地执行(&&, ||)。

如果你在仍有任务未完成的情况下退出lftp, lftp将会把自己切换到nohup模式在后台继续运行,直至任务完成。

lftp内置了镜像功能(mirror命令)允许下载整个目录,反向镜像功能(mirror -R命令)允许上传整个目录到服务器上。镜像功能同样可用于同步两个远程服务器上的文件夹。

at命令在当前环境下指定在特定的时刻执行某些任务;queue命令将指定的命令在当前服务器上按顺序执行;还有其他很多命令。

启动时,lftp先后执行配置文件/etc/lftp.conf, ~/.lftprc, ~/.lftp/rc 。你可以在这些配置文件中增加alias或set命令。希望看到完整协议调试内容的朋友可以通过debug命令来启动调试模式,如使用debug 3将看到所有的问候消息和错误消息。

lftp拥有大量的配置项,可以通过set -a命令来查看所有的配置项和值,set -d命令查看配置项的默认值。配置项可以使用缩写并且省略前导符,只要名称唯一。

如果编译包括了OpenSSL (configure –with-openssl),那么lftp将内置有OpenSSL项目开发的软件功能。

lftp命令

! shell command

运行shell或shell命令;如!ls将列出本地的当前文件夹下的内容。

alias [name [value]]

定义或取消name别名。设置value,别名name将被定义;忽略value,别名name将被取消。没有参数,将罗列当前的所有别名。比如

12 alias dir ls -lF alias less zmore

anon

设置用户为匿名用户,默认情况。

at time [ -- command ]

等到指定时间执行指定的命令。参见linux下的at命令。

bookmark [subcommand]

操作书签,子命令如下:

add <name> [<loc>] 将当前位置或指定位置以指定名称添加到书签
del <name> 删除指定名称的书签
edit 启动编辑器来编辑书签文件
import <type> 导入外部书签
list 罗列所有书签(默认)
cache [subcommand]

操作本地内存缓存,子命令如下:

stat 打印缓存状态(默认)
on|off 开启或关闭缓存
flush 清空缓存
size lim 设置缓存大小限制,-1表示不限制
expire Nx 设置缓存过期时间为N秒(x=s), 分钟(x=m), 小时(x=h), 天(x=d)
cat files

罗列远程目录下的内容到标准输出。

cd rdir

切换当前的远程目录。前一远程目录被存为-, 可以使用cd -切换到前一目录。每个站点前一目录会被保存到磁盘,所以即使重启lftp后同样可以执行open site; cd -命令。

chmod mode files

改变远程文件的权限控制码,mode必须为八进制数字。

close [-a]

关闭空闲链接。默认只关闭当前服务器连接,使用-a关闭所有空闲链接。

cls [OPTS] files…

获取指定的文件或目录信息,以OPTS参数指定的格式显示结果。与ls的差别是,ls请求由服务器来格式化信息,cls由自身来格式化信息。通过help cls查看OPTS参数的使用。

command cmd args…

执行执行的命令,忽略别名。

debug [-o file] level|off

切换调试默认是level级别或关闭调试。使用-o重定向调试信息输出到文件。

echo [-n] string

输出string字符串,使用-n不输出换行符。

eval [-f format ] args…

不指定-f,将把args作为命令执行;使用-f,args将被转换为新的命令。format可以包括普通字符和占位符$0 … $9, [email protected](与参数args对应)

exit [bg] [top] [kill] [code]

退出lftp或将lftp切换到后台执行如果仍有活动任务。如果当前没有活动任务,code会被作为lftp的结束状态传给操作系统。如果code被忽略,最后一条命令的退出代码将被作为code。

exit bg强制lftp切换到后台执行如果cmd:move-background是false。exit top终止最上层shell(lftp的内部命令)的执行。exit kill在退出前结束所有任务。选项可以别结合使用,比如at 08:00 — exit top kill & 将在8:00结束所有任务并退出lftp。

fg

wait的别名。

find [directory]

罗列指定目录(默认为当前目录)及所有子目录下的所有文件。作为服务器没有ls -R功能的补充。输出可进行重定向。

ftpcopy

过时的命令,使用一下命令取代:

get ftp://… -o ftp://…
get -O ftp://… file1 file2…
put ftp://…
mput ftp://…/*
mget -O ftp://… ftp://…/*
get [-E] [-a] [-c] [-O base] rfile [-o lfile] …

获取远程文件rfile并保存为本地文件lfile。如果没有-o参数,文件将被保存为与rfile同名的本地文件。可以通过指定多个rfile和-o lfile来获取多个文件。如需使用通配符,请用mget代替get命令。举例:

get README
get README -o debian.README
get README README.mirrors
get README -o debian.README README.mirrors -o debian.mirrors
get README -o ftp://some.host.org/debian.README
get README -o ftp://some.host.org/debian-dir/ (end slash is important)
get1 [OPTS] rfile

传输单个文件,选项:

-o <lfile> 目标文件名(默认为同rfile中的文件名)
-c 继续,重新获取
-E 在传输完成后删除源文件
-a 使用ascii模式(默认为二进制模式)
–source-region=<from-to> 传输源文件的指定区块
–target-position=<pos> 指定目标文件的数据写入位置
glob [-d] [-a] [-f] command patterns

取出当前目录下符合patterns的文件或文件夹名,结果串接后传给command命令。比如glob echo *。选项:

-f 文件(默认)
-d 文件夹
-a 所有类型
help [cmd]

打印cmd命令的帮助信息;未指定cmd时将打印所有可用命令。

jobs [-v]

罗列正在运行的任务。-v显示详细信息,可指定多个-v。

kill all|job_no

删除job_no指定的任务或所有任务。job_no可通过jobs命令查看。

lcd ldir

切换当前的本地目录为ldir。前一本地目录被存为-, 可以使用lcd -切换到前一目录。

lpwd

打印当前本地的工作目录。

ls params

罗列远程文件。可以将此命令的输出重定向至文件或通过管道传送给其他命令。默认,ls的输出会被缓存,使用rels或cache flush来查看新的罗列结果。

mget [-c] [-d] [-a] [-E] [-O base] files

获取满足通配符条件的文件,选项:

-c 继续,重新获取
-d 创建与文件路径中目录名相同的目录,并保存文件到对应目录中
-E 在传输完成后删除源文件
-a 使用ascii模式(默认为二进制模式)
-O <base> 指定文件被保存的目录或URL
mirror [OPTS] [source [target]]

将源文件夹镜像到目标文件夹。如果目标文件夹以/结尾,原文件夹名称会被附加到目标文件夹名称之后。源和目标都可以是指向文件夹的URL。

-c, –continue 续传上次的任务
-e, –delete 删除远程目录上不存在的文件
–delete-first 在传输新文件之前删除旧的文件
–depth-first 进入下一层目录优先于文件传输
-s, –allow-suid 根据远程站点设置suid/sgid比特位
–allow-chown 尝试将自己设置为文件所有者和所有组
–ascii 使用ascii方式传输(隐含了–ignore-size)
–ignore-time 决定是否下载时忽略时间因素
–ignore-size 决定是否下载时忽略文件大小因素
–only-missing 只下载缺少的文件
–only-existing 只下载已经存在于目标文件夹中的文件
-n, –only-newer 只下载新文件(-c参数无法工作)
–no-empty-dirs 不创建空文件夹(隐含了–depth-first)
-r, –no-recursion 不进入子文件夹
–no-symlinks 不创建符号链接
-p, –no-perms 不设置文件权限
–no-umask 不使用文件预设权限
-R, –reverse 反向镜像(上传文件)
-L, –dereference 将符号链接作为文件下载
-N, –newer-than=SPEC 只下载比指定时间晚的文件
–on-change=CMD 只要有文件或文件夹存在差异就执行命令CMD

顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):Linux 操作系统
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
博聚网