mooc-course.com is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Linux Directory Structure

Linux Directory Structure

5/5 - (1 vote)

The Linux directory structure is a hierarchical arrangement of files and folders that forms the backbone of the Linux file system. Understanding this structure is crucial for efficient system administration, software development, and general usage of Linux-based operating systems. This guide will explore the main directories, their purposes, and practical applications.

The Root Directory (/)

At the top of the Linux file system hierarchy is the root directory, denoted by a forward slash (/). All other directories branch off from this central point.

Key characteristics:

  • The starting point for the Linux entire file system
  • Contains essential system files and directories
  • Requires superuser (root) access for modifications

Essential System Directories in Linux

/bin – Essential User Binaries

The /bin directory contains fundamental executable programs (binaries) that are essential for basic system functionality.

Contents:

  • Core system utilities (ls, cp, mv, rm)
  • Shell interpreters (bash, sh)
  • Basic networking tools (ping, netstat)

Example usage:

ls /bin

/sbin – System Binaries

Similar to /bin, but contains system administration binaries typically used by the root user.

See also  How to configure network interfaces in CentOS?

Contents:

  • System management tools (fdisk, mkfs, ifconfig)
  • Network configuration utilities (route, iptables)

Example usage:

sudo fdisk -l

/etc – System Configuration Files

The /etc directory houses system-wide configuration files and scripts.

Key files and subdirectories:

  • /etc/passwd (user account information)
  • /etc/fstab (filesystem mount configuration)
  • /etc/ssh (SSH server configuration)

Example: Viewing system users

cat /etc/passwd

/home – User Home Directories

Each regular user has a subdirectory in /home for personal files and configurations.

Structure:

  • /home/username (individual user directories)
  • Hidden files (.bashrc, .profile) for user-specific settings

Example: Listing a user’s home directory

ls /home/username

/root – Root User’s Home Directory

The home directory for the root user, separate from regular user homes for security reasons

/var – Variable Data

Contains files that are expected to grow or change frequently during system operation.

Key subdirectories:

  • /var/log (system and application log files)
  • /var/spool (print and mail queues)
  • /var/www (web server files)

Example: Viewing system logs

sudo tail -f /var/log/syslog

Software and Application Directories in Linux

/usr – User Programs

Contains the majority of user-installed applications and utilities.

Key subdirectories:

  • /usr/bin (non-essential user binaries)
  • /usr/lib (program libraries)
  • /usr/share (architecture-independent data)

/opt – Optional Software

Used for installing third-party or commercial software packages.

Example: Installing software in /opt

sudo tar -xzvf software.tar.gz -C /opt

Virtual and Temporary Directories in Linux

/proc – Process Information

A virtual filesystem provides information about running processes and system resources.

Key files:

  • /proc/cpuinfo (CPU information)
  • /proc/meminfo (memory usage statistics)

Example: Viewing CPU information

cat /proc/cpuinfo

/tmp – Temporary Files

A directory for storing temporary files that are typically cleared on system reboot.

See also  How to Create and Use Shell Scripts in Linux

Example: Creating a temporary file

mktemp /tmp/example.XXXXXX

Device and Media Directories in Linux

/dev – Device Files

Contains special files representing devices and drivers.Key files:

  • /dev/sda (first SATA drive)
  • /dev/tty (terminal devices)

/media – Removable Media

Mount point for removable media like USB drives and CD-ROMs.

/mnt – Temporary Mount Points

Used for temporarily mounting filesystems.

System Boot Files

/boot – Boot Loader Files

Contains files necessary for the system boot process.Key files:

  • kernel images
  • initrd (initial RAM disk)
  • bootloader configuration (GRUB)

Conclusion

Understanding the Linux directory structure is fundamental for effective system management and usage. Each directory serves a specific purpose, contributing to the overall organization and functionality of the Linux operating system. By familiarizing yourself with this structure, you’ll be better equipped to navigate, maintain, and troubleshoot Linux systems.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Free Worldwide Courses

Learn online for free

Enroll in Multiple Courses

Learn whatever your want from anywhere, anytime

International Language

Courses offered in multiple languages & Subtitles

Verified Certificate

Claim your verified certificate