Skip to main content

Linux Directory Structure and major file Paths


Linux Directory Structure and major file Paths

               This page aims to provide information about the Linux File System, as well as some of the most significant files, their functionality, and where they may be found.

 

Linux Directory Structure

                The directory structure of a basic Linux distribution is shown in the diagram below.

               Each of the directories listed above contains vital information such as device drivers, configuration files, and so on. We'll begin by describing the purpose of each directory in a hierarchical order.

 

               /bin:  All executable binary programmers (files) needed for booting, repairing, and running in single-user mode, as well as other critical, fundamental commands like cat, du, df, tar, rpm, wc, history, and so on.

 

               /etc: This directory contains the application's configuration files, as well as startup, shutdown, start, and stop scripts for each programmer.

 

               /home is the user's home directory. When a new user is established, a directory with the user's name is created within the home directory, along with other directories such as Desktop, Downloads, Documents, and so on.

 

               /boot: Stores critical files, such as the Linux Kernel, Grub file etc.., during the boot-up process.

 

               /dev: This directory has device files for all of the machine's hardware, such as the CDROM, CPU, and so on.

 

               /lib: The Lib directory holds kernel modules and shared library images that are needed to start the system and perform commands in the root file system.

 

               /lost+found: This directory is created during the Linux installation process and can be used to recover files that have been damaged due to an unexpected shutdown.

 

               /media: For portable devices, such as media/cdrom, a temporary mount directory is generated.

 

               /mnt: For mounting a file system, this is a temporary mount directory.

 

               /opt stands for "optional." This package includes software from a third party. For example, consider Java.

 

               /proc is a hypothetical and fictitious file system that stores information on running processes with a specific Process-id, also known as pid.

 

               /root: This is the root user's home directory and should not be confused with '/'.

 

              /run: The only clean solution to the early-runtime-dir problem is to use this directory.

 

               /sbin: Contains binary executable applications for maintenance that are required by the System Administrator. For example, iptables, fdisk, ifconfig, swapon, reboot, and so on.

 

              /srv: The abbreviation for service is 'srv.' This directory contains files that are specific to the server as well as files that are relevant to the service.

 

               /sys: A virtual filesystem called /sys is included in modern Linux distributions, and it stores and permits modification of the system's connected devices.

 

               /tmp: Users and root have access to the system's temporary directory (/tmp). Until the next boot, it saves temporary files for the user and the system.

 

               /usr: Contains second-level programmer executable binaries, documentation, source code, and libraries.

 

               /var:  Variable is denoted by /var. This file's contents are projected to grow. The log, lock, spool, mail, and temp files are all located in this directory.

 

Investigating important files, their locations, and their usefulness

 

               In comparison to Windows, Linux is a complex system that necessitates a more complicated and efficient method of starting, stopping, maintaining, and rebooting a system. In Linux, each process has its own set of configuration files, binaries, man pages, and information files.

 

               /boot/vmlinuz: The Linux Kernel file is located in /boot/vmlinuz.

 

               /dev/hda: The first IDE HDD's device file (Hard Disk Drive).

 

               /dev/hdc: This is the device file for the IDE Cdrom.

 

              /dev/null is a fictitious device that does not exist. Occasionally, junk output is diverted to /dev/null, where it is eternally lost.

 

               /etc/bashrc: This file contains the bash shell's system defaults and aliases.

 

               /etc/crontab: A shell script that executes specified commands at predetermined intervals.

 

               /etc/exports: This file contains information about the file system that is accessible over the network.

 

               /etc/fstab contains information about the disc drive and its mount point.

 

               /etc/group: Security Group information.

 

               /etc/grub.conf: grub bootloader configuration file /etc/grub.conf

 

               /etc/init.d: Startup script for services.

 

               /etc/lilo.conf is the configuration file for the lilo bootloader.

 

               /etc/hosts contains information about IP addresses and their associated host names.

 

               /etc/hosts.allow: List of hosts that are authorized to use the local machine's services.

 

              /etc/host.deny: List of hosts that aren't allowed to use the local machine's services.

 

               /etc/inittab: INIT process and its interaction at various run levels are described in /etc/inittab.

 

               /etc/issue: This file allows you to change the pre-login message.

 

               /etc/modules.conf: System module configuration files.

 

               /etc/motd: motd is an acronym for Message Of The Day, which is the message that users see when they log in.

 

               /etc/mtab: Information is currently blocked by the mounted filesystem.

 

               /etc/passwd: A security implementation that stores the passwords of system users in a shadow file.

 

               Printer Information (/etc/printcap)

 

                /etc/profile: Default bash shell settings in /etc/profile

 

               /etc/profile.d: After logging in, this script is run.

 

               /etc/rc.d: Run-level script information.

 

               /etc/rc.d/init.d: Run Level Initialization Script (/etc/rc.d/init.d).

 

               /etc/resolv.conf: System's Domain Name Servers (DNS) are listed in /etc/resolv.conf.

 

               /etc/security: Terminal List, which allows root login.

 

              /etc/skel: Script for creating a new user's home directory.

 

              /etc/termcap: An ASCII file that specifies how Terminal, Console, and Printers should behave.

 

              /etc/X11: X-window System configuration files.

 

              /usr/bin contains standard user-executable commands.

  

               /usr/bin/X11: X Window System binaries.

 

               /usr/include: /usr/include Includes include files for the 'c' programme.

 

               /usr/share: Shared directories for man, info, and other files.

 

               /usr/lib contains library files that are needed for software compilation.

 

               /usr/sbin: Super User and System Administration Commands.

 

               CPU Information (/proc/cpuinfo)

 

               /proc/filesystems: Currently used file-system information.

 

               /proc/interrupts: This file contains information about the current interrupts in use.

 

               /proc/ioports: This file contains all of the server's Input/Output addresses.

 

               Memory Usage Information is stored in /proc/meminfo.

 

               /proc/modules: Kernel module is now in use.

 

              /proc/mount: Information about the mounted file system.

 

              /proc/stat: The current System's detailed statistics.

 

              Swap File Information is stored in /proc/swaps.

 

               /version is a command that displays information about the Linux version.

 

              /var/log/lastlog contains the log of the most recent boot procedure.

 

              /var/log/messages contains a log of messages generated by the syslog daemon during boot.

 

              /var/log/wtmp: displays the current login time and duration for each user on the system.


Completed!


That’s it further details, we will publish in next coming session.

Comments

Popular posts from this blog

temp-1

  🔧 vast_id Configuration Key: vast_id Description This section defines the VAST ID , a unique numeric identifier used by internal systems for asset tracking, automation, or integration with enterprise management platforms. It helps associate the server with inventory records, monitoring tools, or deployment workflows. ✅ Used during provisioning to register the system in centralized databases or orchestration systems. JSON Format json 1 "vast_id" : 12194 ✅ Can also be provided as a string: json 1 "vast_id" : "12194" Field Reference vast_id String or Integer Unique identifier for the system in VAST (Verizon Asset Systems Tracker) 12194 ✅ Must be non-empty and numeric — leading zeros may be stripped depending on system. Validations Enforced vast_id  is required and must be a non-empty string or integer Ensures the field is present and contains usable data If  vast_id  is a string, it must not be blank or whitespace-only Prevents " " , "...

testing

09052025 T-1 { "volume_groups" : { "vgroot" : { "vgsize" : "304G" , "fs_type" : "xfs" } } , "logical_volumes" : { "root" : { "lvroot" : { "vgname" : "vgroot" , "lvname" : "lvroot" , "lvsize" : "12G" , "mountpoint" : "/" , "purpose" : "root filesystem" , "disk" : 1 , "partition" : 2 } } , "swap" : { "lvswap" : { "vgname" : "vgroot" , "lvname" : "lvswap" , "lvsize" : "4G" , "mountpoint" : "NA" , "purpose" : "swap" , "disk" : 1 , "partit...

temp

 {   "_id": {     "$oid": "6841e4b0fd270b2ab92d7eaa"   },   // 📌 [Auto-generated]   // Description: Unique system identifier for internal use (MongoDB ObjectId).   // Type: ObjectId (string)   // Required: No (automatically handled)   "vast_id": "21452",   // 📌 [Required]   // Description: Your unique request ID or reference number.   // Type: string   // Format: Numeric string (e.g., "21452")   // Example: "21452"   "env": "dev",   // 📌 [Required]   // Description: The environment where the VM will be deployed.   // Type: string   // Allowed values: "dev", "qa", "uat", "prod"   // Example: "dev" for development, "prod" for production   "ver": "0.2",   // 📌 [Do Not Modify]   // Description: Template version. Used by automation to ensure compatibility.   // Type: string   // Format: Semantic versioning (e.g., "...