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.
Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world
Esther Schindler
If the comments are ugly, the code is ugly
claird
SVG a graphics format for 21st century
pasmith
Take Chrome OS for a test spin
Sandra Henry-Stocker
Solaris Tip: Have Your Files Changed Since Installation?
jfruh
Android fragments vs. the iPhone monolith
mikelgan
What Gizmodo missed about the Pro WX Wireless USB disk drive
Sidekick: The Good News & the Bad News
Either way you look at it Microsoft Data Center management did not follow standards or best practices in this failure. In which case it makes me wonder more about the outsourcing of corporate data much less personal data.
- mburton325
Join the conversation here
Quick, practical advice for IT pros. Made fresh daily.
Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.













