Unix Tip: Unix File System Names

By Sandra Henry-Stocker, ITworld.com |  Small Business 1 comment

Send in your Unix questions today! |
See additional Unix tips and tricks



One of the questions that Unix users are sometimes reluctant to ask is how
all the directory names -- like /etc, /var and /usr/local -- came about in the
first place. Why did we adopt the particular names we use today instead of names
that might make more sense to the casual user? What do these file system and
directory names tell us about the intended content?

To best understand why particular conventions were adopted, hark back to the
early days of Unix and how the systems were used in those days. Back in the
"childhood" of Unix, most of its users were researchers who developed
their own software. The idea behind the Unix development at the time was, therefore,
to provide a rich programming environment so that these early developers could
be more productive. The uses and layout of the early Unix file systems reflects
this programming mentality.

The /var file system, for example, as named /var (variable) primarily because
it was a file system that was anything but static in its content. Unlike /usr
which remains fairly stable for any particular release of an operating system,
/var changes all of the time as records are added to log files and log files
are rotated out to make room for each next generation of log files.

The /usr directory was meant to refer to commands and tools that users execute,
not to home directories. On some rare systems, you might find /usr/home set
up to contain home directories, but you are far more likely to find home directories
in /home or /export/home.

Similarly, /usr/share was meant to house a file system that might be shared
with other systems, being architecture-independent. In other words, the content
of /usr/share wasn't strictly related to the architecture of the particular
system on which it was stored.

The /platform directory is something of the opposite. It houses files which
are specific to the hardware of the particular system. The file /platform/sun4u/kadb,
for example, is a kernel debugger for Solaris systems in the sun4u series which
includes Netras and Enterprise servers.

Directories named /boot or /kernel relate to system booting and the core of
the operating system itself.

The /usr/local file system was used to hold files that were unique to some
particular site. For example, if your organization were to maintain a set of
tools (whether public domain utilities or scripts and programs developed on
site) distinct from that which was installed with the operating system, this
set of tools might be stored in the /usr/local file system. The "local"
in /usr/local does not imply that the file system is stored on the local hard
drive. In fact, it is more likely to be mounted from a central file server.

Directories named bin are intended to house binary files. The /bin, /usr/bin
and /sbin (system binaries) directories contain the binaries that represent
the core of the commands that comprise the OS.

Following this thinking, the /usr/local/bin directory contains binaries for
non-OS or "third party" software.

The /etc directory (almost always a directory within the root file system)
was originally named to indicate that it was something of a catch-all with respect
to content. While today's Unix systems primarily store configuration files and
system start-up files in /etc, the focus in those early days seems to have been
on the characterization of these files as being different than the binary files
that populated most of the other directories on the busily evolving systems.
While "et cetera" no longer really captures the sense of what we see
today in /etc (generally pronounced "et-see", rhyming with "yet
see"), the name has stuck and few sysadmins spend much time wondering at
the unusual choice of name.

Since /etc evolved into a directory for storing configuration files, it follows
that /usr/local/etc would be used to store configuration files for non-OS tools
and utilities. The configuration file for an add-on ssh software, for example,
is very likely to be found in /usr/local/etc.

1 comment

    Anonymous 2 years ago
    You know ,I have some wow gold,and my friend also has some World of Warcraft Gold,do you kouw they have the same meaning,Both of them can be calledwarcraft gold,I just want to buy wow gold,because there are many cheap wow gold

      Add a comment

      Post a comment using one of these accounts
      Or join now
      At least 6 characters

      Note: Comment will appear soon after you have activated your account.
      Obscene/spam comments will be removed and accounts suspended.
      The information you submit is subject to our Privacy Policy and Terms of Service.

      ITworld LIVE

      Small BusinessWhite Papers & Webcasts

      White Paper

      Microsoft Volume Licensing Comparison - Small/Med. Business

      This quick-reference document lets small and medium organizations (i.e. those with five or more devices) to easily compare the available Microsoft Volume Licensing programs to create a simple, cost-effective and flexible way to benefit from volume licensing.

      White Paper

      ESG: Oracle Database Appliance: A Simple, Economical Option for SMBs and Independent Software Vendors

      Read this technology overview of a DBMS built for SMBs that provides a rapidly-deployable, highly-available platform at an affordable cost

      See more White Papers | Webcasts

      Ask a question

      Ask a Question