FTPFS(4) FTPFS(4)
NAME
ftpfs - file transfer protocol (FTP) file system
SYNOPSIS
ftpfs [ -/dqn ] [ -m mountpoint ] [ -a password ] [ -e ext ]
[ -o os ] [ -r remoteroot ] system
DESCRIPTION
Ftpfs dials the TCP file transfer protocol (FTP) port, 21,
on system and mounts itself (see bind(2)) on mountpoint
(default /n/ftp) to provide access to files on the remote
machine. If required by the remote machine, ftpfs will
prompt for a user name and password. The user names ftp and
anonymous conventionally offer guest/read-only access to
machines. Anonymous FTP may be called without user interac-
tion by using the -a option and specifying the password.
By default the file seen at the mount point is the user's
remote home directory if he has one. The option -/ forces
the mount point to correspond to the remote root. The
option -r forces the mount point to correspond to the remote
directory remoteroot.
To avoid seeing startup messages from the server use option
-q. To see all messages from the server use option -d.
Some systems will hangup an ftp connection that has no
activity for a given period. The -k option causes ftp to
send a NOP command every 15 seconds to attempt to keep the
connection open. This command can cause some servers to
hangup, so you'll have to feel your way.
To terminate the connection, unmount (see bind(1)) the mount
point.
Since there is no specified format for metadata retrieved in
response to an FTP directory request, ftpfs has to apply
heuristics to steer the interpretation. Sometimes, though
rarely, these heuristics fail. The following options are
meant as last resorts to try to steer interpretation.
A major clue to the heuristics is the operating system at
the other end. Normally this can be determined automati-
cally using the FTP SYST command. However, in some cases
the server doesn't implement the SYST command. The -o
option will force the case by specifyng the name of the
operating system. Known systems types are are: Unix, Sun,
Tops, Plan9 VM, VMS, MVS, NetWare, OS/2, TSO, and
WINDOWS_NT.
Page 1 Plan 9 (printed 11/3/25)
FTPFS(4) FTPFS(4)
Some systems and/or FTP servers return directory listings
that don't include the file extension. The -e option allows
the user to specify an extension to append to all remote
files (other than directories).
Finally, there are two FTP commands to retrieve the contents
of a directory, LIST and NLST. LIST is approximately equiv-
alent to `ls -l' and NLST to `ls'. Ftpfs normally uses
LIST. However, some FTP servers interpret LIST to mean,
give a wordy description of the file. Ftpfs normally
notices this and switches to using NLST. However, in some
rare cases, the user must force the use of NLST with the -n
option.
EXAMPLE
You want anonymous FTP access to the system
export.lcs.mit.edu. The first import(4) command is only
necessary if your machine does not have access to the
desired system, but another, called gateway in this example,
does.
import gateway /net
ftpfs -a yourname@yourmachine export.lcs.mit.edu
SOURCE
/sys/src/cmd/ftpfs
SEE ALSO
bind(2)
BUGS
Symbolic links on remote Unix systems will always have mode
0777 and a length of 8.
After connecting to a TOPS-20 system, the mount point will
contain only one directory, usually /n/ftp/PS:<ANONYMOUS>.
However, walking to any valid directory on that machine will
succeed and cause that directory entry to appear under the
mount point.
Ftpfs caches files and directories. A directory will fall
from the cache after 5 quiescent minutes or if the local
user changes the directory by writing or removing a file.
Otherwise, remote changes to the directory that occur after
the directory has been cached might not be immediately visi-
ble.
There is no way to issue the appropriate commands to handle
special synthetic FTP file types such as directories that
automatically return a tar of their contents.
Page 2 Plan 9 (printed 11/3/25)