Day 3 of My 90-Day DevOps Challenge: Exploring the Linux File System & Some Basic Linux Commands
Hello everyone! ๐ On Day 3 of my DevOps journey, Iโm delving into the Linux file system. Understanding the file system is crucial for navigating and managing a Linux environment effectively.
The Linux File System
In Linux, everything is treated as a file. This includes:
Ordinary Files: Files that contain data directly, such as text files, executable files, images, etc.
Directory Files: Folders that contain other files and directories.
Device Files: Files that represent hardware devices (e.g., /dev/sda for a hard disk).
Understanding the Linux File System Hierarchy
Introduction
The Linux file system hierarchy organizes the storage of data and system files in a structured manner. Each directory serves a specific purpose, making it easier to locate and manage files, applications, and configurations.
Key Directories in Linux
1. / (Root Directory)
The root directory is the top-level directory in Linux.
Example:
/
2. /bin (Binaries)
Stores essential command binaries that are needed for system boot and repair.
Example:
/bin/bash
(the Bash shell)
3. /boot (Boot Loader Files)
Contains files required for booting the system, including kernel and bootloader configurations.
Example:
/boot/vmlinuz-5.4.0-91-generic
(Linux kernel)
4. /dev (Devices)
Contains device files that represent physical and virtual devices.
Example:
/dev/sda
(first SATA drive)
5. /etc (Configuration Files)
Holds system-wide configuration files for installed applications and services.
Example:
/etc/passwd
(user account information)
6. /home (User Home Directories)
Stores personal user directories where users store their files and configurations.
Example:
/home/user1
7. /lib (Libraries)
Contains shared library files needed by the essential binaries in
/bin
and/sbin
.Example:
/lib/x86_64-linux-gnu/
libc.so
.6
(C library)
8. /mnt (Mount Points)
Provides temporary mount points for mounting external filesystems or devices.
Example:
/mnt/usb
(mount point for a USB drive)
9. /proc (Process Information)
Virtual file system that provides information about running processes and system resources.
Example:
/proc/cpuinfo
(CPU information)
10. /sys (System Information)
Virtual file system that exposes kernel and hardware device information.
Example:
/sys/class/net/eth0/
(network interface information)
11. /tmp (Temporary Files)
Stores temporary files created by system processes and users.
Example:
/tmp/file.txt
12. /usr (User Programs)
Contains user binaries, libraries, documentation, and resources for installed programs.
Example:
/usr/bin/python3
(Python interpreter)
13. /var (Variable Files)
Holds variable data files that are expected to change during normal system operation.
Example:
/var/log/syslog
(system log file)
Real-world Examples
Navigating the File System: Using commands like
cd
,ls
, andpwd
to move around and explore directories.Managing Files: Creating, editing, and deleting files using commands like
touch
,nano
,rm
, andmv
.System Administration: Editing configuration files in
/etc
to customize system behavior.
Linux Commands:
You can watch this video and practice the linux commands , Every commands had been explained in detail you can go through this video and get clarity on each command use case.
As I continue my DevOps challenge, I look forward to exploring more about Linux and sharing my insights with you all. Stay tuned for more updates on my journey!
Subscribe to my newsletter
Read articles from Vaseem Shaik directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Vaseem Shaik
Vaseem Shaik
Hi, I'm vaseem akram, a dedicated and passionate DevOps Engineer with extensive experience in automation, continuous integration, and infrastructure management.