filesystem(7)
filesystem --
file system organization
Synopsis
/
/usr
Description
The System V file system tree is organized for administrative convenience.
Distinct areas within the file system tree are provided for files that
are private to one machine, files that can be shared by multiple
machines of a common architecture, files that can be shared
by all machines, and home directories.
This organization allows sharable files to be stored
on one machine but accessed by many machines using a
remote file access mechanism such as NFS.
Grouping together similar files makes the
file system tree easier to upgrade and manage.
The file system tree consists of a root file system and a collection
of mountable file systems.
The
mount(1M)
program attaches mountable file systems to the
file system tree at mount points (directory entries)
in the root file system or other previously mounted file systems.
If /usr is configured as a separate file system,
it must be mounted in order to have a completely functional system.
The root file system is mounted automatically by the kernel at boot time.
The root file system contains files that are unique
to each machine.
It contains the following directories:
- /dev
-
Character and block special files.
These device files provide hooks into
hardware devices or operating system facilities.
Typically, device files are built to match the kernel and hardware
configuration of the machine.
- /dev/term
-
Terminal devices.
- /dev/pts
-
Pseudo-terminal devices.
- /dev/sxt
-
Shell layers device files used by
sh(1).
- /etc
-
Machine-specific administrative configuration files and system administration
databases.
/etc
may be viewed
as the home directory of a machine,
the directory that in a sense
defines the machine's identity.
Executable programs are no longer kept in
/etc.
- /home
-
Root of a subtree for user directories.
- /mnt
-
Temporary mount point for file systems.
This is an empty directory
on which file systems may be temporarily mounted.
- /opt
-
Root of a subtree for add-on application packages.
- /proc
-
Root of a subtree for the process file system.
- /sbin
-
Essential executables used in the booting process and in manual
system recovery.
The full complement of utilities is available
only after
/usr
is mounted,
- /tmp
-
Temporary files; initialized to empty during the boot operation.
- /var
-
Root of a subtree for varying files.
Varying files are files that are unique to a machine
but that can grow to an arbitrary (that is, variable) size.
An example is a log file.
- /var/adm
-
System logging and accounting files.
- /var/cron
-
cron's log file.
- /var/mail
-
Where users' mail is kept.
- /var/opt
-
Top-level directory used by application packages.
- /var/preserve
-
Backup files for
vi(1)
and
ex(1).
- /var/spool
-
Subdirectories for files used in printer spooling, mail delivery,
cron(1M),
at(1),
etc.
- /var/tmp
-
Transitory files; initialized to empty during the boot operation.
Because it is desirable to keep the root file system small and not volatile,
on disk-based systems larger file systems are often mounted on
/home,
/opt,
/usr,
and
/var.
The file system mounted on
/usr
contains architecture-dependent and architecture-independent sharable files.
The subtree rooted at
/usr/share
contains architecture-independent sharable files;
the rest of the
/usr
tree contains architecture-dependent files.
By mounting a common remote file system,
a group of machines with a common architecture
may share a single
/usr
file system.
A single
/usr/share
file system can be shared by machines of any architecture.
A machine acting as a file server may export many different
/usr
file systems to support several different architectures
and operating system releases.
Clients usually mount
/usr
read-only so that they don't accidentally change any shared files.
The
/usr
file system contains the following subdirectories:
- /usr/bin
-
Most system utilities.
- /usr/sbin
-
Executables for system administration.
- /usr/games
-
Game binaries and data.
- /usr/include
-
Include header files (for C programs, etc).
- /usr/lib
-
Program libraries, various architecture-dependent databases, and
executables not invoked directly by the user (system daemons, etc).
- /usr/share
-
Subtree for architecture-independent sharable files.
- /usr/share/man
-
Subdirectories for on-line reference manual pages (if present).
- /usr/share/lib
-
Architecture-independent databases.
- /usr/src
-
Source code for utilities and libraries.
- /usr/ucb
-
Berkeley compatibility package binaries.
- /usr/ucbinclude
-
Berkeley compatibility package header files.
- /usr/ucblib
-
Berkeley compatibility package libraries.
A machine with disks may export root file systems, swap files,
and
/usr
file systems to diskless or partially-disked machines
that mount them into the standard file system hierarchy.
The standard directory tree for sharing these file systems from a
server is:
- /export
-
The default root of the exported file system tree.
- /export/exec/architecture-name
-
The exported
/usr
file system supporting
architecture-name
for the current release.
- /export/exec/architecture-name.release-name
-
The exported
/usr
file system supporting
architecture-name
for System V
release-name.
- /export/exec/share
-
The exported common
/usr/share
directory tree.
- /export/exec/share.release-name
-
The exported common /usr/share directory tree for System V
release-name.
- /export/root/hostname
-
The exported root file system for
hostname.
- /export/swap/hostname
-
The exported swap file for
hostname.
- /export/var/hostname
-
The exported
/var
directory tree for
hostname.
References
at(1),
fsck(1M),
init(1M),
mknod(1M),
mount(1M),
sh(1),
vi(1)
30 January 1998
© 1998 The Santa Cruz Operation, Inc. All rights reserved.