Lftp - Linux命令 - UNIX命令

名称

lftp - 先进的文件传输程序

句法

lftp [ -d ] [ -e cmd ] [ -p 端口 ] [ -u 用户 [ pass ]] [ 站点 ]
lftp -f script_file
lftp -c 命令
lftp - 版本
lftp - 帮助

描述

lftp是一个允许复杂的ftp和http连接到其他主机的程序。 如果指定了host ,则lftp将连接到该主机,否则必须使用open命令建立连接。

lftp可以处理六种文件访问方法 - ftp,ftps, httphttps ,hftp,fish和file(只有在使用openssl库编译lftp时才可以使用https和ftps)。 您可以在`open URL'命令中指定要使用的方法,例如`open http://www.us.kernel.org/pub/linux'。 hftp是ftp-over-http-proxy协议。 如果ftp:proxy设置为`http:// proxy [:port]',则可以自动使用它而不是ftp。 Fish是一个通过ssh连接工作的协议。

lftp中的每个操作都是可靠的,即忽略任何非致命错误并重复操作。 所以如果下载中断,它会自动重新启动。 即使ftp服务器不支持REST命令, lftp也会尝试从一开始就检索文件,直到文件完全传输。

lftp具有类似shell的命令语法,允许您在后台(&)中并行启动多个命令。 也可以在()中对命令进行分组并在背景中执行它们。 所有后台作业都在同一个进程中执行。 您可以使用^ Z(cz)将背景作业带回背景,并使用命令“wait”(或“fg”作为“wait”的别名)返回。 要列出正在运行的作业,请使用命令`jobs'。 一些命令允许将其输出(cat,ls,...)重定向到文件或通过管道重定向到外部命令。 命令可以根据前一个命令的终止状态(&&,||)有条件地执行。

如果当某些作业尚未完成时退出lftp ,则lftp将在后台自动移至nohup模式。 当你有一个真正的调制解调器挂断或关闭一个xterm时也会发生同样的情况。

lftp具有可以下载或更新整个目录树的内置镜像。 还有一个反向镜像(镜像-R),用于上载或更新服务器上的目录树。 镜像还可以在两个远程服务器之间同步目录,使用FXP(如果可用)。

命令`at'在当前上下文的指定时间启动一个作业,命令`queue'排列用于当前服务器顺序执行的命令等等。

启动时, lftp执行/etc/lftp.conf ,然后执行〜/ .lftprc〜/ .lftp / rc 。 您可以在其中放置别名和“设置”命令。 有些人更喜欢看完整的协议调试,使用`debug'打开调试。 使用`debug 3'仅查看问候消息和错误消息。

lftp有许多可设置的变量。 您可以使用`set -a'查看所有变量及其值,或者使用`set -d'查看默认值列表。 变量名称可以缩写,前缀可以省略,除非其余变得模糊。

如果lftp是使用ssl支持编译的,那么它包含由OpenSSL Project开发的用于OpenSSL Toolkit的软件。 (http://www.openssl.org/)

命令

shell命令

启动shell或shell命令

!LS

做一个本地主机的目录列表。

别名 [ 名称 [ ]]

定义或取消定义别名。 如果省略了 ,那么别名是未定义的,否则它取值的 。 如果没有给出参数,则列出当前别名。

alias dir ls -lF alias less zmore

不久

将用户设置为匿名。 这是默认设置。

时间 [ - 命令 ]

等待给定时间并执行给定(可选)命令。

书签 [ 子命令 ]

书签命令控制书签。

添加[]将当前位置或给定位置添加到书签并绑定到给定名称del删除带名称的书签编辑书签文件上的开始编辑器导入导入外部书签列表列表书签(默认)

缓存 [ 子命令 ]

缓存命令控制本地内存缓存 。 以下子命令被识别:

stat打印缓存状态(默认)on | off打开/关闭缓存flush flush cache size lim设置内存限制,-1表示无限期过期Nx将缓存过期时间设置为N秒( x = s)分钟( x = m)小时x = h)或天( x = d)

文件

cat将远程文件输出到标准输出。 (另请参阅更多zcatzmore

cd rdir

更改当前的远程目录。 前一个远程目录存储为' - '。 你可以用`cd - '来改变目录。 每个站点的上一个目录也存储在磁盘上,所以你可以做`open site; cd - '即使在lftp重新启动后也是如此。

chmod 模式文件

更改远程文件的权限掩码。 模式必须是八进制数。

关闭 [ -a ]

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

命令 cmd args ...

执行给定的命令忽略别名。

[ -o 文件 ] 级别 |

切换调试级别或关闭它。 使用-o将​​调试输出重定向到文件。

echo [ -n ] 字符串

猜猜它是干什么的。

退出代码
退出bg

如果作业处于活动状态,则退出将从lftp退出或移动到后台。 如果没有作业处于活动状态,则代码将作为lftp的终止状态传递给操作系统。 如果省略代码,则使用最后命令的退出代码。

当cmd:move-background为false时,`exit bg'强制移动到背景。

FG

别名为“等待”。

找到 [ 目录 ]

以递归方式列出目录中的文件(默认为当前目录)。 这可以帮助缺乏ls -R支持的服务器。 您可以重定向该命令的输出。

ftpcopy

已过时。 请改用以下其中一项:

get ftp:// ... -o ftp:// ... get -O ftp:// ... file1 file2 ... put ftp:// ... mput ftp://.../* mget -O ftp:// ... ftp://.../*

或其他组合来获得FXP传输(直接在两个ftp服务器之间)。 如果无法启动FXP传输或者ftp:use-fxp为false,则lftp将回退到普通副本(通过客户端)。

get [ -E ] [ -a ] [ -c ] [ -O base ] rfile [ -o lfile ] ...

检索远程文件rfile并将其存储为本地文件lfile 。 如果省略-o,则文件将存储到名为rfile的基本名称的本地文件中。 您可以通过指定rfile [和-o lfile ]的多个实例来获取多个文件。 不扩展通配符,为此使用mget

-c继续,reget -E成功传输后删除远程文件-a使用ascii模式(二进制是默认模式)-O指定文件应放置在的基本目录或URL

例子:

获取README获取README -o debian.README获取自述文件README.mirrors获取自述文件-o debian.README README.mirrors -o debian.mirrors获取自述文件-o ftp://some.host.org/debian.README获取自述文件-o ftp://some.host.org/debian-dir/(结尾斜杠很重要)

glob [ -d ] [ -a ] [ -f ] 命令模式

Glob给出的模式包含元字符并将结果传递给给定的命令。 例如``glob echo *''。

-f纯文件(默认)-d目录-a所有类型

帮助 [ cmd ]

cmd打印帮助或者如果未指定cmd ,则打印可用命令的列表。

工作 [ -v ]

列出运行作业。 -v表示冗长,可以指定几个-v。

杀死所有| job_no

使用job_no或所有作业删除指定的作业。 (对于job_no查看工作

lcd ldir

更改当前的本地目录ldir 。 前一个本地目录存储为' - '。 你可以用`lcd - '来改变目录。

lpwd

在本地机器上打印当前工作目录。

ls params

列出远程文件。 您可以将此命令的输出重定向到文件或通过管道重定向到外部命令。 默认情况下,ls输出被缓存,以查看新列表使用rels缓存刷新。

mget [ -c ] [ -d ] [ -a ] [ -E ] [ -O base ] 文件

获取具有扩展通配符的选定文件。

-c继续,reget。 -d创建与文件名相同的目录,并将文件取入当前目录中。 -E在成功传输后删除远程文件-a使用ascii模式(二进制是默认模式)-O指定文件应放置在的基本目录或URL

镜像 [ OPTS ] [ [ 目标 ]]

将指定的源目录镜像到本地目标目录。 如果目标目录以斜线结尾,则将源基本名称追加到目标目录名称。 源和/或目标可以是指向目录的URL。

-c, - 如果可能,继续继续镜像工作-e, - 删除远程站点上不存在的文件-s, - 根据远程站点,allow-suid设置suid / sgid位--allow-chown尝试设置所有者和组上的文件-n, - 仅更新的下载只有更新的文件(-c将不起作用)-r,--no-recursion不转到子目录-p,--no-perms不设置文件权限--no-umask不对文件模式应用umask -R, - 反向镜像(放置文件)-L,--deference参数下载符号链接作为文件-N, - 新 - 不仅仅是FILE下载文件比文件更新-P, - parallel [= N]并行下载N个文件-i RX , - 包括RX包含匹配文件-x RX , - 排除RX排除匹配文件-I GP ,--include- glob GP包含匹配文件-X GP ,--exclude-glob GP排除匹配文件-v,--verbose [=级别]详细操作--use-cache使用缓存目录列表 - remove-source-files传输后删除文件(谨慎使用) - 与--allow-chown相同--allow-suid --no-umask

当使用-R时,第一个目录是本地的,第二个是远程的。 如果省略第二个目录,则使用第一个目录的基本名称。 如果两个目录都被省略,则使用当前的本地和远程目录。

RX是一个扩展的正则表达式,就像在egrep (1)中一样。

GP是一个全局模式,例如`* .zip'。

包含和排除选项可以多次指定。 这意味着如果文件或目录与包含匹配并且与包含之后的排除不匹配,或者不匹配任何内容并且第一个检查被排除,则该文件或目录将被镜像。 目录与附加的斜线匹配。

请注意,使用-R时(反向镜像),服务器上不会创建符号链接,因为ftp协议无法完成此操作。 要上传链接引用的文件,请使用`mirror -RL'命令(将符号链接视为文件)。

可以使用--verbose = level选项或多个-v选项(例如-vvv)选择详细程度级别。 级别是:

0 - 无输出(默认)1 - 打印操作2 - +打印未删除的文件名(未指定-e时)3 - +打印镜像目录名

- 只有更新才会关闭文件大小比较,即使大小不同,也只上载/下载较新的文件。 默认情况下,如果大小不同,则会下载/上载较早的文件。

如果指定了URL而不是目录,则可以在两台服务器之间进行镜像。 如有可能,FXP将自动用于ftp服务器之间的传输。

mkdir [ -p ] dir(s)

制作远程目录。 如果使用-p,则创建路径的所有组件。

模块 模块 [ args ]

使用dlopen(3)函数加载给定的模块 。 如果模块名称不包含斜线,则会在module:path变量指定的目录中搜索它。 参数传递给module_init函数。 有关技术细节,请参阅README.modules。

更多 文件

与cat 文件 |相同 更多'。 如果PAGER被设置,它被用作过滤器。 (另见catzcatzmore

mput [ -c ] [ -d ] [ -a ] [ -E ] [ -O base ] 文件

使用通配符扩展上传文件。 默认情况下,它使用本地名称的基本名称作为远程名称。 这可以通过`-d'选项来改变。

-c continue,reput -d创建与文件名相同的目录并将文件放入它们而不是当前目录中-E成功传输后删除远程文件(危险)-a使用ascii模式(二进制是默认模式)-O指定基本目录或URL应放置文件的位置

mrm 文件(s)

与“glob rm”相同。 使用通配符扩展删除指定的文件。

mv file1 file2

file1重命名为file2

nlist [ args ]

列出远程文件名称

打开 [ -e cmd ] [ -u 用户 [, 传球 ]] [ -p 端口 ] 主机 | 网址

选择一个ftp服务器。

pget [ OPTS ] rfile [ -o lfile]

使用多个连接获取指定的文件。 这可以加速传输,但加载网络会严重影响其他用户。 只有在你真的必须尽快转移文件时才使用,或者其他用户可能会发疯:)选项:

-n maxconn设置最大连接数(默认5)

put [ -E ] [ -a ] [ -c ] [ -O base ] lfile [ -o rfile ]

上传带有远程名称rfile的 lfile 。 如果省略-o,则将lfile的基本名称用作远程名称。 不扩展通配符,使用mput

-o指定远程文件名(缺省 - lfile的basename)-c继续,请求它需要权限覆盖远程文件-E成功传输后删除本地文件(危险)-a使用ascii模式(二进制是缺省值)-O指定基本目录或URL应放置文件的位置

PWD

打印当前的远程目录。

队列 [ -n num ] cmd

将给定的命令添加到顺序执行的队列中。 每个站点都有自己的队列。 `-n'将命令添加到队列中的给定项目之前。 不要尝试排队`cd'或'lcd'命令,它可能会混淆lftp。 而是在`queue'命令之前执行cd / lcd,它会记住命令的完成位置。 可以通过“队列等待”排队已经运行的作业,但作业将继续执行,即使它不是队列中的第一个作业。

`队列停止'将停止队列,它不会执行任何新的命令,但已经运行的作业将继续运行。 您可以使用`队列停止'来创建一个空的停止队列。 `队列开始'将恢复队列执行。 当你退出lftp时,它会自动启动所有停止的队列。

没有参数的`队列'将创建一个停止队列或打印队列状态。

队列 - 删除| -d [ 索引或通配符表达式 ]

从队列中删除一个或多个项目。 如果未给出参数,则删除队列中的最后一个条目。

队列 - 移动| -m < 索引或通配符表达式 > [ 索引 ]

在给定的队列索引之前移动给定的项目,或者在没有给出目的地的情况下移动到最后。

-q安静。 -v是冗长的。 -Q以可用于重新排队的格式输出。 用于--delete。 > get file&[1] get file> queue wait 1> queue get another_file> cd a_directory> queue get yet_another_file queue -d 3删除队列中的第三项。 queue -m 6 4在第四个之前移动队列中的第六个项目。 队列-m“get * zip”1将所有匹配“get * zip”的命令移至队列的开头。 (这些项目的顺序被保留。)queue -d“get * zip”删除所有匹配“get * zip”的命令。

报价 cmd

对于FTP - 发送未解释的命令。 谨慎使用 - 可能会导致未知的远程状态,从而导致重新连接。 您无法确定由于引用的命令而导致的任何远程状态更改是否稳定 - 可以随时通过重新连接进行重置。

对于HTTP - 特定于HTTP操作。 语法:``quote []''。 命令可以是“set-cookie”或“post”。

打开http://www.site.net引用set-cookie“variable = value; othervar = othervalue”设置http:post-content-type application / x-www-form-urlencoded quote post /cgi-bin/script.cgi “var = value&othervar = othervalue”> local_file

对于FISH - 发送未解释的命令。 这可以用来在服务器上执行任意命令。 该命令不得在新行开始处输入或打印###。 如果是这样,协议将会失去同步。

打开fish:// server quote find -name zip

reget rfile [ -o lfile ]

与`get -c'相同。

雷斯 [ args ]

与'ls'相同,但忽略缓存。

renlist [ args ]

与`nlist'相同,但忽略缓存。

重复 [ 延迟 ] [ 命令 ]

重复该命令。 在命令之间插入延迟,默认1秒。 例:

重复在明天 - 镜子重复1d镜子

reput lfile [ -o rfile ]

与`put -c'相同。

rm [ -r ] [ -f ] 文件

删除远程文件。 不扩展通配符, 为此使用mrm 。 -r用于递归目录删除。 要小心,如果出现问题,可能会丢失文件。 -f压缩错误消息。

rmdir dir(s)

删除远程目录。

scache [ 会话 ]

列出缓存的会话或切换到指定的会话。

设置 [ var [ val ]]

将变量设置为给定值。 如果该值被省略,则取消设置该变量。 变量名的格式为``name / closure'',其中闭包可以指定设置的确切应用。 详情请参阅下文。 如果set不带变量调用,那么只列出更改后的设置。 它可以通过选项进行更改:

- 列出所有设置,包括默认值-d仅列出默认值,不需要当前值

网站 site_cmd

执行站点命令site_cmd并输出结果。 你可以重定向它的输出。

睡眠 间隔

睡眠时间间隔并退出。 时间间隔默认为秒,但可以分别用'm','h','d'作为分钟,小时和天数的后缀。 另见at

插槽 [ 名称 ]

选择指定的插槽或列出分配的所有插槽。 插槽是与服务器的连接,有点像虚拟控制台。 您可以创建连接到不同服务器的多个插槽并在它们之间切换。 您还可以使用slot:name作为评估该插槽位置的伪URL。

默认的readline绑定允许使用Meta-0 - Meta-9键在名为0-9的插槽之间快速切换(通常您可以使用Alt而不是Meta)。

文件

执行记录在文件文件中的命令。

暂停

停止lftp过程。 请注意,传输也将停止,直到您使用shell的fg或bg命令继续进行。

用户 用户 [ 合格 ]
用户 网址 [ 通过 ]

使用指定的信息进行远程登录。 如果您指定一个包含用户名的URL,则输入的密码将被缓存,以便futute URL引用可以使用它。

打印lftp版本。

等待 [ jobno ]
等一下

等待指定的作业终止。 如果省略jobno,请等待最后一次后续作业。

“全部等待”等待所有工作终止。

zcat 文件

与cat相同,但通过zcat过滤每个文件。 (另见catmorezmore

zmore 文件

相同,但通过zcat过滤每个文件。 (另请参阅catzcat等)

设置

启动时,lftp执行〜/ .lftprc〜/ .lftp / rc 。 您可以在其中放置别名和“设置”命令。 有些人更喜欢看完整的协议调试,使用`debug'打开调试。

/etc/lftp.conf中还有一个系统范围的启动文件。 它可以在不同的目录中,参见文件部分。

lftp具有以下可设置变量(您也可以使用`set -a'查看所有变量及其值):

bmk:save-passwords (bool)

在“书签添加”命令中的〜/ .lftp /书签中保存纯文本密码。 默认关闭。

cmd:at-exit (字符串)

字符串中的命令在lftp退出前执行。

cmd:csh-history (bool)

启用csh历史扩展。

cmd:default-protocol (string)

当'open'与没有协议的主机名一起使用时,使用该值。 默认是`ftp'。

cmd:fail-exit (布尔)

如果为true,则在无条件(不含||和开始处的&&)命令失败时退出。

cmd:长时间运行 (秒)

命令执行时间被认为是“长”,并在下次提示之前发出嘟嘟声。 0意味着关闭。

cmd:ls-default (字符串)

默认的ls参数

cmd:move-background (boolean)

当错误时,lftp在退出时拒绝进入背景。 强制使用`exit bg'。

cmd:prompt (string)

提示。 lftp识别下列反斜杠转义的特殊字符,它们的解码如下:

\ @

如果当前用户不是默认值,则插入@

\一个

一个ASCII铃声字符(07)

。\ E

一个ASCII转义字符(033)

\H

您连接到的主机名

\ n

新队

\ S

客户端的名称(lftp)

\ S

当前插槽名称

您登录的用户的用户名

带有\ U

远程站点的URL(例如,ftp://g437.ub.gu.se/home/james/src/lftp)

符\ v

lftp的版本(例如,2.0.3)

\ W

远程站点的当前工作目录

\ W

远程站点当前工作目录的基本名称

\ nnn

该字符对应于八进制数字nnn

\\

反斜杠

\?

如果前面的替换为空,则跳过下一个字符。

\ [

开始一系列非打印字符,这些字符可用于将终端控制序列嵌入到提示中

\]

结束一系列非打印字符

cmd:remote-completion (bool)

一个布尔值来控制lftp是否使用远程完成。

cmd:verify-host (bool)

如果为true,则lftp立即在`open'命令中解析主机名。 如果给出'&',或者如果在检查过程中按^ Z,也可以跳过检查单个“打开”命令。

cmd:verify-path (bool)

如果为true,则lftp检查`cd'命令中给出的路径。 如果给出'&',或者如果在检查过程中按^ Z,也可以跳过检查单个“cd”命令。 例子:

set cmd:verify-path / hftp:// * false cd directory&

dns:SRV查询 (布尔)

查询SRV记录并在gethostbyname之前使用它们。 只有在未明确指定端口时才使用SRV记录。 有关详细信息,请参阅RFC2052。

dns:cache-enable (bool)

启用DNS缓存。 如果它关闭,则每次重新连接时,lftp都会解析主机名。

dns:cache-expire (时间间隔)

有时间为DNS缓存条目生存。 它的格式为+,例如1d12h30m5s或仅36h。 要禁用到期,请将其设置为“inf”或“从不”。

dns:cache-size (数字)

DNS缓存条目的最大数量。

dns:致命超时 (秒)

限制DNS查询的时间。 如果DNS服务器不可用太久,lftp将无法解析给定的主机名称。 0表示无限制,默认值。

dns:顺序 (协议名称列表)

设置DNS查询的顺序。 默认是`inet inet6',这意味着首先在inet系列中查找地址,然后inet6和首先使用匹配。

dns:use-fork (bool)

如果为true,则lftp将在解析主机地址之前分叉。 默认值是true。

鱼:贝壳 (串)

在服务器端使用指定的shell。 默认是/ bin / sh。 在某些系统上,当执行cd到不存在的目录时,/ bin / sh会退出。 lftp可以处理,但它必须重新连接。 如果安装了bash,请将其设置为/ bin / bash。

ftp:acct (string)

登录后在ACCT命令中发送此字符串。 结果被忽略。 此设置的关闭格式为user @ host

ftp:anon-pass (字符串)

设置用于匿名ftp访问验证的密码。 默认值是“-name @”,其中name是运行该程序的用户的用户名。

ftp:匿名用户 (字符串)

设置用于匿名ftp访问认证的用户名。 默认是“匿名”。

ftp:自动同步模式 (正则表达式)

如果第一个服务器消息符合此正则表达式,请为该主机启用同步模式。

ftp:bind-data-socket (bool)

将数据套接字绑定到控制连接的接口(处于被动模式)。 缺省值为true,异常是回送接口。

ftp:fix-pasv-address (bool)

如果为true,则当服务器地址处于公共网络并且PASV从专用网络返回地址时,lftp将尝试纠正由服务器返回的PASV命令的地址。 在这种情况下,lftp将替代服务器地址而不是PASV命令返回的地址,端口号不会被更改。 默认值是true。

ftp:fxp-passive-source (bool)

如果是true,则lftp会尝试首先在被动模式下设置源ftp服务器,否则将设置为目标服务器。 如果第一次尝试失败,lftp会尝试以另一种方式设置它们。 如果其他配置也失败,则lftp会回落到原始副本。 另见ftp:use-fxp。

ftp:home (string)

初始目录。 默认为空字符串,表示自动。 如果您不喜欢ftp URL中%2F的外观,请将其设置为`/'。 此设置的关闭格式为user @ host

ftp:list-options (string)

设置总是附加到LIST命令的选项。 如果默认情况下服务器不显示点(隐藏)文件,将其设置为“-a”会很有用。 默认为空。

ftp:nop-interval (秒)

当下载文件的尾部时,NOOP命令之间的延迟。 这对于在冲洗数据传输之前发送“传输完成”消息的ftp服务器很有用。 在这种情况下,NOOP命令可以防止连接超时。

ftp:passive-mode (bool)

设置被动ftp模式。 如果您位于防火墙或哑伪装路由器的后面,这会很有用。

ftp:端口范围 (从 - 到)

允许端口范围为主动模式。 格式为min-max,或者“full”或“any”来指示任何端口。 默认值是'full'。

ftp:代理 (URL)

指定要使用的ftp代理。 要禁用代理,请将此设置为空字符串。 请注意,它是一个使用ftp协议的ftp代理,而不是通过http的ftp。 如果以“ftp://”开头,默认值将从环境变量ftp_proxy中获取。 如果您的ftp代理需要认证,请在URL中指定用户名和密码。

如果ftp:proxy以http://开头,则会自动使用hftp(通过http代理的ftp)而不是ftp。

ftp:rest-list (bool)

允许在LIST命令之前使用REST命令。 这对于大型目录可能很有用,但是一些ftp服务器在LIST之前默默地忽略REST。

ftp:rest-stor (布尔)

如果为false,则在STOR之前lftp不会尝试使用REST。 对于一些有问题的服务器来说,如果使用了REST和STOR,那么这些服务器会损坏文件(用零填充)。

ftp:retry-530 (正则表达式)

如果文本与此正则表达式匹配,请在服务器回复530上重试PASS命令。 此设置应该用于区分服务器过载(临时状态)和密码错误(永久状态)。

ftp:retry-530-anonymous (正则表达式)

额外的匿名登录正则表达式,如ftp:retry-530。

ftp:site-group (string)

登录后在SITE GROUP命令中发送此字符串。 结果被忽略。 此设置的关闭格式为user @ host

ftp:skey-allow (bool)

允许发送skey / opie答复,如果服务器似乎支持它。 默认开启。

ftp:skey-force (bool)

不要通过网络发送纯文本密码,而是使用skey / opie。 如果skey / opie不可用,则认为登录失败。 默认关闭。

ftp:ssl-allow (bool)

如果为true,则尝试与ftp服务器协商SSL连接以进行非匿名访问。 默认值是true。 只有在使用openssl编译lftp时,此设置才可用。

ftp:ssl-force (bool)

如果trus,当服务器不支持SSL时拒绝发送密码。 默认为false。 只有在使用openssl编译lftp时,此设置才可用。

ftp:ssl-protect-data (bool)

如果为true,请求数据传输的ssl连接。 这是cpu密集型的,但提供了隐私。 默认为false。 只有在使用openssl编译lftp时,此设置才可用。

ftp:stat-interval (秒)

STAT命令之间的间隔。 缺省值是1。

ftp:sync-mode (bool)

如果为true,lftp将一次发送一个命令并等待响应。 如果您使用错误的FTP服务器或路由器,这可能很有用。 当它关闭时,lftp会发送一组命令并等待响应 - 当往返时间很长时,它会加快运行速度。 不幸的是,它不适用于所有的ftp服务器,有些路由器有问题,所以默认情况下它是开启的。

ftp:timezone (字符串)

假设这个时间在LIST命令返回的列表中。 该设置可以是GMT偏移[+ | - ] HH [:MM [:SS]]或任何有效的TZ值(例如欧洲/莫斯科或MSK-3MSD,M3.5.0,M10.5.0 / 3)。 默认值是GMT。 将其设置为空值以承担由环境变量TZ指定的本地时区。

ftp:use-abor (bool)

如果为false,则lftp不会发送ABOR命令,而是立即关闭数据连接。

ftp:use-fxp (bool)

如果是true,lftp将尝试建立两个ftp服务器之间的直接连接。

ftp:use-site-idle (bool)

当为true时,lftp用net:idle参数发送`SITE IDLE'命令。 默认为false。

ftp:use-stat (bool)

如果为true,则lftp在FXP模式传输中发送STAT命令以知道已传输了多少数据。 另请参阅ftp:stat-interval。 默认值是true。

ftp:use-quit (bool)

如果为true,则在从ftp服务器断开连接之前,lftp会发送QUIT。 默认值是true。

ftp:verify-address (bool)

验证数据连接来自控制连接对等的网络地址。 这可能会阻止可能导致数据损坏的数据连接欺骗。 不幸的是,当它们没有在数据套接字上设置输出地址时,这对于具有多个网络接口的某个ftp服务器来说可能会失败,因此它在默认情况下被禁用。

ftp:verify-port (bool)

验证数据连接的远程端口是20(ftp-data)。 这可能会阻止远程主机用户的数据连接欺骗。 不幸的是,太多的窗口甚至unix ftp服务器都忘记在数据连接上设置正确的端口,因此默认情况下这个检查是关闭的。

ftp:web-mode (bool)

关闭数据连接后断开连接。 这对完全损坏的ftp服务器可能有用。 默认为false。

hftp:cache (bool)

允许ftp-over-http协议的服务器/代理端缓存。

hftp:代理 (URL)

指定ftp-over-http协议(hftp)的http代理。 显然,协议hftp在没有http代理的情况下无法正常工作。 如果以“http://”开头,则默认值从环境变量ftp_proxy中获取,否则从环境变量http_proxy中获取 。 如果您的ftp代理需要认证,请在URL中指定用户名和密码。

hftp:use-authorization (bool)

如果设置为关闭,lftp会将密码作为URL的一部分发送给代理。 这可能是一些代理(例如M-soft)所必需的。 默认打开,lftp将发送密码作为授权标题的一部分。

hftp:use-head (bool)

如果设置为关闭,lftp将尝试使用'GET'而不是'HEAD'作为hftp协议。 虽然速度较慢,但​​它可能允许lftp使用某些不理解或错误处理HEADftp://请求的代理。

hftp:use-type (bool)

如果设置为关闭,lftp不会尝试将`; type ='附加到传递给代理的URL。 一些破碎的代理不能正确处理它。 默认打开。

http:接受,http:接受字符集,http:接受语言 (字符串)

指定相应的HTTP请求标头。

http:cache (布尔)

允许服务器/代理端缓存。

http:cookie (字符串)

发送这个cookie到服务器。 闭包在这里很有用:
设置cookie / www.somehost.com“param = value”

http:post-content-type (字符串)

指定POST方法的Content-Type http请求头的值。 默认是``application / x-www-form-urlencoded''。

http:代理 (URL)

指定http代理。 它在lftp通过http协议工作时使用。 默认值取自环境变量http_proxy 。 如果您的代理需要认证,请在URL中指定用户名和密码。

http:put-method (PUT或POST)

指定在put上使用哪个http方法。

http:put-content-type (string)

指定PUT方法的Content-Type http请求头的值。

http:referer (字符串)

指定Referer http请求标头的值。 单点'。' 扩展到当前目录URL。 默认是`。'。 设置为空字符串以禁用Referer头。

http:set-cookies (boolean)

如果为true,则当接收到Set-Cookie头时,lftp会修改http:cookie变量。

http:用户代理 (字符串)

字符串lftp在HTTP请求的User-Agent头中发送。

https:代理 (字符串)

指定https代理。 默认值取自环境变量https_proxy

镜像:排除正则表达式 (正则表达式)

指定默认排除模式。 您可以通过--include选项覆盖它。

镜像:顺序 (模式列表)

指定文件传输的顺序。 例如,将此设置为“* .sfv * .sum”会使镜像先传输匹配* .sfv的文件,然后传输匹配* .sum和其他所有文件的文件。 要在其他文件之后处理目录,请将“* /”添加到模式列表的末尾。

镜像:parallel-directories (布尔)

如果为true,则镜像将在并行模式下开始并行处理多个目录。 否则,它将在移动到其他目录之前从单个目录传输文件。

镜像:parallel-transfer-count (数字)

指定允许并行传输镜像的启动次数。 默认值是1.您可以使用--parallel选项覆盖它。

模块:路径 (字符串)

以冒号分隔的目录列表查找模块。 可以通过环境变量LFTP_MODULE_PATH进行初始化。 默认是`PKGLIBDIR / VERSION:PKGLIBDIR'。

net:连接限制 (数量)

并发连接到同一站点的最大数量。 0意味着无限。

net:connection-takeover (bool)

如果为true,则前台连接优先于后台连接,并可中断后台传输以完成前台操作。

净:闲置 (秒)

在空闲秒数之后断开与服务器的连接。

net:限制速率 (每秒字节数)

限制数据连接的传输速率。 0意味着无限。 您可以指定用冒号分隔的两个数字,以分别限制下载和上传速率。

net:limit-max (字节)

限制未使用限制率的积累。 0意味着无限。

net:limit-total-rate (每秒字节数)

限制所有连接的总传输速率。 0意味着无限。 您可以指定用冒号分隔的两个数字,以分别限制下载和上传速率。 请注意,套接字已接收缓冲区,这会导致网络链路负载在传输开始后立即高于此速率限制。 您可以尝试将net:socket-buffer设置为相对较小的值以避免这种情况。

net:limit-total-max (字节)

限制未使用的限制总费率的积累。 0意味着无限。

net:最大重试次数 (number)

一次操作的连续重试最大次数没有成功。 0意味着无限。

网络:无代理 (字符串)

包含不应使用代理的逗号分隔的域列表。 默认值取自环境变量no_proxy

net:persist-retries (数字)

忽略这些硬错误。 当用户太多时,用于登录到可以回复5xx的多功能ftp服务器。

net:reconnect-interval-base (秒)

设置重新连接之间的基本最小时间。 实际时间间隔取决于net:reconnect-interval-multiplier和执行操作的尝试次数。

net:reconnect-interval-max (秒)

设置最大重新连接间隔。 当乘以net:reconnect-interval-multiplier后的当前时间间隔达到此值(或超过此值)时,它会重置为net:reconnect-interval-base。

net:reconnect-interval-multiplier (real number)

每次新尝试执行操作失败时,设置基数区间乘以的乘数。 当间隔达到最大值时,重置为基准值。 请参阅net:reconnect-interval-base和net:reconnect-interval-max。

net:套接字缓冲区 (字节)

对SO_SNDBUF和SO_RCVBUF套接字选项使用给定的大小。 0表示系统默认。

net:socket-maxseg (字节)

使用给定大小的TCP_MAXSEG套接字选项。 并不是所有的操作系​​统都支持这个选项,但是linux可以。

净:超时 (秒)

设置网络协议超时

ssl:ca-file文件路径)

使用指定的文件作为认证中心证书。

ssl:ca-path (目录的路径)

使用指定的目录作为认证中心证书库。

ssl:crl-file文件路径)

使用指定的文件作为证书撤销列表证书。

ssl:crl-path (目录的路径)

使用指定的目录作为证书撤销列表证书存储库。

ssl:密钥文件文件路径)

使用指定的文件作为您的私钥。

ssl:cert-file文件路径)

使用指定的文件作为您的证书。

ssl:verify-certificate (布尔)

如果设置为yes,则验证服务器的证书是由已知的证书颁发机构签署的,而不是证书撤销列表。

xfer:clobber (布尔)

如果此设置关闭,get命令将不会覆盖现有文件并生成错误。 默认打开。

xfer:eta-period (秒)

计算加速平均税率以生产ETA的期间。

xfer:eta-terse (布尔)

展示简洁的ETA(只有高价部件)。 默认值是true。

xfer:最大重定向 (数字)

最大数量的重定向。 这对于通过HTTP进行下载很有用。 缺省值为0,禁止重定向。

xfer:rate-period (秒)

计算加齿平均费率的时间段。

变量的名称可以缩写,除非它变得模糊不清。 `:'之前的前缀也可以省略。 您可以为不同的闭包设置多个变量,因此您可以获得特定状态的特定设置。 在用斜杠'/'分隔变量名后指定闭包。

' dns :',' net :',' ftp :',' http :','hftp:'域变量的关闭当前只是您在“open”命令中指定的主机名称关闭是没有意义的,例如dns:cache-size)。 对于某些`cmd:'域变量,闭包是当前没有路径的URL 。 对于其他变量,目前尚未使用。 请参阅示例lftp.conf中的示例。

某些命令和设置需要一个时间间隔参数。 它的格式为Nx [Nx ...],其中N是时间量,x是时间单位:d - 天,h - 小时,m - 分钟,s - 秒。 默认单位是秒。 例如5h30m。 此外,时间间隔可以是“无限”,“inf”,“从不”,“永远” - 它意味着无限的时间间隔。 例如“永远睡眠”或“设置DNS:缓存永不过期”。

FTP异步模式

Lftp可以通过一次发送多个命令来加速ftp操作,然后检查所有响应。 请参阅ftp:同步模式变量。 有时这不起作用,因此同步模式是默认模式。 您可以尝试关闭同步模式并查看它是否适用于您。 据了解,在一个网络数据包中有多个FTP命令的情况下,一些处理地址转换的网络软件工作不正确。

RFC959说:“用户进程在完成回复之前发送另一个命令将违反协议,但服务器FTP进程应排队在前一个命令正在进行时到达的任何命令”。 另外,RFC1123指出:“实现者不得假定控制连接上的READ边界与Telnet EOL序列(CR LF)之间存在任何对应关系,”“和”从控制连接发出的单个READ可能包含多个FTP命令“ ”。

因此,一次发送多个命令一定是安全的,这会加快操作速度,并且似乎适用于所有基于Unix和VMS的ftp服务器。 不幸的是,基于Windows的服务器通常无法在一个数据包中处理多个命令,因此无法处理某些损坏的路由器。

OPTIONS

-d

打开调试模式

-e 命令

执行给定的命令,不要退出。

-p 端口

使用给定的端口进行连接

-u 用户 [ 通过]

使用给定的用户名密码进行连接

-f script_file

执行文件中的命令并退出

-c 命令

执行给定的命令并退出

也可以看看

ftpd (8), ftp (1)
RFC854(telnet),RFC959(ftp),RFC1123,RFC1945(http / 1.0),RFC2052(SRV RR),RFC2068(http / 1.1),RFC2228(ftp安全扩展),RFC2428(ftp / ipv6)。
http://www.ietf.org/internet-drafts/draft-murray-auth-ftp-ssl-05.txt(ftp over ssl)。

重要提示:使用man命令( %man )查看特定计算机上的命令使用方式。