bind, mount, unmount - change name space
SYNOPSISbind [ option ... ] new old
mount [ option ... ] servename old [ spec ]
unmount [ new ] old
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
below, 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
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
-C (Only in mount.) By default, file contents are always
retrieved 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.
To compile a program with the C library from July 16, 1992:
mount /srv/boot /n/dump main/archive
bind /n/dump/1992/0716/mips/lib/libc.a /mips/lib/libc.a
SEE ALSObind(2), open(2), srv(3), srv(4)BIND(1)