GNU networking utilities
2.4 File Naming Conventions
Files specified as arguments to ftp commands are processed according to
the following rules.
If the file name `-' is specified, the stdin (for reading) or stdout
(for writing) is used.
If the first character of the file name is `|', the remainder of the
argument is interpreted as a shell command. Ftp then forks a shell,
using popen(3) with the argument supplied, and reads (writes) from
the stdout (stdin). If the shell command includes spaces, the argument
must be quoted; e.g. "" ls -lt"". A particularly useful example of
this mechanism is: "dir more".
Failing the above checks, if "globbing" is enabled, local file
names are expanded according to the rules used in the csh(1); c.f.
the glob command. If the ftp command expects a single local file
(.e.g. put), only the first filename generated by the "globbing"
operation is used.
For mget commands and get commands with unspecified local file
names, the local filename is the remote filename, which may be altered by
a case, ntrans, or nmap setting. The resulting filename
may then be altered if runique is on.
For mput commands and put commands with unspecified remote file
names, the remote filename is the local filename, which may be altered
by a ntrans or nmap setting. The resulting filename may then
be altered by the remote server if sunique is on.