Explained: Linux Directories

If you are planning to move and start using any Linux system, it’s essential to understand the directory structure for optimal operating system usage. Linux being one of the most powerful platforms, can be used for various purposes, and for the best use case, you should be able to understand and make modifications to the operating system as well as the software you are going to use to manage the processes and hardware to it’s maximum capacity. To understand the Linus folder system we have the following:

/ – Root

  • Every single file and directory starts from the root directory.
  • Only root user has write privileges under this directory.
  • Please note that /root is root user’s home directory, which is not same as /.

/bin – User Binaries

  • Contains binary executables.
  • Common linux commands you need to use in single-user modes are located under this directory.
  • Commands used by all the users of the system are located here.
  • For example: ps, ls, ping, grep, cp.

/sbin – System Binaries

  • Just like /bin, /sbin also contains binary executables.
  • But, the linux commands located under this directory are typically used by system aministrator for system maintenance.
  • For example: iptables, reboot, fdisk, ifconfig, swapon

/etc – Configuration Files

  • Contains configuration files required by all programs.
  • This also contains startup and shutdown shell scripts used to start/stop individual programs.
  • For example: /etc/resolv.conf, /etc/logrotate.conf

/dev – Device Files

  • Contains device files.
  • These include terminal devices, usb, or any device attached to the system.
  • For example: /dev/tty1, /dev/usbmon0

/proc – Process Information

  • Contains information about the system process.
  • This is a pseudo filesystem containing information about the running process. For example: /proc/{pid} directory contains information about the process with that particular pid.
  • This is a virtual filesystem with text information about system resources. For example: /proc/uptime

/var – Variable Files

  • var stands for variable files.
  • The content of the files that are expected to grow can be found under this directory.
  • This includes — system log files (/var/log); packages and database files (/var/lib); emails (/var/mail); print queues (/var/spool); lock files (/var/lock); temp files needed across reboots (/var/tmp);

/tmp – Temporary Files

  • The directory contains temporary files created by the system and users.
  • Files under this directory are deleted when the system is rebooted.

/usr – User Programs (Unix System Resources)

  • Also known as short for “Unix System Resources”
  • Contains binaries, libraries, documentation, and source code for second level programs.
  • /usr/bin contains binary files for user programs. If you can’t find a user binary under /bin, look under /usr/bin. For example: at, awk, cc, less, scp
  • /usr/sbin contain binary files for system administrators. If you can’t find a system binary under /sbin, look under /usr/sbin. For example: atd, cron, sshd, useradd, userdel
  • /usr/lib contains libraries for /usr/bin and /usr/sbin
  • /usr/local contains users programs that you install from the source. For example, when you install apache from source, it goes under /usr/local/apache2

/home – Home Directories

  • Home directories for all users to store their personal files.
  • For example: /home/john, /home/brian

/boot – Boot Loader Files

  • Contains boot loader-related files.
  • Kernel initrd, vmlinux, grub files are located under /boot
  • For example: initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic

/lib – System Libraries

  • Contains library files that support the binaries located under /bin and /sbin
  • Library filenames are either ld* or lib*.so.*
  • For example: ld-2.11.1.so, libncurses.so.5.7

/opt – Optional add-on Applications

  • opt stands for optional.
  • Contains add-on applications from individual vendors.
  • add-on applications should be installed under either /opt/ or /opt/ sub-directory.

/mnt – Mount Directory

  • Temporary mount directory where sysadmins can mount filesystems.

/media – Removable Media Devices

  • Temporary mount directory for removable devices.
  • For examples, /media/cdrom for CD-ROM; /media/floppy for floppy drives; /media/cdrecorder for CD writer

/srv – Service Data

  • srv stands for service.
  • Contains server-specific services-related data.
  • For example, /srv/cvs contains CVS related data.

The above folders cover most of the Linux directories.

3 thoughts on “Explained: Linux Directories”

Leave a Comment