在本地主机和远程主机之间传送文件。
ftp [ -d] [ -g ] [ -i ] [ -n ] [ -v] [ -f ] [ -k realm] [-q[-C]][ HostName [ Port ] ]
ftp 命令使用“文件传送协议” (FTP) 在本地和远程主机或远程主机之间传送文件。
FTP 协议允许在使用不同文件系统的主机之间进行数据传送。尽管协议在传送数据中提供了很高的灵活度,它仍然不会尝试保留特定于某个文件系统的文件属性(如文件保护模式或修改时间)。而且,FTP 协议为文件系统的整体结构做了少许假设,且不提供或不允许诸如循环地复制子目录这样的函数。
请注意:如果您正在系统之间传送文件,且需要保存文件属性或递归地复制子目录,请使用 rcp 命令。
您可以在 ftp> 提示符中输入子命令,执行类似这样的任务:列出远程目录、更改当前的本地和远程目录、在单一请求中传送多个文件、创建和除去目录,以及转义到本地 shell 执行 shell 命令。请参考子命令章节取得每个子命令的描述信息。
如果您执行 ftp 命令而不为远程主机指定 HostName 参数,ftp 命令会立即显示 ftp> 提示符,等待 ftp 子命令。要连接远程主机,请执行 open 子命令。 当 ftp 命令连接到远程主机时,ftp 命令在再次显示提示符 ftp> 之前会提示输入登录名和密码。如果远程主机中未定义登录名的密码,ftp 命令将不成功。
ftp 命令解释器(处理在 ftp> 提示符处输入的全部子命令),会提供大多数文件传送程序没有的性能,如:
这些性能会帮助您简化重复的任务,并允许您在 unattended 方式使用 ftp 命令。
命令解释器将按照下列规则处理文件名参数:
例如,append 和 put 子命令将拓展文件名,然后仅使用所生成第一个文件名。其它 ftp 子命令,如 cd、delete, get、mkdir、rename 和 rmdir 不会执行文件名拓展,并从字面上接受模式匹配字符。
请注意:ftp 命令解释器不支持管道。也无需支持所有多字节字符文件名。
要在互动地运行的时候结束 ftp 会话,请使用 quit 或 bye 子命令或 ftp> 提示符处的End of File (Ctrl-D) 按键顺序。要在文件传送未完成之前结束它,请按中断按键顺序。其缺省“中断键”序列是 Ctrl-C。stty 指令能用于重新定义该键系列。
ftp 命令在正常情况下会立即暂停正在发送(从本地主机到远端主机)的传输。ftp 命令通过将 FTP ABOR 指令发送到远程 FTP 服务器,来暂停正在接收的传输(从远程主机到本地主机),并废弃所有传入的文件传送包(直到远程服务器停止发送它们为止)。如果远程服务器不支持 ABOR 指令,在远程服务器未发送所有请求的文件之前,ftp 命令不会显示 ftp> 提示符。另外,如果远程服务器执行未期望的操作时,可能需要结束本地 ftp 进程。
ftp 命令也会通过将密码发送到远程主机来处理安全性,并许可自动登录、文件传送和注销操作。
如果您执行 ftp 命令并指定远程主机的主机名 (HostName), ftp 命令会尝试建立一个对于指定主机的连接。如果 ftp 命令连接成功,ftp 命令会在当前目录或主目录中搜索本地的 $HOME/.netrc 文件。如果文件存在,ftp 命令会在文件中搜索启动登录过程的入口,在命令宏定义中搜索远程主机。如果 $HOME/.netrc 文件或自动登录项不存在,或是系统已使用 securetcpip 命令保护起来, ftp 命令会提示用户输入用户名和密码。不论命令行中是否指定 HostName 参数,该指令都会显示此提示。
请注意: 排队系统不支持多字节主机名。
如果 ftp 命令找到指定主机的$HOME/.netrc 自动登录项, ftp 会试图使用该登录项中的信息登录远程主机。ftp 命令也会载入任何在登录项中定义的命令宏。在某些情况(例如,所需的密码在自动登录项中没有列出来),ftp 命令会在显示 ftp> 提示符之前提示输入密码。
一旦 ftp 命令完成自动登录,如果宏是在自动登录项中定义的,ftp 命令就会执行init 宏。如果init 宏不存在或未包含 quit 或 bye 子命令,ftp 命令将显示 ftp> 提示符并等待子命令。
请注意: 在提示符或在 $HOME/.netrc 文件中指定的远程主机名必须存在,并拥有在远程主机中定义的密码。否则,ftp 指令无效。
ftp 命令会按在 IETF 草稿文挡 "draft-ietf-cat-ftpsec-09.txt" 定义的那样将此拓展用于 ftp 规范。FTP 安全性扩展将使用“Generic Security Service API (GSSAPI)”安全机制来实现。GSSAPI 提供对于基础的安全性和通信机制来说是独立的服务。GSSAPI 是在 rfc 1508 和 1509 中定义的。
ftp 命令将使用 AUTH 和 ADAT 命令验证 ftpd 守护进程。如果两者都支持 Kerberos 认证,则它们会使用本地用户 DCE 凭证验证远程系统上的用户。如果这样失败了,且两个系统中都配置了“标准的”认证,则会使用上述的过程。
HostName 参数是传送文件的目的地主机名称。可选的 Port 参数指定了端口的标识符,通过此端口进行传输。(/etc/services 文件指定了缺省端口。)
-C | 允许用户指定:通过 send_file 命令发出的文件必须在网络高速缓冲区(NBC)中经过缓存处理。此标志必须在指定了 -q 标志的情况下使用。只有当文件在无保护的情况下以二进制方式发送时此标志才适用。 |
-d | 将有关 ftp 命令操作的调试信息发送给 syslogd 守护进程。如果您指定 -d 标志,您必须编辑 /etc/syslog.conf 文件并添加下列中的一项:
user.info FileName OR user.debug FileName 请注意: syslogd 守护进程调试级别包含信息级别消息。 如果不编辑 /etc/syslog.conf 文件,则不会产生消息。变更了 /etc/syslog.conf 文件之后,请运行 refresh -s syslogd 或 kill -1 SyslogdPID 命令,以通知 syslogd 守护进程其配置文件的变更。关于调试级别的更多信息,请参考 /etc/syslog.conf 文件。也请参考 debug 子命令。 |
-g | 禁用文件名中的元字符拓展。解释元字符可参考为扩展(有时叫做文件名匹配替换)文件名。请参考 glob 子命令。 |
-i | 关闭多文件传送中的交互式提示。请参考 prompt、mget、mput 和 mdelete 子命令,以取得多文件传送中的提示的描述。 |
-n | 防止在起始连接中的自动登录。否则, ftp 命令会搜索 $HOME/.netrc 登录项,该登录项描述了远程主机的登录和初始化过程。请参考 user 子命令。 |
-q | 允许用户指定: send_file 子例程必须用于在网络上发送文件。只有当文件在无保护的情况下以二进制方式发送时此标志才适用。 |
-v | 显示远程服务器的全部响应,并提供数据传输的统计信息。当 ftp 命令的输出是到终端(如控制台或显示)时,此显示方式是缺省方式。
如果 stdin 不是终端,除非用户调用带有 -v 标志的 ftp 命令,或发送 verbose 子命令,否则 ftp 详细方式将禁用。 |
-f | 导致转发凭证。如果 Kerberos 5 不是当前认证方法,则此标志将被忽略。 |
-k realm | 如果远程站的域不同于本地系统的域,系统将允许用户指定远程站的域。因此,域和 DCE 单元是同义的。如果 Kerberos 5 不是当前认证方法,则此标志将被忽略。 |
下列 ftp 子命令在 ftp> 提示符下输入。使用双引号 (" ") 指定包含空格字符的参数。
![命令 [参数]] | 在本地主机上调用交互的 shell。可通过 shell 命令提供带有一个或多个可选参数的可选命令。 |
$>Macro [参数] | 执行指定的宏(早先使用 macdef 子命令定义的)。参数不被扩展。 |
?[ 子命令] | 显示描述子命令的帮助消息。如果您不指定 Subcommand 参数,ftp 命令将显示已知子命令的清单。 |
account [Password] | 发送远程主机在授权对其资源进行访问之前可能需要的补充密码。如果密码不是命令提供的,将提示用户输入密码。密码不在屏幕上显示。 |
append LocalFile [RemoteFile] | 将本地文件添加到远程主机文件中。如果远程文件名未指定,则将使用本地文件名,该文件名由 ntrans 子命令或 nmap 子命令生成的任何设置进行改变。添加文件的时候, append 子命令将为 form、mode, struct、和 type 子命令使用当前值。 |
ascii | type ascii 子命令的同义词。 |
bell | 每个文件传送过程完成之后响一声铃。 |
binary | type binary 子命令的同义词。 |
block | mode block 子命令的同义词。 |
bye | 结束文件传送会话并退出 ftp 命令。与 quit 子命令相同。 |
carriage-control | form carriage-control 子命令的同义词。 |
case | 为文件名 case 设置一个切换。当 case 子命令开启的时候ftp 命令将全部远程文件名从大写改成小写(将它们写入本地目录时)。其缺省值为关闭(这样 ftp 命令就会在本地目录中按大写格式写入大写的远程文件名)。 |
cd RemoteDirectory | 将远程主机中的工作目录改为指定的目录。 |
cdup | 将远程主机中的工作目录改为当前目录的父目录。 |
close | 结束文件传送会话,但不要退出 ftp 命令。已定义的宏已被擦除。与disconnect 子命令相同。 |
copylocal | 切换本地拷贝。copylocal 缺省值为关闭。ftp 通过向自身执行 ftp 操作确认您未置零文件(如相同的主机名和相同的路径名)。将 copylocal 打开绕过这一检查。 |
cr | 在 ASCII 类型文件传送期间接收记录时,从回车和 line-feed 序列中除去回车字符。(ftp 命令在文件传送期间用回车和换行中止每一条 ASCII 类型的记录。)
远程主机(其操作系统与正在运行的操作系统不同)的记录可拥有内嵌于记录中的单一换行。要从记录定界符中区分这些内嵌的换行,请将 cr 子命令设置为关闭。cr 子命令会在开启和关闭中间进行切换。 |
debug [0 | 1] | 在调试记录保持开启和关闭之间进行切换。指定 debug 或 debug 1,以打印发送到远程主机的每一个命令,并保存重新启动的控制文件。重新指定 debug 或 debug 0,停止调试记录保持。Ctrl-C 键也会保存重新启动的控制文件。
指定 debug 子命令将有关 ftp 命令操作的调试信息发送给 syslogd 守护进程。如果指定了 debug 子命令,您必须编辑 /etc/syslog.conf 文件并添加下列中的其中一项: user.info FileName OR user.debug FileName 请注意: syslogd 守护进程调试级别包含信息级别消息。 如果不编辑 /etc/syslog.conf 文件,则不会产生消息。变更了 /etc/syslog.conf 文件之后,请运行 refresh -s syslogd 或 kill -1 SyslogdPID 命令,以通知 syslogd 守护进程其配置文件的变更。关于调试级别的更多信息,请参考 /etc/syslog.conf 文件。也请参考 ftp -d 标志。 |
delete RemoteFile | 删除指定的远程文件。 |
dir [RemoteDirectory][LocalFile] | 将所指定的远程目录的内容清单(RemoteDirectory) 写入指定的本地文件(LocalFile)。如果 RemoteDirectory 参数未指定,dir 子命令将列出当前远程目录的内容。如果 LocalFile 参数未指定或是一个 -(连字符),则 dir 子命令将显示本地终端上的清单。 |
disconnect | 结束文件传送会话,但不退出 ftp 命令。已定义的宏已被擦除。与 close 子命令相同。 |
ebcdic | type ebcdic 子命令的同义词。 |
exp_cmd | 在常规的和试验性的协议命令中切换。其缺省值为关闭。 |
file | struct file 子命令的同义词。 |
form [ carriage-control | non-print | telnet ] | 指定文件传送的格式。form 子命令修改 type 子命令,以便按指示的格式发送文件传送。有效的参数为 carriage-control、non-print 和 telnet。 |
get RemoteFile [LocalFile] | 将远程文件拷贝到本地主机。如果 LocalFile 参数未指定,将在本地使用远程文件名,并由 case、ntrans 和 nmap 子命令生成的任何设置进行改变。 ftp 命令在传送文件时,将使用 type、form、mode 和 struct 子命令的当前设置。 |
glob | 切换 mdelete、mget 和 mput 子命令的文件名拓展(文件名匹配替换)。如果文件名匹配替换禁用,这些子命令的文件名参数将不会拓展。启用了文件名匹配替换以及在期待单一文件名的子命令中使用了模式匹配字符时,结果可能与期待的不一样。
例如,append 和 put 子命令将拓展文件名,然后仅使用所生成第一个文件名。其它 ftp 子命令,如 cd、delete, get、mkdir、rename 和 rmdir 不会执行文件名拓展,并从字面上接受模式匹配字符。 mput 子命令的文件名匹配替换在本地执行,其方式与 csh 命令的方式一样。对于 mdelete 和 mget 子命令,每个文件名都是在远程机器上分别地进行扩展的,其清单也不会合并。根据远程主机和 ftp 服务器的不同,目录名的拓展可与文件名的拓展不一样。 要预览目录名的扩展请使用 mls 子命令。 mls RemoteFile |
hash | 切换散列符号 (#) 打印。当 hash 子命令是开启的时候ftp 命令会为每个所传送的数据块(1024 字节)显示一个散列符号。 |
help [子命令] | 显示帮助信息。请参考 ? 子命令。 |
image | type image 子命令的同义词。 |
lcd [Directory] | 更改本地主机中的工作目录。如果您未指定目录,ftp 命令将使用主目录。 |
local M | type local M 子命令的同义词。 |
ls [RemoteDirectory] [LocalFile] | 请将远程目录缩写的文件清单写入本地文件。如果 RemoteDirectory 参数未指定,ftp 命令将列出当前远程目录。如果 LocalFile 参数未指定或是一个 -(连字符),则 ftp 命令将显示本地终端上的清单。 |
macdef Macro | 定义子命令宏。随后直到空行的行(两个连续的换行)将作为宏的文本保存。能为所有宏定义多达 16 个宏,包含 4096 个字符。在重新定义或执行 close 子命令前,应将宏保持为已定义的宏。
$(美元符号)和 \ (反斜杠) 是 ftp 宏中的特殊字符。跟随一个或多个数字的 $ 符号将被调用行中对应的宏参数所替换(请参考 $ 子命令)。$ 符号后紧随字母 i 表示将要循环该宏,$i 字符组合将被每一传递中连续的字符替换。 第一个参数用于第一个传递,第二个参数用于第二个传递,依此类推。\ 符号会防止下一个字符的特殊处理。请使用 \ 符号关闭 $ 和 \.(反斜杠句点)符号的特殊意义。 |
mdelete RemoteFiles | 扩展在远程主机上 RemoteFiles 参数所指定的文件,并删除远程文件。 |
mdir [RemoteDirectories LocalFile] | 扩展在远程主机上 RemoteDirectories 参数所指定的目录,并将这些目录的内容清单写入在 LocalFile 参数中定义的文件。如果 RemoteDirectories 参数包含模式匹配字符,mdir 子命令将提示输入本地文件(如果没指定)。如果 RemoteDirectories 参数是用空格隔开的远程目录清单,则清单中最后一个参数必须是一个本地文件名或 -(连字符)。
如果 LocalFile 参数是 -(连字符),mdir 子命令将显示本地终端上的清单。如果交互式提示启用 (请参考 prompt 子命令),ftp 命令将提示用户验证最后一个参数是本地文件且不是远程目录。 |
mget RemoteFiles | 请扩展在远程主机上 RemoteFiles 参数,并将指示的远程文件拷贝到本地主机的当前目录中。请参考 glob 子命令,取得更多有关文件名扩展的信息。远程文件名在本地使用,并由 case、ntrans 和 nmap 子命令所生成的设置进行变更。在传送文件时,ftp 命令将使用 form、mode、struct 和 type 子命令的当前设置。 |
mkdir [RemoteDirectory] | 创建在 RemoteDirectory 参数(远程主机中)中指定的目录。 |
mls [RemoteDirectories LocalFile] | 扩展在远程主机上在 RemoteDirectories 参数中指定的目录,并将所指示的远程目录的缩写文件清单写入本地文件。如果 RemoteDirectories 参数包含模式匹配字符,mls 子命令将提示输入本地文件(如果没指定)。如果 RemoteDirectories 参数是用空格隔开的远程目录清单,则清单中最后一个参数应是一个本地文件名或 -(连字符)。
如果 LocalFile 参数是 -(连字符),mls 子命令将显示本地终端上的清单。如果交互式提示启用 (请参考 prompt 子命令),ftp 命令将提示用户验证最后一个参数是本地文件且不是远程目录。 |
mode [ stream | block ] | 设置文件传送方式。如果参数未提供,则缺省值为 stream。 |
modtime | 显示远程机器中所指定文件的最后修改时间。如果 ftp 命令未连接到执行前的主机,则 modtime 子命令将带错误消息而终止。ftp 命令忽略第一个参数以外的参数。如果 FileName 参数未指定,ftp 命令将提示输入文件名。如果未给出文件名,ftp 命令将把用法消息发送给标准输出,并终止该子命令。
如果远程主机中有 FileName 参数指定的名称,且该名称指定一个文件,则 ftp 命令将包含文件最后修改时间的消息发送给标准输出,并终止该子命令。如果 FileName 指定一个目录,则 ftp 命令将把错误消息发送给标准输出,并终止该子命令。 注意: modtime 子命令在允许的时候会解释元字符。 |
mput [LocalFiles] | 扩展在主机的 LocalFiles 参数中指定的文件,并将指示的本地文件复制给远程主机。请参考 glob 子命令,取得更多有关文件名扩展的信息。本地文件名在远程主机中使用,并由 ntrans 和 nmap 子命令所生成的设置进行变更。 ftp 命令会在传送文件时,使用 type、form、mode 和 struct 子命令的当前设置。 |
nlist [RemoteDirectory][LocalFile] | 将所指定的远程目录的内容清单(RemoteDirectory) 写入指定的本地文件(LocalFile)。如果 RemoteDirectory 参数未指定,nlist 子命令将列出当前远程目录的内容。如果 LocalFile 参数未指定或是一个 -(连字符),则 nlist 子命令将显示本地终端上的清单。 |
nmap [InPattern OutPattern] | 打开或关闭文件名映射机制。如果未指定任何参数,文件名映射将关闭。如果参数已指定,在没有指定目标文件名的时候,将为 mget 和 mput 子命令以及 get 和 put 子命令映射源文件名。此子命令在本地和远程主机使用不同的文件命名约定和惯例时很有用。映射下列由 InPattern 和 OutPattern 参数设置的模式。
InPattern 参数为传入的文件名指定了模板,该文件名有可能已根据 case 和 ntrans 设置处理过。可将从 $1 到 $9 的模板变量包含进 InPattern 参数。除 $(美元符号)和 \$ (反斜杠,美元符号)以外,InPattern 参数中的所有字符,都是按字面意义处理的,并用作 InPattern 变量之间的定界符。例如,如果 InPattern 参数是 $1.$2 且远程文件名是 mydata.dat,则 $1 的值是 mydata,$2 的值是 dat。 此 OutPattern 参数确定结果文件名。从 $1 到 $9 的变量将被它们从 InPattern 参数获得的值替换,而变量 $0 将由原文件名替换。另外,如果 Sequence1 不为空,序列 [Sequence1,Sequence2] 将由 Sequence1 替换;否则它将由 Sequence2 的值替换。例如,子命令: nmap $1.$2.$3 [$1,$2].[$2,file] 会从 myfile.data 或 myfile.data.old 中产生 myfile.data,从 myfile 中产生 myfile.file,从 .myfile中产生myfile.myfile。请使用 \ (反斜杠) 符号防止 OutPattern参数中 $(美元符号)、[(左括号)、](右括号)和 ,(逗号)的特殊意义。 |
non-print | form non-print 子命令的同义词。 |
ntrans [InCharacters [OutCharacters]] | 打开或关闭文件名字符翻译机制。如果未指定任何参数,字符翻译将关闭。如果参数已指定,在没有指定目标文件名的时候,将为 mget 和 mput 子命令以及 get 和 put 子命令翻译源文件名中的字符。
此子命令在本地和远程主机使用不同的文件名约定和惯例时很有用。字符翻译遵从 InCharacters 和 OutCharacters 参数设置的模式。匹配InCharacters 参数中字符的源文件名中的字符将由 OutCharacters 参数中对应的字符替换。 如果 InCharacters 参数指定的字符串比 OutCharacters 参数指定的字符串长,而且其在 OutCharacters 参数中无对应的字符,则 InCharacters 参数中的字符将被删除。 |
open HostName [Port] | 在由 HostName 参数所指定主机中建立对 FTP 服务器的连接。如果可选的端口号已指定ftp 命令将尝试连接该端口中的服务器。如果已设置自动登录功能(即,该 -n 标志没有在命令行中指定),
则 ftp 命令就会试图让用户登录到 FTP 服务器。
您还必须拥有其中带有正确信息的 $HOME/.netrc 文件和正确的许可集。.netrc 文件应在您的主目录中。 |
passive | 切换文件传送的被动方式。在被动方式关闭的情况下调用文件传送命令(如 get、mget 和 put,或 mput)时,ftp 服务器就会打开对客户机的数据连接。在被动方式下,客户机在发送和接收数据的时候打开对主机的数据连接。 |
private | 请将保护级别设置为“private”。在此级别,数据的保护既完整而又机密。 |
prompt | 切换交互式提示。如果交互式提示启用(缺省值)ftp 命令在检索、发送或删除文件(在 mget、mput, 和 mdelete)之前会提示进行验证操作。否则,ftp 命令会根据所有指定的文件来执行。 |
protect | 此指令会返回保护的当前级别。 |
proxy [ 子命令] | 在辅助控制连接中执行 ftp 命令。此子命令允许 ftp 子命令同时连接两个远程 FTP 服务器,以便在两个服务器之间传送文件。第一个 proxy 子命令应是建立次要控制连接的 open 子命令。请输入 proxy ? 子命令,查看其它在二级连接中可执行的 ftp 子命令。
下列子命令在由 proxy 子命令开头时的表现会不一样:
文件传送要求第二连接上的 FTP 服务器必须支持 PASV(passive)指令。 |
put LocalFile [RemoteFile] | 将本地文件存储到远程主机中。如果您未指定 RemoteFile 参数,ftp 命令将使用本地文件名命名远程文件,而 远程文件名由 ntrans 和 nmap 子命令所生成的设置加以改变。 ftp 命令会在传送文件时,将使用 type、form、mode 和 struct 子命令的当前设置。 |
pwd | 显示远程主机中的当前目录名。 |
quit | 关闭连接并退出 ftp 命令。与 bye 子命令相同。 |
quote 字符串 | 逐字地将由 String 参数指定的字符串发送到远程主机。执行remotehelp 或 quote help 子命令,显示 String 参数的有效值清单。
注意:涉及数据传输的“Quoting”命令会产生不可预见的结果。 |
record | struct record 子命令的同义词。 |
recv RemoteFile [LocalFile] | 请将远程文件拷贝到本地主机。与 get 子命令相同。 |
reinitialize | 通过刷新所有 I/O 并允许完成传输操作来对 FTP 会话进行重新初始化。按照用户已开始 FTP 会话但未登录到远程主机的情况复位所有缺省值。 |
remotehelp [Subcommand] | 请求从远程 FTP 服务器获得帮助。 |
rename FromName ToName | 重新命名远程主机上的文件。 |
reset | 清除回复队列。此子命令将使命令分析重新同步。 |
restart get | put | append | 请在生成上一个检查点的位置重新启动文件传送。要想顺利运行,该子命令应与异常终止子命令相同,包括结构、类型和格式。有效参数为 get、put 和 append。 |
rmdir RemoteDirectory | 除去由远程主机中的 RemoteDirectory 参数所指定的远程目录。 |
runique | (ReceiveUnique) 在子命令 get 和 mget 期间,切换为本地目的文件创建唯一文件名称的功能。如果此功能为“关闭”状态(预设值),ftp 命令会覆盖本地文件。否则,如果本地文件名与为本地目的文件指定的名称相同,ftp 将使用.1 修改为本地目的文件指定的名称。如果本地文件已使用了新名称,ftp 将把后缀 .2 添加给所指定的名称。如果本地文件已使用了此第二个名称,则 ftp 命令会在找到唯一的文件名或未找到唯一文件名但到达 .99 之前继续增加后缀。如果 ftp 命令找不到唯一的文件名,ftp 会报告错误,传输过程也不会发生。请注意 runique 子命令不会影响从 shell 命令产生的本地文件名。 |
safe | 将保护级别设置为“safe”。在此级别,数据的完整性会得到保护。 |
send LocalFile [RemoteFile] | 将本地文件存储到远程主机中。其方式与 put 子命令相同。 |
sendport | 切换对于 FTP PORT 指令的使用。根据预设,ftp 命令在为每个数据传输建立连接的时候会使用 PORT 指令。当禁用 PORT 指令时,ftp 不会在数据传输中使用 PORT 命令。PORT 指令在处理某些 FTP 服务器时很有用,那些服务器在未正确指示指令已被接受时会忽略 PORT 指令。 |
site Args | 使用 chmod 命令显示或设置空闲超时周期、显示或设置文件创建 umask 或更改文件的许可权。Args 参数可能的值是 umask 和 chmod。 |
size RemoteFile | 以字节的方式显示 RemoteFile 参数所指定的远程文件的大小。 |
status | 显示 ftp 命令的当前状态以及子命令的状态。 |
stream | mode stream 子命令的同义词。 |
struct [ file | record ] | 设置数据传送结构类型。有效的参数为 file 和 record。 |
sunique | (Send/Store Unique) 在子命令 put 和 mput 期间,切换为远程目的文件创建唯一文件名称的功能。如果此功能为“关闭”状态(预设值),ftp 命令会覆盖远程文件。否则,如果远程文件名与为远程目的文件指定的名称相同,远程 FTP 服务器会修改远程目的文件的名称。请注意远程服务器必须支持 STOU 指令。 |
系统 | 显示在远程机器上运行的操作系统类型。 |
telnet | form telnet 子命令的同义词。 |
tenex | type tenex 子命令的同义词。 |
跟踪 | 切换包跟踪。 |
type [ ascii | binary | ebcdic | image | local M | tenex ] | 设置文件传送类型。有效参数是 ascii、binary、ebcdic、image,、local M 和 tenex。如果参数未指定,则当前类型被显示。缺省类型为 ascii;binary 类型可能会比 ascii 更有效。 |
user User [Password] [Account] | 识别远程 FTP 服务器的本地用户(User)。如果未指定 Password 或 Account 参数,而远程服务器需要它,则 ftp 命令会提示输入本地的密码和帐户。如果 Account 参数是必须的,则 ftp 命令会在远程登录过程完成后将它发送到远程服务器。
注意: 除非通过在命令行上指定 -n 标志来禁用自动登录,否则 ftp 命令将 User、Password和 Account 参数自动地发送给远程服务器用于初始连接。您亦需主目录中的 .netrc 文件以便发布自动登录。 |
verbose | 切换详细方式。如果详细方式启用(缺省值),ftp 命令将显示远程 FTP 服务器的全部响应。另外, ftp 会在传输完成后显示所有文件传送的统计信息。 |
$ ftp canopus 连接 canopus.austin.century.com. 220 canopus.austin.century.com FTP 服务器(4.1 版 1991年 11 月 23 日 周六 12:52:09 CST)就绪。 名称 (canopus:eric):dee 331 dee 所需要的密码。 密码: 230 用户 dee 登录。 ftp> 帮助 Commands 可能为缩写。命令: ! delete mdelete proxy runique $ debug mdir sendport send account dir mget put size append disconnect mkdir pwd status ascii form mls quit struct bell get mode quote sunique binary glob modtime recv system bye hash mput remotehelp tenex case help nmap rstatus trace cd image nlist rhelp type cdup lcd ntrans rename user close ls open reset verbose cr macdef prompt rmdir ? clear private protect safe ftp> remotehelp 214 — 识别下列命令(* => 未实施)。 USER PORT RETR MSND* ALLO DELE SITE* XMKD CDUP PASS PASV STOR MSOM* REST* CWD STAT* RMD XCUP ACCT* TYPE APPE MSAM* RNFR XCWD HELP XRMD STOU REIN* STRU MLFL* MRSQ* RNTO LIST NOOP PWD QUIT MODE MAIL* MRCP* ABOR NLST MKD XPWD AUTH ADAT PROT PBSZ MIC ENC CCC 214 将意见发送给 ftp-bugs@canopus.austin.century.com。 ftp> 状态 连接 canopus.austin.century.com. 无代理连接。 方式:流;类型:ascii;表单:非打印的;结构:文件 详细: 开; Bell: 关; 提示:开; 文件名匹配替换: 开 存储唯一: 关; 接收唯一:关 Case: 关; CR stripping: 开 Ntrans: 关 Nmap: 关 散列标记打印:关;PORT cmds 的使用:开 ftp> bell Bell 方式开启 ftp> 提示符 交互方式关闭。 ftp> runique 接收唯一开启。 ftp> trace 包跟踪开启。 ftp> verbose 详细方式关闭。 ftp> quit $
$ ftp canopus 连接 canopus.austin.century.com. 220 canopus.austin.century.com FTP 服务器(4.1 版 1991年 11 月 23 日 周六 12:52:09 CST)就绪。 名称 (canopus:eric):dee 331 dee 所需要的密码。 密码: 230 用户 dee 登入。 ftp> pwd 257 "/home/dee" 为当前目录。 ftp> cd 桌面 250 CWD 命令顺利完成。 ftp> 类型 ascii 200 类型设置为 A。 ftp> 发送 typescript 200 PORT 命令顺利完成。 150 为 typescript (128.114.4.99,1412) 打开数据连接。 226 传输完成。 ftp> cdup 250 CWD 命令顺利完成。 ftp> bye 221 再见。$
$ ftp canopus 连接 canopus.austin.century.com. 220 canopus.austin.century.com FTP 服务器(4.1 版 1991年 11 月 23 日 周六 12:52:09 CST)就绪。 331 dee 所需要的密码。 230 用户 dee 登入。 ftp> cdup 250 CWD 命令顺利完成。 ftp> pwd 257 "/home" 是当前目录。 ftp> dir 200 PORT 命令顺利完成。 150 为 /usr/bin/ls (128.114.4.99,1407) 打开数据连接。 (0 字节)。 一共 104 drwxr-xr-x 2 system 32 Feb 23 17:55 bin Drwxr-xr-x 26 rios 4000 May 30 17:18 bin1 drwxr-xr-x 2 system 32 Feb 23 17:55 books drwxrwxrwx 18 rios 1152 Jun 5 13:41 dee -r--r--r-- 1 system 9452 May 17 12:21 filesystems drwxr-xr-x 2 system 32 Feb 23 17:55 jim drwxr-xr-x 5 system 80 Feb 23 17:55 krs drwxrwxrwx 2 rios 16432 Feb 23 17:36 lost+found -rwxr-xr-x 1 rios 3651 May 24 16:45 oldmail drwxr-xr-x 2 system 256 Feb 23 17:55 pubserv drwxrwxrwx 2 system 144 Feb 23 17:55 rein989 drwxr-xr-x 2 system 112 Feb 23 17:55 reinstall 226 传输完成。 ftp> 删除旧邮件。 250 DELE 命令顺利完成。 ftp> mdir /home/dee/bin binlist output to local-file: binlist? y 200 PORT 命令顺利完成。 150 为 /usr/bin/ls (128.114.4.99,1408)(0 字节)打开数据连接。 226 传输完成。 ftp> close 221 再见。 ftp> quit $
/usr/samples/tcpip/netrc | 包含 .netrc 样本文件。 |
/etc/syslog.conf | 包含 syslogd 守护进程的配置信息。 |
csh 命令、kill 命令、 rcp 命令、refresh 命令、rlogin 命令、rsh 命令、 stty 命令、telnet 命令和 tftp 命令。
.netrc 文件格式。
《AIX 5L V5.2 系统用户指南:通信与网络》中的『使用 ftp 命令复制文件』。
《AIX 5L V5.2 系统管理指南:通信与网络》中的『网络概述』。
《AIX 5L V5.2 系统用户指南:通信与网络》中的『安全 Rcmd』。
《AIX 5L V5.2 性能管理指南》中的『网络选项可调参数』。