glenda.party
term% ls -F
term% pwd
$home/manuals/9front/4/ftpfs
term% cat index.txt
FTPFS(4)                   Kernel Interfaces Manual                   FTPFS(4)



NAME
       ftpfs  - file transfer protocol (FTP) file system

SYNOPSIS
       ftpfs  [  -/dqnt  ]  [  -m mountpoint ] [ -a password ] [ -e ext ] [ -k
       keyspec ] [ -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 pro‐
       vide access via FTP to files on the remote machine.  Ftpfs attempts  to
       use  FTP's `passive' mode but falls back to using `active' mode if that
       fails.  If required by the remote machine, ftpfs will  ask  factotum(4)
       for a key matching the pattern

              proto=pass service=ftp server=system user? !password? keyspec

       (If  factotum  does  not have such a key, factotum will prompt the user
       for one.)

       The user names ftp and anonymous conventionally  offer  guest/read-only
       access to machines.  Anonymous FTP may be called without using factotum
       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 cor‐
       respond 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.

       The -t option causes ftpfs to negotiate TLS encryption with the server.

       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 interpreta‐
       tion.

       A  major  clue  to  the heuristics is the operating system at the other
       end.  Normally this can be determined automatically 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 specifying the  name  of
       the  operating system.  Known system types are: UNIX, SUN, TOPS, Plan9,
       VM, VMS, MVS, NetWare, OS/2, TSO, and WINDOWS_NT.

       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  di‐
       rectory,  LIST  and NLST.  LIST is approximately equivalent to and NLST
       to 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 exam‐
       ple, does.

              import gateway /net
              ftpfs -a yourname@yourmachine export.lcs.mit.edu

SOURCE
       /sys/src/cmd/ip/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 direc‐
       tory by writing or removing a file.  Otherwise, remote changes  to  the
       directory  that  occur after the directory has been cached might not be
       immediately visible.  Attempting to walk to directory/.flush.ftpfs will
       flush directory from the cache, thus forcing ftpfs to re-read it.

       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.

       Ftpfs  makes  copies in /tmp of files being transferred, so its effects
       might not be immediate.  If there is enough main memory, you might want
       to run ramfs(4) first.

       Filenames containing spaces will confuse ftpfs (and other FTP clients).



                                                                      FTPFS(4)