File System

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.