Filesystem Standard (FSSTND), now Filesystem Hierarchy Standard (FHS) defines the directory-structure & directory-contents in UNIX-like/Linux distributions

Directory Structure

Directory

Description

.

  • references the current directory

..

  • references the directory immediately above in the hierarchy

/

  • the root of the file system
  • all files and directories fall under this

proc

  • special directory holds all the details about the Linux system

usr

  • stands for Unix System Resources
  • contains system utilities
  • contents are usually static

var

  • contains files to which the system writes data during the course of its operation

/bin

  • contains the executable (i.e., ready to run) programs that must be available in order to attain minimal functionality for the purposes of booting (i.e., starting) and repairing a system

/sbin

  • system binaries
  • contains essential system admin programs that are generally run by the superuser (on Windows the superuser is called Administrator)

sbin

  • */bin - contains binary executable files or links to them
  • */sbin - contains system admin binary executable files or links to them

lib

/opt

  • optional software
  • third party software is usually installed here (similar to “Program Files” directory in Windows)

etc

  • system configuration files
  • where things like password file, and global system configuration files live

/media

/mnt

  • temporary mount points for mounting storage devices, such as CDROMs, floppy disks and USB (universal serial bus) key drives

/root

  • is the home directory of the root user/account

/home

  • contains user home directories (similar to “Documents and Settings” folder in Windows)

/tmp

  • temporary files
  • when the system reboots, these go away

/boot

  • contains files used by the manager (e.g. GRand Unified Bootloader (GRUB 2)). Kernel images are often kept here instead of in the root directory. If there are many kernel images, the directory can easily grow rather big, and it might be better to keep it in a separate filesystem. Another reason would be to make sure the kernel images are within the first 1024 cylinders of an IDE disk. This 1024 cylinder limit is no longer true in most cases. With modern BIOSes the 1024 cylinder limit can be passed with logical block addressing (LBA)

/kernel

  • the core operating system (similar to “Windows” folder in Windows)

/run

Versions

Version

Release Date

Notes

1.0

1994-02-14

FSSTND

1.1

1994-10-09

FSSTND

1.2

1995-03-28

FSSTND

2.0

1997-10-26

FHS 2.0 is the direct successor for FSSTND 1.2. Name of the standard was changed to Filesystem Hierarchy Standard.

2.1

2000-04-12

FHS

2.2

2001-05-23

FHS

2.3

2004-01-29

FHS

3.0

2015-05-18

FHS

  • RED: old version
  • YELLOW: older version, still supported
  • GREEN: latest version