tftp is the user interface to the Internet TFTP (Trivial File Transfer Protocol), which allows users to transfer files to and from a remote machine. The remote host and optional port may be specified on the command line, in which case tftp uses host as the default host, and if specified, port as the default port, for future transfers. See the connect command below.
Once tftp is running, it issues the prompt tftp> and recognizes the following commands:
Set the host, and optionally port, for transfers. The TFTP protocol, unlike the FTP protocol, does not maintain connections between transfers; thus, the connect command does not actually create a connection, but merely remembers what host is to be used for transfers. You do not have to use the connect command; the remote host can be specified as part of the get or put commands.
Set the mode for transfers; transfer-mode may be one of ascii or binary. The default is ascii.
Transfer a file, or a set of files, to the specified remote file or directory. The destination can be in one of two forms: a filename on the remote host if the host has already been specified, or a string of the form:
to specify both a host and filename at the same time. If the latter form is used, the specified host becomes the default for future transfers. If the remote-directory form is used, the remote host is assumed to be running the UNIX system.
The host can be a host name (see hosts(4) or ipnodes(4)) or an IPv4 or IPv6 address string (see inet(7P) or inet6(7P)). Since IPv6 addresses already contain “:”s, the host should be enclosed in square brackets when an IPv6 address is used. Otherwise, the first occurrence of a colon will be interpreted as the separator between the host and the filename. For example,
Files may be written only if they already exist and are publicly writable. See in.tftpd(1M).
Get a file or set of files (three or more) from the specified remote sources. source can be in one of two forms: a filename on the remote host if the host has already been specified, or a string of the form:
to specify both a host and filename at the same time. If the latter form is used, the last host specified becomes the default for future transfers. See the put command regarding specifying a host.
Exit tftp. An EOF also exits.
Toggle verbose mode.
Toggle packet tracing.
Show current status.
Set the per-packet retransmission timeout, in seconds.
Set the total transmission timeout, in seconds.
Shorthand for mode ascii.
Shorthand for mode binary.
The value of the transfer blocksize option to negotiate with the server. A value of 0 disables the negotiation of this option.
The value of the retransmission timeout option to request that the server uses. A value of 0 disables the negotiation of this option.
A toggle that sends the transfer size option to the server. By default, the option is not sent. The transfer size option is not sent with a write request when the transfer-mode is ascii.
Print help information.
See attributes(5) for descriptions of the following attributes:
Malkin, G. and Harkin, A. RFC 2347, TFTP Option Extension. The Internet Society. May 1998
Malkin, G. and Harkin, A. RFC 2348, TFTP Blocksize Option. The Internet Society. May 1998
Malkin, G. and Harkin, A. RFC 2349, TFTP Timeout Interval and Transfer Size Options. The Internet Society. May 1998
Sollins, K.R. RFC 1350, The TFTP Protocol (Revision 2). Network Working Group. July 1992.
The default transfer-mode is ascii. This differs from pre-SunOS 4.0 and pre-4.3BSD systems, so explicit action must be taken when transferring non-ASCII binary files such as executable commands.
Because there is no user-login or validation within the TFTP protocol, many remote sites restrict file access in various ways. Approved methods for file access are specific to each site, and therefore cannot be documented here.
When using the get command to transfer multiple files from a remote host, three or more files must be specified. If two files are specified, the second file is used as a local file.