Thursday, January 19, 2023

Linux Directory Structure

 Linux Directory Structure:--->


The Linux file system is organised in a hierarchical structure, similar to a tree, with the root directory (/) at the top. All other directories and files are contained within the root directory. The following is a brief overview of the main directories and their purpose in a typical Linux file system:


/ : The root directory is the top-most level of the file system. All other directories and files are contained within the root directory.


/bin : Contains binary executable that are necessary for the system to boot and run in single-user mode.


/sbin : Contains system binary executable that are necessary for the system to boot, run, and maintain a consistent state.


/etc : Contains configuration files for the system and applications.


/usr : Contains user-related data, including applications, libraries, and documentation.


/var : Contains variable data, such as logs, mail, and spool files.


/tmp : Contains temporary files that are not required to persist between system reboots.


/home : Contains the home directories for users.


/opt : Contains optional software packages.


/proc : A virtual file system that provides information about the system's processes and kernel.


/sys : A virtual file system that provides information about the system's hardware and configuration.


Exploring directories and their usability:

We know that Linux is a very complex system that requires an efficient way to start, stop, maintain and reboot a system, unlike Windows operating system. In the Linux system some well-defined configuration files, binaries, man pages information files available for every process. 

Linux Kernel File:

  • /boot/vmlinux – The Linux kernel file.

Device Files:

  • /dev/hda – Device file for the first IDE HDD.
  • /dev/hdc – A pseudo-device that output garbage output is redirected to /dev/null.

System Configuration Files:

  • /etc/bashrc – It is used by bash shell that contains system defaults and aliases.
  • /etc/crontab – A shell script to run specified commands on a predefined time interval.
  • /etc/exports – It contains information on the file system available on the network.
  • /etc/fstab  Information of the Disk Drive and their mount point.
  • /etc/group – It is a text file to define Information of Security Group.
  • /etc/grub.conf – It is the grub bootloader configuration file.
  • /etc/init.d – Service startup Script.
  • /etc/lilo.conf – It contains lilo bootloader configuration file.
  • /etc/hosts – Information of IP and corresponding hostnames.
  • /etc/hosts.allow – It contains a list of hosts allowed accessing services on the local machine.
  • /etc/host.deny – List of hosts denied to access services on the local machine.
  • /etc/inittab – INIT process and their interaction at the various run level.
  • /etc/issue – Allows editing the pre-login message.
  • /etc/modules.conf – It contains the configuration files for the system modules.
  • /etc/motd – It contains the message of the day.
  • /etc/mtab – Currently mounted blocks information.
  • /etc/passwd – It contains username, password of the system, users in a shadow file.
  • /etc/printcap – It contains printer Information.
  • /etc/profile – Bash shell defaults.
  • /etc/profile.d –  It contains other scripts like application scripts, executed after login.
  • /etc/rc.d – It avoids script duplication.
  • /etc/rc.d/init.d – Run Level Initialisation Script.
  • /etc/resolv.conf – DNS being used by System.
  • /etc/security – It contains the name of terminals where root login is possible.
  • /etc/skel – Script that initiates new user home directory.
  • /etc/termcap – An ASCII file that defines the behavior of different types of the terminal.
  • /etc/X11 –  Directory tree contains all the conf files for the X-window System.

User Related Files:

  • /usr/bin – It contains most of the executable files.
  • /usr/bin/X11 – Symbolic link of /usr/bin.
  • /usr/include – It contains standard include files used by C program.
  • /usr/share – It contains architecture independent shareable text files.
  • /usr/lib – It contains object files and libraries.
  • /usr/sbin – It contains commands for Super User, for System Administration.

Virtual and Pseudo Process Related Files:

  • /proc/cpuinfo – CPU Information
  • /proc/filesystems – It keeps the useful info about the processes that are running currently.
  • /proc/interrupts – it keeps the information about the number of interrupts per IRQ.
  • /proc/ioports – Contains all the Input and Output addresses used by devices on the server.
  • /proc/meminfo –  It reports the memory usage information.
  • /proc/modules – Currently using kernel module.
  • /proc/mount – Mounted File-system Information.
  • /proc/stat –  It displays the detailed statistics of the current system.
  • /proc/swaps –  It contains swap file information.

Version Information File:

  • /version – It displays the Linux version information.

Log Files:

  • /var/log/lastlog – It stores user last login info.
  • /var/log/messages – It has all the global system messages.
  • /var/log/wtmp – It keeps a history of login and logout information

No comments:

Post a Comment

Unleashing the Power of Docker and Docker Compose: Building Lightweight and Secure Containers

  Introduction In today's cloud-native world, containerization is the cornerstone of modern software development. Docker has revolutioni...