Skip to content

Linux Directory Structure

Mahesh Shukla edited this page Sep 2, 2025 · 2 revisions

📁 Linux Directory Structure

Prerequisite: Linux File Hierarchy Structure


📝 Introduction

In Linux and Unix OS, everything is considered a file, including directories, regular files, and devices like mouse, keyboard, and printers.
This guide provides an in-depth overview of the Linux directory structure, including file types and directory hierarchy.


📂 Types of Files in Linux

🖋 General Files * Ordinary files: images, videos, programs, text files * Can be **ASCII** or **Binary** format * Most commonly used files
📁 Directory Files * Act as a warehouse for other files * Can contain subdirectories, creating a hierarchical structure
💻 Device Files * Devices are represented as files, e.g., `/dev/sda1`, `/dev/sda2` * Unlike Windows drive letters

📑 File Types Table

File Types Description
General Files Images, videos, programs, or text files
Directory Files Organize files, may include subdirectories
Device Files Represent hardware devices, e.g., /dev/sda1

🗂 Linux File System Hierarchy

The root directory / is the top of the Linux file system tree.

Directory Description
/bin Binary/executable programs
/etc System configuration files
/home Default user home directories
/opt Optional/third-party software
/tmp Temporary space, cleared on reboot
/usr User-related programs
/var Log files, variable data
🔹 Additional Directories
Directory Description
/boot Boot-related files
/dev Device files
/lib Kernel modules and shared libraries
/lost+found Recovered file fragments
/media Mount points for removable media
/mnt Temporary mount directories
/proc Virtual file system for process information
/run Volatile runtime data
/sbin System administration binaries
/srv Server-specific files
/sys Virtual filesystem for device information

🔍 Notable Files in Linux

File/Directory Description
/boot/vmlinux Linux kernel file
/dev/hda Device file for first IDE HDD
/dev/hdc Pseudo-device for garbage output
/etc/bashrc Bash system defaults and aliases
/etc/crontab Scheduled tasks
/etc/fstab Disk mount points
/etc/group Security groups
/etc/grub.conf Grub bootloader configuration
/etc/init.d Service startup scripts
/etc/inittab Initialization processes and run levels
/etc/passwd Usernames and account info
/etc/resolv.conf DNS configuration
/usr/bin Executable files
/usr/include Standard header files for C programs
/usr/lib Object files and libraries
/proc/cpuinfo CPU information
/proc/filesystems Active filesystem info
/proc/ioports Input/Output addresses
/proc/meminfo Memory usage info
/version Linux version info
/var/log/lastlog Last login info
/var/log/messages Global system messages
/var/log/wtmp Login/logout history

✅ Conclusion

Understanding the Linux directory structure is essential for:

  • Efficient system navigation
  • File management
  • Access to system resources

Note: Variations may exist across Linux distributions, but the core structure is consistent.

For detailed explanations and examples, refer to the Linux Directory Structure wiki page.

Clone this wiki locally