Unix Tip: Unix File System Names
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
Essential JavaFX
Get started building rich Web apps quickly with an introduction to the power of JavaFX key features -- scene node graphs, nodes as components, the coordinate system, layout options, colors and gradients, custom classes with inheritance, animation, binding, and event handlers.Enter now!
The Nomadic Developer
Consulting can be hugely rewarding, but it's easy to fail if you are unprepared. To succeed, you need a mentor who knows the lay of the land. Aaron Erickson is your mentor, and this is your guidebook. Enter now!












