The Linux File Hierarchy Structure
or the Filesystem Hierarchy Standard (FHS) defines the directory structure and
directory contents in Unix-like operating systems. It is maintained by the
Linux Foundation.
·
In the FHS, all files and
directories appear under the root directory /, even if they are stored on
different physical or virtual devices.
·
Some of these directories only exist
on a particular system if certain subsystems, such as the X Window System, are
installed.
·
Most of these directories exist in
all UNIX operating systems and are generally used in much the same way;
however, the descriptions here are those used specifically for the FHS, and are
not considered authoritative for platforms other than Linux.
1.
/ (Root) : Primary hierarchy root and root
directory of the entire file system hierarchy.
·
Every single file and directory
starts from the root directory
·
Only root user has the right to
write under this directory
·
/ root is root user’s home directory,
which is not same as /
2.
/bin: Essential command binaries that need
to be available in single user mode; for all users, e.g., cat, ls, cp.
Contains binary executables
·
Common linux commands you need to
use in single-user modes are located under this directory.
·
Commands used by all the users of
the system are located here e.g. ps, ls, ping, grep, cp
3.
/boot: Boot loader files, e.g., kernels,
initrd.
·
Kernel initrd, vmlinux, grub files
are located under /boot
4.
/dev: Essential device files, e.g.,
/dev/null.
·
These include terminal devices, usb,
or any device attached to the system.
5.
/etc: Host-specific system-wide
configuration files.
·
Contains configuration files
required by all programs.
·
This also contains startup and
shutdown shell scripts used to start/stop individual programs.
6.
/home: Users’ home directories, containing
saved files, personal settings, etc.
·
Home directories for all users to
store their personal files.
7.
/lib: Libraries essential for the binaries
in /bin/ and /sbin/.
·
Library filenames are either ld* or
lib*.so.*
8.
/media: Mount points for removable media
such as CD-ROMs (appeared in FHS-2.3).
·
Temporary mount directory for
removable devices.
9.
/mnt: Temporarily mounted filesystems.
·
Temporary mount directory where
sysadmins can mount filesystems.
10.
/opt: Optional application software
packages.
·
Contains add-on applications from
individual vendors.
·
Add-on applications should be
installed under either /opt/ or /opt/ sub-directory.
11.
/sbin: Essential system binaries, e.g.,
fsck, init, route.
·
Just like /bin, /sbin also contains
binary executables.
·
The linux commands located under
this directory are used typically by system aministrator, for system
maintenance purpose.
·
Example: iptables, reboot, fdisk,
ifconfig, swapon
12.
/srv: Site-specific data served by this
system, such as data and scripts for web servers, data offered by FTP servers,
and repositories for version control systems.
·
srv stands for service.
·
Contains server specific services
related data.
13.
/tmp: Temporary files. Often not preserved
between system reboots, and may be severely size restricted.
·
Directory that contains temporary
files created by system and users.
·
Files under this directory are
deleted when system is rebooted.
14.
/usr: Secondary hierarchy for read-only
user data; contains the majority of (multi-)user utilities and applications.
·
Contains binaries, libraries,
documentation, and source-code for second level programs.
·
/usr/bin contains binary files for
user programs. If you can’t find a user binary under /bin, look under /usr/bin.
For example: at, awk, cc, less, scp
·
/usr/sbin contains binary files for
system administrators. If you can’t find a system binary under /sbin, look
under /usr/sbin. For example: atd, cron, sshd, useradd, userdel
·
/usr/lib contains libraries for
/usr/bin and /usr/sbin
·
/usr/local contains users programs
that you install from source. For example, when you install apache from source,
it goes under /usr/local/apache2
·
/usr/src holds the Linux kernel
sources, header-files and documentation.
15.
/proc: Virtual filesystem providing process
and kernel information as files. In Linux, corresponds to a procfs mount.
Generally automatically generated and populated by the system, on the fly.
·
Contains information about system
process.
·
This is a pseudo filesystem contains
information about running process. For example: /proc/{pid} directory contains
information about the process with that particular pid.
·
This is a virtual filesystem with
text information about system resources.
0 Comments