HTG(HowToGeek) Explains: The Linux Directory Structure Explained

If you’re coming from Windows, the Linux file system structure can
seem particularly alien. The C:\ drive and drive letters are gone,
replaced by a / and cryptic-sounding directories, most of which have
three letter names.
The Filesystem Hierarchy Standard (FHS) defines the structure of file
systems on Linux and other UNIX-like operating systems. However, Linux
file systems also contain some directories that aren’t yet defined by
the standard.
/ – The Root Directory
Everything on your Linux system is located under the / directory,
known as the root directory. You can think of the / directory as being
similar to the C:\ directory on Windows – but this isn’t strictly true,
as Linux doesn’t have drive letters. While another partition would be
located at D:\ on Windows, this other partition would appear in another
folder under / on Linux.

/bin – Essential User Binaries
The /bin directory contains the essential user binaries (programs)
that must be present when the system is mounted in single-user mode.
Applications such as Firefox are stored in /usr/bin, while important
system programs and utilities such as the bash shell are located in
/bin. The /usr directory may be stored on another partition – placing
these files in the /bin directory ensures the system will have these
important utilities even if no other file systems are mounted. The /sbin
directory is similar – it contains essential system administration
binaries.

/boot – Static Boot Files
The /boot directory contains the files needed to boot the system –
for example, the GRUB boot loader’s files and your Linux kernels are
stored here. The boot loader’s configuration files aren’t located here,
though – they’re in /etc with the other configuration files.
/cdrom – Historical Mount Point for CD-ROMs
The /cdrom directory isn’t part of the FHS standard, but you’ll still
find it on Ubuntu and other operating systems. It’s a temporary
location for CD-ROMs inserted in the system. However, the standard
location for temporary media is inside the /media directory.
/dev – Device Files
Linux exposes devices as files, and the /dev directory contains a
number of special files that represent devices. These are not actual
files as we know them, but they appear as files – for example, /dev/sda
represents the first SATA drive in the system. If you wanted to
partition it, you could start a partition editor and tell it to edit
/dev/sda.
This directory also contains pseudo-devices, which are virtual
devices that don’t actually correspond to hardware. For example,
/dev/random produces random numbers. /dev/null is a special device that
produces no output and automatically discards all input – when you pipe
the output of a command to /dev/null, you discard it.

/etc – Configuration Files
The /etc directory contains configuration files, which can generally
be edited by hand in a text editor. Note that the /etc/ directory
contains system-wide configuration files – user-specific configuration
files are located in each user’s home directory.
/home – Home Folders
The /home directory contains a home folder for each user. For
example, if your user name is bob, you have a home folder located at
/home/bob. This home folder contains the user’s data files and
user-specific configuration files. Each user only has write access to
their own home folder and must obtain elevated permissions (become the
root user) to modify other files on the system.

/lib – Essential Shared Libraries
The /lib directory contains libraries needed by the essential
binaries in the /bin and /sbin folder. Libraries needed by the binaries
in the /usr/bin folder are located in /usr/lib.
/lost+found – Recovered Files
Each Linux file system has a lost+found directory. If the file system
crashes, a file system check will be performed at next boot. Any
corrupted files found will be placed in the lost+found directory, so you
can attempt to recover as much data as possible.
/media – Removable Media
The /media directory contains subdirectories where removable media
devices inserted into the computer are mounted. For example, when you
insert a CD into your Linux system, a directory will automatically be
created inside the /media directory. You can access the contents of the
CD inside this directory.
/mnt – Temporary Mount Points
Historically speaking, the /mnt directory is where system
administrators mounted temporary file systems while using them. For
example, if you’re mounting a Windows partition to perform some file
recovery operations, you might mount it at /mnt/windows. However, you
can mount other file systems anywhere on the system.
/opt – Optional Packages
The /opt directory contains subdirectories for optional software
packages. It’s commonly used by proprietary software that doesn’t obey
the standard file system hierarchy – for example, a proprietary program
might dump its files in /opt/application when you install it.
/proc – Kernel & Process Files
The /proc directory similar to the /dev directory because it doesn’t
contain standard files. It contains special files that represent system
and process information.

/root – Root Home Directory
The /root directory is the home directory of the root user. Instead
of being located at /home/root, it’s located at /root. This is distinct
from /, which is the system root directory.
/run – Application State Files
The /run directory is fairly new, and gives applications a standard
place to store transient files they require like sockets and process
IDs. These files can’t be stored in /tmp because files in /tmp may be
deleted.
/sbin – System Administration Binaries
The /sbin directory is similar to the /bin directory. It contains
essential binaries that are generally intended to be run by the root
user for system administration.

/selinux – SELinux Virtual File System
If your Linux distribution uses SELinux for security (Fedora and Red
Hat, for example), the /selinux directory contains special files used by
SELinux. It’s similar to /proc. Ubuntu doesn’t use SELinux, so the
presence of this folder on Ubuntu appears to be a bug.
/srv – Service Data
The /srv directory contains “data for services provided by the
system.” If you were using the Apache HTTP server to serve a website,
you’d likely store your website’s files in a directory inside the /srv
directory.
/tmp – Temporary Files
Applications store temporary files in the /tmp directory. These files
are generally deleted whenever your system is restarted and may be
deleted at any time by utilities such as tmpwatch.
/usr – User Binaries & Read-Only Data
The /usr directory contains applications and files used by users, as
opposed to applications and files used by the system. For example,
non-essential applications are located inside the /usr/bin directory
instead of the /bin directory and non-essential system administration
binaries are located in the /usr/sbin directory instead of the /sbin
directory. Libraries for each are located inside the /usr/lib directory.
The /usr directory also contains other directories – for example,
architecture-independent files like graphics are located in /usr/share.
The /usr/local directory is where locally compiled applications
install to by default – this prevents them from mucking up the rest of
the system.

/var – Variable Data Files
The /var directory is the writable counterpart to the /usr directory,
which must be read-only in normal operation. Log files and everything
else that would normally be written to /usr during normal operation are
written to the /var directory. For example, you’ll find log files in
/var/log.
Cr : http://www.howtogeek.com/
0 comments:
Posting Komentar