The Filesystem Hierarchy Standard

Linux

As with other Linux distributions, Kali Linux is organized to be consistent with the Filesystem Hierarchy Standard (FHS), allowing users of other Linux distributions to easily find their way around Kali. The FHS defines the purpose of each directory. The top-level directories are described as follows:

  • /bin/: basic programs
  • /boot/: Kali Linux kernel and other files required for its early boot process
  • /dev/: device files
  • /etc/: configuration files
  • /home/: user’s personal files
  • /lib/: basic libraries
  • /media/*: mount points for removable devices (CD-ROM, USB keys, and so on)
  • /mnt/: temporary mount point
  • /opt/: extra applications provided by third parties
  • /root/: administrator’s (root’s) personal files
  • /run/: volatile runtime data that does not persist across reboots (not yet included in the FHS)
  • /sbin/: system programs
  • /srv/: data used by servers hosted on this system
  • /tmp/: temporary files (this directory is often emptied at boot)
  • /usr/: applications (this directory is further subdivided into bin, sbin, lib according to the same logic as in the root directory) Furthermore, /usr/share/ contains architectureindependent data. The /usr/local/ directory is meant to be used by the administrator for installing applications manually without overwriting files handled by the packaging system (dpkg).
  • /var/: variable data handled by daemons. This includes log files, queues, spools, and caches.
  • /proc/ and /sys/ are specific to the Linux kernel (and not part of the FHS). They are used by the kernel for exporting data to user space