glenda.party
term% ls -F
term% pwd
$home/manuals/9front/1/bind
term% cat index.txt
BIND(1)                     General Commands Manual                    BIND(1)

NAME
       bind, mount, unmount - change name space

SYNOPSIS
       bind [ option ...  ] new old

       mount [ option ...  ] servename old [ spec ]

       unmount [ new ] old

DESCRIPTION
       Bind  and  mount  modify the file name space of the current process and
       other processes in the same name space group (see fork(2)).   For  both
       calls,  old is the name of an existing file or directory in the current
       name space where the modification is to be made.

       For bind, new is the name of another (or possibly  the  same)  existing
       file  or directory in the current name space.  After a successful bind,
       the file name old is an alias for the object originally named  by  new;
       if  the  modification doesn't hide it, new will also still refer to its
       original file.  The evaluation of new (see  intro(2))  happens  at  the
       time of the bind, not when the binding is later used.

       The  servename  argument  to  mount  is  the  name of a file that, when
       opened, yields an existing connection to a file server.  Almost always,
       servename will be a file in /srv (see srv(3)).  In the  discussion  be‐
       low,  new  refers  to the file named by the new argument to bind or the
       root directory of the service available in  servename  after  a  mount.
       Either  both old and new files must be directories, or both must not be
       directories.

       Options control aspects of the modification to the name space:

       (none)    Replace the old file by the new one.  Henceforth, an  evalua‐
                 tion  of old will be translated to the new file.  If they are
                 directories (for mount, this condition  is  true  by  defini‐
                 tion), old becomes a union directory consisting of one direc‐
                 tory (the new file).

       -b        Both files must be directories.  Add the new directory to the
                 beginning of the union directory represented by the old file.

       -a        Both files must be directories.  Add the new directory to the
                 end of the union directory represented by the old file.

       -c        This  can  be  used in addition to any of the above to permit
                 creation in a union directory.  When a new file is created in
                 a union directory, it is placed in the first element  of  the
                 union  that  has  been bound or mounted with the -c flag.  If
                 that directory does not have  write  permission,  the  create
                 fails.

       -C        (Only  in  mount.)   By default, file contents are always re‐
                 trieved from the server.  With this option,  the  kernel  may
                 instead  use  a  local  cache to satisfy read(5) requests for
                 files accessible through this mount point.  The  currency  of
                 cached  data  for  a  file is verified at each open(5) of the
                 file from this client machine.

       -q        Exit silently if the bind or mount operation fails.

       Mount takes two additional options.  The  first,  -k  keypattern,  con‐
       strains  the  set  of factotum(4) keys used for an authenticated mount.
       The second, -n, causes mount to skip authentication entirely.

       The spec argument to mount is passed in the attach(5)  message  to  the
       server, and selects among different file trees served by the server.

       The srv(3) service registry device, normally bound to /srv, is a conve‐
       nient  rendezvous  point for services that can be mounted.  After boot‐
       strap, the file /srv/boot contains the communications port to the  file
       system from which the system was loaded.

       The  effects  of bind and mount can be undone with the unmount command.
       If two arguments are given to unmount, the effect is to undo a bind  or
       mount  with  the same arguments.  If only one argument is given, every‐
       thing bound to or mounted upon old is unmounted.

EXAMPLES
       To compile a program with the C library from July 16, 1992:

              mount /srv/boot /n/dump dump
              bind /n/dump/1992/0716/mips/lib/libc.a /mips/lib/libc.a
              mk

SOURCE
       /sys/src/cmd/bind.c
       /sys/src/cmd/mount.c
       /sys/src/cmd/unmount.c

SEE ALSO
       bind(2), open(2), srv(3), srv(4)

                                                                       BIND(1)