全部博文(263)
分类: LINUX
2008-06-17 15:00:19
Session 2: The Linux Directory Structure
Author: Con Validas
Marked up by: Andrew Stone
Revision History
Revision 0.5 9/02/2003
Abstract
In this session we will cover
the Linux directory hierarchy. This includes the root directory and all
of its subdirectories. This session follows on from Session 1: Learning
to use the Linux Command Line Interface by Kylie Davies.
Table of Contents
Introduction
The Linux directory hierarchy at a glance
Top level directory
Subdirectories
The Linux Filesystem Hierarchy
/
/bin
/boot
/dev
/etc
/home
/lib
/mnt
/lost+found
/opt
/proc
/root
/sbin
/tmp
/usr
/var
References
Introduction
In the Linux operating
system, all filesystems are contained within one directory hierarchy.
The root directory is the top level directory, and all its
subdirectories make up the directory hierarchy. This differs to other
operating systems such as MS-Windows which applies a separate hierarchy
for each device and partition.
The Linux directory hierarchy at a glance
The following directories are contained within the structure:
Top level directory
/
Subdirectories
bin sbin lib usr var boot dev etc home mnt proc root tmp lost+found opt
The Linux Filesystem Hierarchy
Listed below are the directories contained within the root filesystem.
/
The Linux filesystem has the root
directory at the top of the directory tree. The following list of
directories are subdirectories of the root directory. This directory is
denoted by the / (pronounced "slash") symbol. To view the list of
directories from the root directory, enter the following in the command
line:
$ls /
You will see a list of subdirectories outputed to the screen. All these directories are explained below.
/bin
Contains executable programs such
as ls and cp. These programs are designed to make the system usable.
Programs within /bin are required for system repairing. Some of the
files located in the /bin directory include:
Shell programs
* bash
* sh
File manipulation programs
* tar
* echo
* vi
* grep
Process handling programs
* kill
* ps
/boot
Stored in this directory are
files that are required for the Linux boot process. Such files include
vmlinuz, the Linux kernel file.
/dev
Contains device files required
for interfacing with hardware. Devices in UNIX are either block or
character devices. Examples of character devices are your keyboard,
mouse and serial port. Block devices can include the floppy drive,
CD-ROM drive and hard disk. Common files in /dev include:
* psaux (interface to PS/2 mouse)
* modem (interface to modem hardware)
* ttyS0 (first serial port)
* tty0 (first virtual console).
/etc
Contains configuration files which are local to the machine. Programs store configuration files in this directory and these files are referenced when programs are run. Common files or directories found in /etc include:
* /etc/X11/ (the X Window configuration directory)
* profile (system-wide environment configuration file).
/home
Contains user account
directories. Each user created by the system administrator will have a
subdirectory under /home with the name of the account. This is the
default behaviour of Linux systems. E.g. User account for Anna is
created, her home directory will be located in /home/anna. All her
personal files will reside in this directory. All participants in this
class are using the home directories of their respective user accounts.
At Computerbank, /home is served via the network, enabling users to
access their home directory from any networked machine.
/lib
Contains shared object library
files that are necessary to boot the system as well as containing files
required by various programs such as rm and ls. This directory also
contains modules (located in /lib/modules) which can be loaded into the
kernel. Files of interest in /lib include:
* libm.so (shared object file used for math functions)
* libc.so (C programming library used for all system and library calls).
Module files are located in /lib/modules/`uname -r`/kernel/
/mnt
Used for mounting temporary
filesystems. When mounting a CD-ROM for instance, the standard mount
point location is /mnt/cdrom. On the Debian GNU/Linux systems at
Computerbank, the mount point has been changed to /cdrom.
/lost+found
When the filesystem cannot
properly identify files, the respective files are placed in this
directory. If data appears to have been lost mysteriously, it is a good
idea to check in this direetory (or ask your system administrator to
check for you).
/opt
Used for storing random data that has no other logical destination.
/proc
Provides information about
running processes and the kernel. A directory is provided for each
running process. Useful system information such as the amount of Random
Access Memory (RAM) available on the system as well as Central
Processing Unit (CPU) speed in Megahertz (MHz) can be found within the
/proc directory. The following commands will give you this information:
$ cat /proc/cpuinfo - Display CPU information of system
$ cat /proc/meminfo - Display RAM information as well as swap space capacity and usage.
/root
This is the home directory for
the super user (root). This directory is not viewable from user
accounts. The /root directory usually contains system administration
files.
/sbin
Similar to /bin, this directory
contains executable programs needed to boot the system, however the
programs within /sbin are executed by the root user. Contains system
maintenance programs, examples of which are:
* ifconfig (interface configuration, use this command to add or remove a network interface)
* mkfs (make a filesystem on a partition)
* lilo (boot loader software, tells your Master Boot Record (MBR) where
to find your operating system(s). Linux Loader (LILO) stores its
working files in /boot.
/tmp
This directory is used for
temporary storage space. Files within this directory are often cleaned
out either at boot time or by a regular job process. The Debian
GNU/Linux operating system cleans up the /tmp directory at boot time.
An example for using the /tmp directory in Computerbank would be when
downloading the OpenOffice deb packages. By downloading these packages
into the /tmp directory, the user can be assured the packages will be
wiped off the system next time the machine reboots.
/usr
Used to store applications. When
installing an application on a Debian GNU/Linux machine, the typical
path to install would be /usr/local. You will notice the directory
structure within /usr appears similar to the root directory structure.
Some directories located within /usr include:
* /usr/doc - Documentation relating to the installed software programs.
* /usr/bin - Executable programs that are not required for booting or repairing the system.
* /usr/local/src - Source code for locally installed applications.
/var
This directory contains files of
variable file storage. Files in /var are dynamic and are constantly
being written to or changed. Some directories located within /var
include:
* /var/spool - files in the print queue
* /var/log - files containing logging information
* /var/run - files containing the process ID's for each current process.
References
* The hier(7) man page.
* Filesystem Hierarchy Standard (FHS)
*