Linux Filesystem Hierarchy Standard

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.
/boot Contains the
Linux
kernel
, initial RAM disk image (for
drivers needed at boot time), and the boot loader.
Interesting files:

/boot/grub/grub.conf
or
menu.lst
, which
are used to configure the boot loader.

/boot/vmlinuz
, the linux kernel
/dev This is a special directory which contains
device nodes
.
“Everything is a file” also applies to devices. Here is where
the kernel maintains a list of all the devices it understands.
/etc The
/etc
directory contains all of the system-wide
configuration files
. 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
/etc
is interesting,
here are some of my all-time favorites:

/etc/crontab
, a file that defines when
automated jobs will run.

/etc/fstab
, a table of storage devices and their
associated mount points.

/etc/passwd
, 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
user activity.
/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
insertion.
/mnt On older Linux systems, the /mnt directory contains mount
points for removable devices that have been mounted
manually.
/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,
etc.
/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.