
Note
To get a complete understanding of the Linux file system, recommended reading is the Linux Filesystem Hierarchy documentation hosted by The Linux Documentation Project.
A filesystem is a method of storing and organizing files — not only in Linux, but also in other computer operating systems. In Linux, most files are “regular files”, except directories, special files, links, sockets, and named pipes. The most common filetypes that users interact with are regular files, directories, and links.
Opening a terminal (in Kubuntu this is called Konsole) and typing
ls /
brings up a list similar to the following:
bin boot cdrom dev etc home initrd.img lib lib32 lib64 lost+found media mnt proc root sbin selinux srv sys tmp usr var vmlinuz
Note
Not all lists will look exactly like the one above.
The following is an overview of the files or directories listed above.
Filesystem Overview
bin
Contains terminal commands that are useful to system administrators (who have full access privileges) and to regular users (who have limited access privileges). The commands in this directory are essential to the operation of a Linux system. Some of the commands in the
bin
directory are bash, ls, cp, and cat.boot
Contains the files required for the boot process. In the case of Kubuntu, it contains the files for the GRUB2 boot-loader, master boot records, map files, and the Linux kernel.
cdrom
A symlink or “symbolic link” to
/media/cdrom
, which itself is a symlink to/media/cdrom0
. If a CD is placed into the CDROM drive, the contents of that CD will be available in the/media/cdrom0
directory.dev
Location of special or device files. For example,
/dev/sda0
is the first partition on the hard drive.etc
Contains all system-related configuration files used to control the operation of programs.
home
Contains a home directory for each user on the system. A user's home directory can contain personal configuration files, documents, music, videos, and other user-defined directories and files.
initrd.img
A symlink to
/boot/initrd.img-<kernel version>
which is required for system startup.lib
Contains the kernel modules and shared library images needed to boot the system and run commands.
lib32
Same as
lib
above, but contains only the 32-bit versions.lib64
Same as
lib
above, but contains only the 64-bit versions.lost+found
Contains the results of any recovery operation due to an improper shut-down of the system or a system crash.
media
Contains the subdirectories which are used as mount points for removable media, such as CDROM drives, USB disks, floppy disks.
mnt
Generic mount point for filesystems or devices. In most cases,
/media
is where most devices will be auto-mounted.opt
Short for “optional”. This directory is used for add-on packages that are typically installed manually by the user.
proc
Virtual filesystem that contains runtime system information which is presented in a file-like structure.
root
The home directory of the system administrator known as “root”.
sbin
Contains programs that are essential to the working of the system, such as fdisk, ifconfig, reboot, and shutdown.
selinux
A pseudo-filesystem containing the commands used by the kernel sub-system for the Security-Enhanced Linux feature.
srv
Contains site-specific data which is served by the system.
sys
Contains the Linux kernel, firmware and system-related files.
tmp
Contains files that are required temporarily. Many programs use this directory to create lock files and for temporary storage of data.
usr
Contains the largest share of data on the system, including read-only user data, as well as files and programs, such as program binaries, documentation, libraries, header files, and more.
var
Contains variable data, such as system log files, mail and printer spool directories, as well as transient and temporary files.
vmlinuz
A symlink to a compressed executable of the Linux kernel.