AIX命令参考大全,卷 5,s - u - tftp 或 utftp 命令

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 5,s - u

tftp 或 utftp 命令

用途

使用次要文件传输协议(TFTP)在主机间传输文件。

语法

{tftp | utftp} { -g -o -p -r -w } LocalName HostPort  RemoteName [ netascii | image]

交互格式语法

命令行格式语法

描述

/usr/bin/tftputftp 命令使用次要文件传输协议(TFTP)在主机间传输文件。由于 TFTP 是最小的文件传输协议,tftputftp 命令不提供 ftp 命令的所有功能。例如,tftputftp 命令没有提供列出远程文件或更改远程主机目录的能力,仅授予远程 TFTP 服务器有限的文件访问权限。utftp 命令是 tftp命令 的一种格式,用于管道中。

远程主机必须有一个由它的 inetd 守护进程启动的 tftpd 守护进程和一个定义为限制 tftpd 守护进程访问的帐户。使用由 tftpd 命令定义的过程来设置 TFTP 环境和无人帐户。

注:当主机正在以安全方式运行时,tftputftp 命令不可用。

如果有不适当(将来的)块号的块到达,tftp 命令忽略对任一已发送块的重复应答,发送一个错误包并且退出。如果已经接收重复数据块并发送了一个错误包并且退出,同样会忽略那些重复数据块。

最大超时值

用户可选择最大超时值,但是第一个块的初始超时值被硬性指定。用户不能选择服务器的最大超时值;服务器在 6 次最大超时值为 64 秒的重试之后超时。

访问控制

搜索 /etc/tftpaccess.ctl 文件以查找那些以 allow:deny: 开头的行。其余行被忽略。如果文件不存在,也允许访问。可以访问所允许的目录和文件,不能访问被拒绝的目录。例如,可以允许访问/usr 目录而 /usr/ucb 目录则会被拒绝。这意味着在 /usr 目录中的任一目录或文件(除了 /usr/ucb 目录)都可被访问。/etc/tftpaccess.ctl 文件中的项必须为绝对路径名。

/etc/tftpaccess.ctl 文件应为 root 用户只写而所有 groupsothers 可读(即为有许可权 644 的 root 用户所拥有)可读。用户 nobody 必须能够读取 /etc/tftpaccess.ctl 文件。否则,tftpd 守护进程就不能识别文件是否存在并允许访问整个系统。有关更多信息,请参阅样本 tftpaccess.ctl 文件,它驻留在 /usr/samples/tcpip 目录。

搜索算法假设在 tftp 命令中所用的本地路径名是绝对路径名。该算法搜索 /etc/tftpaccess.ctl 文件以查找 allow:/。它使用每一个部分路径名来重复搜索所允许的路径名,部分路径名通过从文件路径名添加下一个组件构造而成。匹配的最长路径名也是被允许的一种。然后对于拒绝路径名进行同样操作,从匹配最长允许路径名开始。

例如,如果文件路径名为 /a/b/c/etc/tftpaccess.ctl 文件包含 allow:/a/bdeny:/a,将会产生一个允许匹配(/a/b)并且不产生以 /a/b 开始的拒绝匹配,并允许访问。

如果 /etc/tftpaccess.ctl 文件包含 allow:/adeny:/a/b,将会产生一个允许匹配(/a)和一个以 /a/a/b)开始的拒绝匹配,并拒绝访问。 如果 /etc/tftpaccess.ctl 文件既包含 allow:/a/b 也包含deny:/a/b,将会拒绝访问,因为允许的路径名被首先搜索。

注:有关 Xstations、无盘客户机和受限项的更多信息与示例配置可在 /usr/samples/tcpip/tftpaccess.ctl 文件中找到。

tftputftp 命令有两种格式:交互格式和命令行格式。

交互格式

在交互格式中,tftputftp 命令单独发出或与指定在此次会话中用于文件传输的缺省主机的 Host 参数一起执行。如果进行选择,也可以用 Port 参数来指定 tftputftp 连接要使用的端口,例如在 /etc/services 文件中为 mail 指定的端口。当您输入这些命令中的任一个的交互格式时,会显示 tftp> 提示。

当给一个远程主机传输数据时,被传输的数据放在由 RemoteName 参数指定的目录中。远程主机名必须是一个完整指定的文件名,远程文件必须存在并已设置其它用户的写许可权。tftp 命令尝试将数据写入指定文件。但是,如果远程 TFTP 服务器没有适当权限写远程文件,或该文件已不存在,传输就失败。这可使用 tftpd 守护进程进行重设。

命令行格式

tftputftp 命令的命令行格式是等价的,除了 utftp 命令不覆盖本地文件以外。tftp 命令会覆盖文件,但在执行前会提示用户。因为不是交互式的,utftp 命令的命令行格式在管道中比 tftp 命令更有用。在命令行格式中,任一命令的所有参数都要在命令行进行指定,不会显示提示。

子命令

tftputftp 子命令可在其交互格式或命令行格式中输入。

交互格式中使用的子命令

一旦显示 tftp> 提示,会发出以下子命令:

? [Subcommand] 显示帮助信息。如果指定了一个 Subcommand 参数,则仅显示关于该子命令的信息。
ascii mode ascii 子命令的同义词。
binary mode binary 子命令的同义词。该子命令用在交互方式中。image 子命令完成与 mode binary 子命令同样的功能,但用于命令行。
connect Host [Port] 为文件传输设置远程主机,同时也有选择地设置端口。由于 TFTP 协议不会维护传输间的连接,因此 connect 子命令不会创建到指定主机的连接,但会为传输操作而将它存储起来。因为远程主机可被指定为 getput 子命令(可对以前指定的任何主机进行重设)的一部分,connect 子命令就不需要了。

get RemoteFile [LocalFile]

get RemoteFile RemoteFile RemoteFile [RemoteFile . . . ]
                          从远程主机获取一个或一组文件到本地主机。每一个 RemoteFile 参数可用以下两种方法之一进行指定:
  • 如果缺省主机已被指定,则指定为一个存在于远程主机上的文件(File)。
  • 指定为一个主机文件(Host:File),其中 Host 是远程主机,File 是要复制到本地系统的文件名。如果使用这种参数格式,最后一个指定的主机变成在此 tftp 会话中用于稍后传输的缺省主机。
mode Type 将传输方式的类型(Type)设置为 asciibinary。缺省传输方式为 ascii

put LocalFile [RemoteFile]

put LocalFile LocalFile LocalFile [LocalFile . . . ] RemoteDirectory
                          将一个或一组文件从本地主机放到远程主机。 RemoteDirectoryRemoteFile 参数可用以下两种方法之一进行指定:
  • 如果缺省主机已被指定,则指定为一个存在于远程主机上的文件或目录。
  • 使用 Host:RemoteFile 参数,其中 Host 为远程主机,RemoteFile 是远程系统上的文件名或目录名。如果使用这种参数格式,最后一个指定的主机变成在此 tftp 会话中用于稍后传输的缺省主机。

在任一情况下,远程文件或目录名必须是完整指定的路径名,即使本地和远程目录同名。如果指定一个远程目录,远程主机就被假定为 UNIX 机器。put 子命令的缺省值为 write-replace,但可在 tftpd 守护进程中添加一个选项以允许 write-create。

quit 退出 tftp 会话。文件结束符按键顺序也退出程序。
status 显示 tftp 程序的当前状态,例如包括:当前传输方式(asciibinary)、连接状态与超时值。
timeout Value 将总的传输超时设置为由 Value 参数指定的秒数。
trace 打开或关闭数据包跟踪。
verbose 打开或关闭在文件传输期间显示额外信息的详细方式。

命令行格式中使用的子命令

在此格式中,如果 Action 标志为:

-w-p 写(或放)由 LocalName 参数指定的本地数据到由 Host 参数指定的远程主机上的由 RemoteName 参数指定的文件。如果 LocalName 参数是一个文件名,tftp 命令传输指定的本地文件。如果 LocalName 参数指定为一个 -(破折号),tftp 命令从本地标准输入传输数据到远程主机。当 LocalName 参数为标准输入时,tftp 命令允许在超时前所有输入有 25 秒的时间。
-r-g-o 从由 Host 参数指定的远程主机上的由 RemoteName 参数指定的文件读(或获取)远程数据,并将它写入由 LocalName 参数指定的文件。如果 LocalName 参数是一个文件名,tftp 命令将数据写到指定的本地文件。对于 -r-g 操作,tftp 命令会在覆盖现有本地文件之前提示确认。对于 -o 操作,tftp 命令不提示就覆盖现有本地文件。如果 LocalName 参数被指定为一个 -(破折号),tftp 命令将数据写到本地标准输出。

注:由于 tftp -gtftp -r 命令在覆盖现有本地文件之前会进行提示,故在管道中使用 tftp 命令是不切实际的。utftp 命令执行与 tftp 命令一样的 -r-g 操作,但在覆盖本地文件之前就会停止。因此,utftp 命令更适合在管道中使用。

对于以下文件传输方式来说,RemoteName 参数是对其它用户设置了写许可权的文件的名称。注意,如果 RemoteName 参数包含 shell 特殊字符,则该参数必须用双引号(" ")括起来。

传输方式为以下之一:

netascii 将数据作为 8 位传输字节的 7 位 ASCII 字符来传输。此为缺省设置。
image 将数据作为 8 位传输字节的 8 位二进制数据字节来传输,而不用转换。当在两个主机间进行传输时,image 传输比 netascii 传输更有效。当从工作站传输 ASCII 文件到不同类型的主机时,推荐使用 netascii 传输。

示例

以下示例区分了 tftp 命令的交互格式与命令行格式之间的差别:

使用 tftp 命令的交互格式

要输入 tftp 命令、检查当前状态、连接到远程主机以及将一个文件从远程主机传输到本地主机,请输入:

tftp

显示 tftp> 提示。紧跟该   提示输入 status子命令:

status

在屏幕上显示类似于以下的消息:

Not connected.
Mode: netascii   Verbose: off   Tracing: Off
Max-timeout: 25 secondstftp> _

tftp> 提示后,请输入 connect 子命令以及想要连接到的远程系统名称:

tftp>  connect host1

将显示 tftp> 提示,作为你已连接到host1 上的指示。紧跟 tftp> 提示,请输入 get 子命令来将文件 update 从远程主机传输到本地主机。

get /home/alice/update update 

远程主机上的  /home/alice 目录必须为其它用户设置读许可权。从 host1 上将 /home/alice/update 文件传输到本地系统上的 update 文件。此例中,用户连接到 host1,从 host1 上将 update 文件传输到本地主机。

使用 tftp 命令的命令行格式

  1. 要从远程主机复制一个文本文件并将它写到本地文件,请输入:
    tftp  -g newsched host1 /home/john/schedule
    $ _

    此例中,从远程主机 host1 复制 /home/john/schedule 文件并写到本地文件 newsched
  2. 要从远程主机复制文件并将输出重定向到本地主机的标准输出,请输入:
    tftp  -g - host3 /etc/hosts
    如果成功复制,在屏幕上显示类似于以下的信息:

    192.100.13.3 nameserver
    192.100.13.3 host2
    192.100.13.5 host1
    192.100.13.7 host3
    192.100.13.3 timeserver
    Received 128 bytes in 0.4 seconds
    $ _

    此例中,从远程主机 host3 复制 /etc/hosts  文件并将输出重定向到本地主机的标准输出。

  3. 要从远程主机复制文件、将文件输送给 grep 命令并将它写到本地文件,请输入:
    utftp  -g - host1 /home/john/schedule | grep Jones > jones.todo
    $ _

    此例中,从远程主机 host1 复制 /home/john/schedule 文件。然后文件被输送给 grep 命令并写入到本地文件jones.todo
  4. 要从别的系统复制文件,请输入:
    tftp  -p /home/jeanne/test host2 /tmp/test
    如果成功复制,在屏幕上显示类似于以下的信息:

    Sent 94146 bytes in 6.7 seconds

    此例中,/home/jeanne/test 文件被发送到远程主机 host2 上的 /tmp 目录。

  5. 要将一个二进制文件复制到另一个系统,请输入:
    tftp  -p core host3 /tmp/core image
    如果成功复制,在屏幕上显示类似于以下的信息:

    Sent 309295 bytes in 15 seconds

    此例中,从当前目录将二进制文件 core 发送到远程主机 host3 上的 /tmp目录。

文件

/etc/tftpaccess.ctl 允许或拒绝对文件和目录进行访问。

相关信息

ftp 命令、grep 命令、rcp 命令。

ftpd 守护进程、inetd 守护进程、tftpd 守护进程、syslogd 守护进程。

hosts 文件格式、services 文件格式。

《AIX 5L V5.2 系统用户指南:通信与网络》中的『使用 tftp 命令复制文件』

《AIX 5L V5.2 系统用户指南:通信与网络》中的『网络概述』

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]