现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

FTP命令

2012-11-13 22:16 工业·编程 ⁄ 共 10454字 ⁄ 字号 暂无评论

ftp [ -d] [ -g ] [ -i ] [ -n ] [ -v] [ -f ] [ -k realm] [-q[-C]][ HostName [ Port ] ] 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> 提示符下输入。使用双引号 (" ") 指定包含空格字符的参数。
1,![命令 [参数]] 在本地主机上调用交互的 shell。可通过 shell 命令提供带有一个或多个可选参数的可选命令。
2,$>Macro [参数] 执行指定的宏(早先使用 macdef 子命令定义的)。参数不被扩展。
3,?[ 子命令] 显示描述子命令的帮助消息。如果您不指定 Subcommand 参数,ftp 命令将显示已知子命令的清单。
4,account [Password] 发送远程主机在授权对其资源进行访问之前可能需要的补充密码。如果密码不是命令提供的,将提示用户输入密码。密码不在屏幕上显示。
5,append LocalFile [RemoteFile] 将本地文件添加到远程主机文件中。如果远程文件名未指定,则将使用本地文件名,该文件名由 ntrans 子命令或 nmap 子命令生成的任何设置进行改变。添加文件的时候, append 子命令将为 form、mode, struct、和 type 子命令使用当前值。
6,ascii type ascii 子命令的同义词。
7,bell 每个文件传送过程完成之后响一声铃。
8,binary type binary 子命令的同义词。
9,block mode block 子命令的同义词。
10, bye 结束文件传送会话并退出 ftp 命令。与 quit 子命令相同。
11, carriage-control form carriage-control 子命令的同义词。
case 为文件名 case 设置一个切换。当 case 子命令开启的时候ftp 命令将全部远程文件名从大写改成小写(将它们写入本地目录时)。其缺省值为关闭(这样 ftp 命令就会在本地目录中按大写格式写入大写的远程文件名)。
12,cd RemoteDirectory 将远程主机中的工作目录改为指定的目录。
13,cdup 将远程主机中的工作目录改为当前目录的父目录。
14,close 结束文件传送会话,但不要退出 ftp 命令。已定义的宏已被擦除。与disconnect 子命令相同。
15,copylocal 切换本地拷贝。copylocal 缺省值为关闭。ftp 通过向自身执行 ftp 操作确认您未置零文件(如相同的主机名和相同的路径名)。将 copylocal 打开绕过这一检查。
16,cr 在 ASCII 类型文件传送期间接收记录时,从回车和 line-feed 序列中除去回车字符。(ftp 命令在文件传送期间用回车和换行中止每一条 ASCII 类型的记录。)
远程主机(其操作系统与正在运行的操作系统不同)的记录可拥有内嵌于记录中的单一换行。要从记录定界符中区分这些内嵌的换行,请将 cr 子命令设置为关闭。cr 子命令会在开启和关闭中间进行切换。
17,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 标志。
18,delete RemoteFile 删除指定的远程文件。
19,dir [RemoteDirectory][LocalFile] 将所指定的远程目录的内容清单(RemoteDirectory) 写入指定的本地文件(LocalFile)。如果 RemoteDirectory 参数未指定,dir 子命令将列出当前远程目录的内容。如果 LocalFile 参数未指定或是一个 -(连字符),则 dir 子命令将显示本地终端上的清单。
20,disconnect 结束文件传送会话,但不退出 ftp 命令。已定义的宏已被擦除。与 close 子命令相同。
21,ebcdic type ebcdic 子命令的同义词。
22,exp_cmd 在常规的和试验性的协议命令中切换。其缺省值为关闭。
23,file struct file 子命令的同义词。
24,form [ carriage-control | non-print | telnet ] 指定文件传送的格式。form 子命令修改 type 子命令,以便按指示的格式发送文件传送。有效的参数为 carriage-control、non-print 和 telnet。
25,carriage-control
将文件传送格式设置为 carriage-control。
26,non-print
将文件传送格式设置为 non-print。
27,telnet
将文件传送格式设置为 Telnet。Telnet 是打开对系统的连接的传输控制协议/网间协议 (TCP/IP)。
28,get RemoteFile [LocalFile] 将远程文件拷贝到本地主机。如果 LocalFile 参数未指定,将在本地使用远程文件名,并由 case、ntrans 和 nmap 子命令生成的任何设置进行改变。 ftp 命令在传送文件时,将使用 type、form、mode 和 struct 子命令的当前设置。
29,glob 切换 mdelete、mget 和 mput 子命令的文件名拓展(文件名匹配替换)。如果文件名匹配替换禁用,这些子命令的文件名参数将不会拓展。启用了文件名匹配替换以及在期待单一文件名的子命令中使用了模式匹配字符时,结果可能与期待的不一样。
例如,append 和 put 子命令将拓展文件名,然后仅使用所生成第一个文件名。其它 ftp 子命令,如 cd、delete, get、mkdir、rename 和 rmdir 不会执行文件名拓展,并从字面上接受模式匹配字符。
30,mput 子命令的文件名匹配替换在本地执行,其方式与 csh 命令的方式一样。对于 mdelete 和 mget 子命令,每个文件名都是在远程机器上分别地进行扩展的,其清单也不会合并。根据远程主机和 ftp 服务器的不同,目录名的拓展可与文件名的拓展不一样。
要预览目录名的扩展请使用 mls 子命令。
31,mls RemoteFile
要传送文件的整个目录子树,请勿使用 mget 或 mput 子命令,而按二进制格式传送子树的 tar 压缩文档。
32,hash 切换散列符号 (#) 打印。当 hash 子命令是开启的时候ftp 命令会为每个所传送的数据块(1024 字节)显示一个散列符号。
33,help [子命令] 显示帮助信息。请参考 ? 子命令。
34,image type image 子命令的同义词。
35,lcd [Directory] 更改本地主机中的工作目录。如果您未指定目录,ftp 命令将使用主目录。
36,local M type local M 子命令的同义词。
37,ls [RemoteDirectory] [LocalFile] 请将远程目录缩写的文件清单写入本地文件。如果 RemoteDirectory 参数未指定,ftp 命令将列出当前远程目录。如果 LocalFile 参数未指定或是一个 -(连字符),则 ftp 命令将显示本地终端上的清单。
38,macdef Macro 定义子命令宏。随后直到空行的行(两个连续的换行)将作为宏的文本保存。能为所有宏定义多达 16 个宏,包含 4096 个字符。在重新定义或执行 close 子命令前,应将宏保持为已定义的宏。
$(美元符号)和 / (反斜杠) 是 ftp 宏中的特殊字符。跟随一个或多个数字的 $ 符号将被调用行中对应的宏参数所替换(请参考 $ 子命令)。$ 符号后紧随字母 i 表示将要循环该宏,$i 字符组合将被每一传递中连续的字符替换。
第一个参数用于第一个传递,第二个参数用于第二个传递,依此类推。/ 符号会防止下一个字符的特殊处理。请使用 / 符号关闭 $ 和 /.(反斜杠句点)符号的特殊意义。
39,mdelete RemoteFiles 扩展在远程主机上 RemoteFiles 参数所指定的文件,并删除远程文件。
40, [RemoteDirectories LocalFile] 扩展在远程主机上 RemoteDirectories 参数所指定的目录,并将这些目录的内容清单写入在 LocalFile 参数中定义的文件。如果 RemoteDirectories 参数包含模式匹配字符,mdir 子命令将提示输入本地文件(如果没指定)。如果 RemoteDirectories 参数是用空格隔开的远程目录清单,则清单中最后一个参数必须是一个本地文件名或 -(连字符)。
如果 LocalFile 参数是 -(连字符),mdir 子命令将显示本地终端上的清单。如果交互式提示启用(请参考 prompt 子命令),ftp 命令将提示用户验证最后一个参数是本地文件且不是远程目录。
42,mget RemoteFiles 请扩展在远程主机上 RemoteFiles 参数,并将指示的远程文件拷贝到本地主机的当前目录中。请参考 glob 子命令,取得更多有关文件名扩展的信息。远程文件名在本地使用,并由 case、ntrans 和 nmap 子命令所生成的设置进行变更。在传送文件时,ftp 命令将使用 form、mode、struct 和 type 子命令的当前设置。
43,mkdir [RemoteDirectory] 创建在 RemoteDirectory 参数(远程主机中)中指定的目录。
44,mls [RemoteDirectories LocalFile] 扩展在远程主机上在 RemoteDirectories 参数中指定的目录,并将所指示的远程目录的缩写文件清单写入本地文件。如果 RemoteDirectories 参数包含模式匹配字符,mls 子命令将提示输入本地文件(如果没指定)。如果 RemoteDirectories 参数是用空格隔开的远程目录清单,则清单中最后一个参数应是一个本地文件名或 -(连字符)。
如果 LocalFile 参数是 -(连字符),mls 子命令将显示本地终端上的清单。如果交互式提示启用(请参考 prompt 子命令),ftp 命令将提示用户验证最后一个参数是本地文件且不是远程目录。
45,mode [ stream | block ] 设置文件传送方式。如果参数未提供,则缺省值为 stream。
block
请将文件传送方式设置为 block。
stream
将文件传送方式设置为 stream。
46,modtime 显示远程机器中所指定文件的最后修改时间。如果 ftp 命令未连接到执行前的主机,则 modtime 子命令将带错误消息而终止。ftp 命令忽略第一个参数以外的参数。如果 FileName 参数未指定,ftp 命令将提示输入文件名。如果未给出文件名,ftp 命令将把用法消息发送给标准输出,并终止该子命令。
如果远程主机中有 FileName 参数指定的名称,且该名称指定一个文件,则 ftp 命令将包含文件最后修改时间的消息发送给标准输出,并终止该子命令。如果 FileName 指定一个目录,则 ftp 命令将把错误消息发送给标准输出,并终止该子命令。
注意: modtime 子命令在允许的时候会解释元字符。
47,mput [LocalFiles] 扩展在主机的 LocalFiles 参数中指定的文件,并将指示的本地文件复制给远程主机。请参考 glob 子命令,取得更多有关文件名扩展的信息。本地文件名在远程主机中使用,并由 ntrans 和 nmap 子命令所生成的设置进行变更。 ftp 命令会在传送文件时,使用 type、form、mode 和 struct 子命令的当前设置。
48,nlist [RemoteDirectory][LocalFile] 将所指定的远程目录的内容清单(RemoteDirectory) 写入指定的本地文件(LocalFile)。如果 RemoteDirectory 参数未指定,nlist 子命令将列出当前远程目录的内容。如果 LocalFile 参数未指定或是一个 -(连字符),则 nlist 子命令将显示本地终端上的清单。
49,nmap 打开或关闭文件名映射机制。如果未指定任何参数,文件名映射将关闭。如果参数已指定,在没有指定目标文件名的时候,将为 mget 和 mput 子命令以及 get 和 put 子命令映射源文件名。此子命令在本地和远程主机使用不同的文件命名约定和惯例时很有用。映射下列由 InPattern 和 OutPattern 参数设置的模式。
50,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参数中 $(美元符号)、[(左括号)、](右括号)和 ,(逗号)的特殊意义。
51,non-print form non-print 子命令的同义词。
52,ntrans ] 打开或关闭文件名字符翻译机制。如果未指定任何参数,字符翻译将关闭。如果参数已指定,在没有指定目标文件名的时候,将为 mget 和 mput 子命令以及 get 和 put 子命令翻译源文件名中的字符。
此子命令在本地和远程主机使用不同的文件名约定和惯例时很有用。字符翻译遵从 InCharacters 和 OutCharacters 参数设置的模式。匹配InCharacters 参数中字符的源文件名中的字符将由 OutCharacters 参数中对应的字符替换。
如果 InCharacters 参数指定的字符串比 OutCharacters 参数指定的字符串长,而且其在 OutCharacters 参数中无对应的字符,则 InCharacters 参数中的字符将被删除。
53,open HostName [Port] 在由 HostName 参数所指定主机中建立对 FTP 服务器的连接。如果可选的端口号已指定ftp 命令将尝试连接该端口中的服务器。如果已设置自动登录功能(即,该 -n 标志没有在命令行中指定), 则 ftp 命令就会试图让用户登录到 FTP 服务器。
您还必须拥有其中带有正确信息的 $HOME/.netrc 文件和正确的许可集。.netrc 文件应在您的主目录中。
54,passive 切换文件传送的被动方式。在被动方式关闭的情况下调用文件传送命令(如 get、mget 和 put,或 mput)时,ftp 服务器就会打开对客户机的数据连接。在被动方式下,客户机在发送和接收数据的时候打开对主机的数据连接。
55,private 请将保护级别设置为“private”。在此级别,数据的保护既完整而又机密。
56,prompt 切换交互式提示。如果交互式提示启用(缺省值)ftp 命令在检索、发送或删除文件(在 mget、mput, 和 mdelete)之前会提示进行验证操作。否则,ftp 命令会根据所有指定的文件来执行。
57,protect 此指令会返回保护的当前级别。
58,proxy [ 子命令] 在辅助控制连接中执行 ftp 命令。此子命令允许 ftp 子命令同时连接两个远程 FTP 服务器,以便在两个服务器之间传送文件。第一个 proxy 子命令应是建立次要控制连接的 open 子命令。请输入 proxy ? 子命令,查看其它在二级连接中可执行的 ftp 子命令。
下列子命令在由 proxy 子命令开头时的表现会不一样:
* open 子命令在自动登录过程中不定义新的宏。
* close 子命令不会擦除现存的宏定义。
* get 和 mget 子命令从主连接中的主机上将文件传送到二级连接的主机上。
* put、 mput 和 append 子命令从第二连接中的主机上将文件传送到主连接的主机上。
* restart 子命令可由 proxy 命令进行处理。
* status 子命令显示出准确的信息。
文件传送要求第二连接上的 FTP 服务器必须支持 PASV(passive)指令。
59,put LocalFile [RemoteFile] 将本地文件存储到远程主机中。如果您未指定 RemoteFile 参数,ftp 命令将使用本地文件名命名远程文件,而远程文件名由 ntrans 和 nmap 子命令所生成的设置加以改变。 ftp 命令会在传送文件时,将使用 type、form、mode 和 struct 子命令的当前设置。
60,pwd 显示远程主机中的当前目录名。
61,quit 关闭连接并退出 ftp 命令。与 bye 子命令相同。
62,quote 字符串 逐字地将由 String 参数指定的字符串发送到远程主机。执行remotehelp 或 quote help 子命令,显示 String 参数的有效值清单。
注意:涉及数据传输的“Quoting”命令会产生不可预见的结果。
63,record struct record 子命令的同义词。
64,recv RemoteFile [LocalFile] 请将远程文件拷贝到本地主机。与 get 子命令相同。
65,reinitialize 通过刷新所有 I/O 并允许完成传输操作来对 FTP 会话进行重新初始化。按照用户已开始 FTP 会话但未登录到远程主机的情况复位所有缺省值。
66,remotehelp [Subcommand] 请求从远程 FTP 服务器获得帮助。
67,rename FromName ToName 重新命名远程主机上的文件。
68,reset 清除回复队列。此子命令将使命令分析重新同步。
69,restart get | put | append 请在生成上一个检查点的位置重新启动文件传送。要想顺利运行,该子命令应与异常终止子命令相同,包括结构、类型和格式。有效参数为 get、put 和 append。
70,rmdir RemoteDirectory 除去由远程主机中的 RemoteDirectory 参数所指定的远程目录。
71,runique (ReceiveUnique) 在子命令 get 和 mget 期间,切换为本地目的文件创建唯一文件名称的功能。如果此功能为“关闭”状态(预设值),ftp 命令会覆盖本地文件。否则,如果本地文件名与为本地目的文件指定的名称相同,ftp 将使用.1 修改为本地目的文件指定的名称。如果本地文件已使用了新名称,ftp 将把后缀 .2 添加给所指定的名称。如果本地文件已使用了此第二个名称,则 ftp 命令会在找到唯一的文件名或未找到唯一文件名但到达 .99 之前继续增加后缀。如果 ftp 命令找不到唯一的文件名,ftp 会报告错误,传输过程也不会发生。请注意 runique 子命令不会影响从 shell 命令产生的本地文件名。
72,safe 将保护级别设置为“safe”。在此级别,数据的完整性会得到保护。
73,send LocalFile [RemoteFile] 将本地文件存储到远程主机中。其方式与 put 子命令相同。
74,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。
file
将数据传送结构类型设置为 file。
record
将数据传送结构类型设置为 record。
75,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 更有效。
ascii
将文件传送类型设置为网络 ASCII。此类型为缺省值。文件传送使用二进制映像传送可能会更有效。请参考 binary 参数,以取得更多信息。
binary
文件传送类型设置为二进制映像。此类型可能比 ASCII 传送更有效。
ebcdic
将文件传送类型设置为 EBCDIC。
image
将文件传送类型设置为二进制映像。此类型可能比 ASCII 传送更有效。
local M
将文件传送类型设置为本地。M 参数定义每计算机字位的十进制数。此参数没有缺省值。
tenex
将文件传送类型设置为 TENEX 机器需要的类型。
76,user User [Password] [Account] 识别远程 FTP 服务器的本地用户(User)。如果未指定 Password 或 Account 参数,而远程服务器需要它,则 ftp 命令会提示输入本地的密码和帐户。如果 Account 参数是必须的,则 ftp 命令会在远程登录过程完成后将它发送到远程服务器。
注意: 除非通过在命令行上指定 -n 标志来禁用自动登录,否则 ftp 命令将 User、Password和 Account 参数自动地发送给远程服务器用于初始连接。您亦需主目录中的 .netrc 文件以便发布自动登录。
verbose 切换详细方式。如果详细方式启用(缺省值),ftp 命令将显示远程 FTP 服务器的全部响应。另外, ftp 会在传输完成后显示所有文件传送的统计信息。

给我留言

留言无头像?