Linux Filesystem Hierarchy Standard – Some of you have been using linux for a very long time. But, most of the people don’t the complete architect of Linux Filesystem Hierarchy Standard.Let’s dive into it.
Linux Filesystem Hierarchy Standard
|/||The root directory. Where everything begins.|
|/bin||Contains binaries (programs) that must be present for the
system to boot and run.
, initial RAM disk image (for
drivers needed at boot time), and the boot loader.
are used to configure the boot loader.
, the linux kernel
|/dev||This is a special directory which contains
“Everything is a file” also applies to devices. Here is where
the kernel maintains a list of all the devices it understands.
directory contains all of the system-wide
. It also contains a collection of shell
scripts which start each of the system services at boot time.
Everything in this directory should be readable text.
Interesting files: While everything in
here are some of my all-time favorites:
, a file that defines when
automated jobs will run.
, a table of storage devices and their
associated mount points.
, a list of the user accounts.
|/home||In normal configurations, each user is given a directory in
/home. Ordinary users can only write files in their home
directories. This limitation protects the system from errant
|/lib||Contains shared library files used by the core system
programs. These are similar to DLLs in Windows.
|/lost+found||Each formatted partition or device using a Linux file system,
such as ext3, will have this directory. It is used in the case
of a partial recovery from a file system corruption event.
Unless something really bad has happened to your system,
this directory will remain empty.
|/media||On modern Linux systems the /media directory will
contain the mount points for removable media such USB
drives, CD-ROMs, etc. that are mounted automatically at
|/mnt||On older Linux systems, the /mnt directory contains mount
points for removable devices that have been mounted
|/opt||The /opt directory is used to install “optional” software.
This is mainly used to hold commercial software products
that may be installed on your system.
|/proc||The /proc directory is special. It’s not a real file system in
the sense of files stored on your hard drive. Rather, it is a
virtual file system maintained by the Linux kernel. The
“files” it contains are peepholes into the kernel itself. The
files are readable and will give you a picture of how the
kernel sees your computer.
|/root||This is the home directory for the root account.|
|/sbin||This directory contains “system” binaries. These are
programs that perform vital system tasks that are generally
reserved for the superuser.
|/tmp||The /tmp directory is intended for storage of temporary,
transient files created by various programs. Some
configurations cause this directory to be emptied each time
the system is rebooted.
|/usr||The /usr directory tree is likely the largest one on a Linux
system. It contains all the programs and support files used
by regular users.
|/usr/bin||/usr/bin contains the executable programs installed by
your Linux distribution. It is not uncommon for this
directory to hold thousands of programs.
|/usr/lib||The shared libraries for the programs in /usr/bin.|
|/usr/local||The /usr/local tree is where programs that are not
included with your distribution but are intended for system-
wide use are installed. Programs compiled from source code
are normally installed in /usr/local/bin. On a newly
installed Linux system, this tree exists, but it will be empty
until the system administrator puts something in it.
|/usr/share||/usr/share contains all the shared data used by
programs in /usr/bin. This includes things like default
configuration files, icons, screen backgrounds, sound files,
|/usr/sbin||Contains more system administration programs.|
|/usr/share/doc||Most packages installed on the system will include some
kind of documentation. In /usr/share/doc, we will
find documentation files organized by package.
|/var||With the exception of /tmp and /home, the directories we
have looked at so far remain relatively static, that is, their
contents don’t change. The /var directory tree is where
data that is likely to change is stored. Various databases,
spool files, user mail, etc. are located here.
|/var/log||/var/log contains log files, records of various system
activity. These are very important and should be monitored
from time to time. The most useful one is
/var/log/messages. Note that for security reasons on
some systems, you must be the superuser to view log files .
I hope you like this article “Linux Filesystem Hierarchy Standard”. For doubts and comments, there is space below.