A Guided Tour
It's time to take our tour. The table below
lists some interesting places to explore. This is
by no means a complete list, but it should prove to
be an interesting adventure. For each of the
directories listed below, do the following:
- cd into
- Use ls to
list the contents of the directory.
- If you see an interesting file,
use the file command to
determine its contents.
- For text files, use less to view them.
Interesting directories and their contents
The root directory where the file system
begins. In most cases the root directory only
This is where the Linux kernel and boot loader
files are kept. The kernel is a file called vmlinuz.
The /etc directory
contains the configuration files for the
system. All of the files in /etc should be text files. Points of
- The passwd file
contains the essential information for each
user. It is here that users are
- The fstab file
contains a table of devices that get mounted
when your system boots. This file defines
your disk drives.
- This file lists the network host names
and IP addresses that are intrinsically known
to the system.
- This directory contains the scripts
that start various system services typically
at boot time.
These two directories contain most of the
programs for the system. The /bin directory has the essential
programs that the system requires to operate,
while /usr/bin contains
applications for the system's users.
The sbin directories
contain programs for system administration,
mostly for use by the superuser.
The /usr directory
contains a variety of things that support
user applications. Some highlights:
- Support files for the X Windows system
- Dictionaries for the spelling checker.
Bet you didn't know that Linux had a
spelling checker. See look and ispell.
- Various documentation files in a
variety of formats.
- The man pages are kept here.
- Source code files. If you installed the
kernel source code package, you will find
the entire Linux kernel source code
/usr/local and its
subdirectories are used for the installation
of software and other files for use on the
local machine. What this really means is that
software that is not part of the official
distribution (which usually goes in /usr/bin) goes here.
When you find interesting programs to
install on your system, they should be
installed in one of the /usr/local directories. Most
often, the directory of choice is /usr/local/bin.
The /var directory
contains files that change as the system is
running. This includes:
- Directory that contains log files.
These are updated as the system runs. You
should view the files in this directory
from time to time, to monitor the health of
- This directory is used to hold files
that are queued for some process, such as
mail messages and print jobs. When a user's
mail first arrives on the local system
(assuming you have local mail), the
messages are first stored in /var/spool/mail
The shared libraries (similar to DLLs in
that other operating system) are kept
/home is where users
keep their personal work. In general, this is
the only place users are allowed to write
files. This keeps things nice and clean
This is the superuser's home
/tmp is a directory
in which programs can write their temporary
The /dev directory
is a special directory, since it does not
really contain files in the usual sense.
Rather, it contains devices that are available
to the system. In Linux (like Unix), devices
are treated like files. You can read and
write devices as though they were files. For
example /dev/fd0 is the
first floppy disk drive, /dev/sda (/dev/hda on older systems) is the first IDE hard
drive. All the devices that the kernel
understands are represented here.
The /proc directory
is also special. This directory does not
contain files. In fact, this directory does
not really exist at all. It is entirely
virtual. The /proc
directory contains little peep holes into the
kernel itself. There are a group of numbered
entries in this directory that correspond to
all the processes running on the system. In
addition, there are a number of named entries
that permit access to the current
configuration of the system. Many of these
entries can be viewed. Try viewing /proc/cpuinfo. This entry will
tell you what the kernel thinks of your
Finally, we come to /media, a normal directory which is
used in a special way. The /media directory is used for
mount points. As we learned in the second lesson, the
different physical storage devices (like hard
disk drives) are attached to the file system
tree in various places. This process of
attaching a device to the tree is called
mounting. For a device to be
available, it must first be mounted.
When your system boots, it reads a list of
mounting instructions in the file /etc/fstab, which describes which
device is mounted at which mount point in the
directory tree. This takes care of the hard
drives, but you may also have devices that
are considered temporary, such as CD-ROMs and
floppy disks. Since these are removable, they
do not stay mounted all the time. The /media directory is used by the
automatic device mounting mechanisms found in
modern desktop oriented Linux distributions.
On systems that require manual mounting of
removable devices, the /mnt directory provides a
convenient place for mounting these temporary
devices. You will often
see the directories /mnt/floppy and /mnt/cdrom. To see what devices
and mount points are used, type mount.
William E. Shotts, Jr.
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this copyright notice is preserved.
Linux® is a registered trademark of Linus Torvalds.