Skip to content

Latest commit

Β 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 

Repository files navigation

🐧 Linux CLI & System Administration Mastery

Linux Bash Terminal

A comprehensive, hands-on project demonstrating core Linux system administration, file management, process handling, and resource monitoring. This repository serves as a practical execution log of essential CLI operations required for DevOps and SysAdmin roles.

πŸ“– Table of Contents


πŸ“Œ Overview

This project simulates real-world server management tasks. The challenges progress from basic file handling to intermediate system discovery, resource monitoring, and background process management.

Key Skills Demonstrated:

  • Navigation & File Operations (cp, mv, rm, mkdir)
  • Content Filtering & Redirection (grep, echo, >, >>)
  • Permissions Management (chmod)
  • Compression & Backups (tar)
  • Process Control (ps, kill, background jobs)
  • System Monitoring (free, du, ifconfig, uptime)

βš™οΈ Prerequisites

  • A Linux-based OS (Ubuntu, RHEL, CentOS, etc.) or WSL.
  • Basic understanding of command-line interfaces.
  • Root or Sudo privileges for system-level commands.

πŸš€ Implementation Steps

Phase 1: File & Directory Management

1. Basic Directory & File Creation

Initializing the workspace by creating a project directory and an empty file.

mkdir my_project
cd my_project
touch index.html

2. Copying, Moving & Renaming

Duplicating files and organizing them into subdirectories logically.

cp -rf index.html about.html
mkdir pages
mv about.html ./pages

3. Deletion & Directory Renaming

Cleaning up the workspace and restructuring directories.

cd ..
rm index.html
mv pages assets

4. Hidden Files & Recursive Deletion

Managing hidden configuration files and safely wiping non-empty directories.

cd assets
touch .secret
ls -a
cd ..
rm -rvf assets

Phase 2: Text Processing & Permissions

5. Text Redirection & Finding Files

Writing logs directly via CLI and tracking files down using find.

mkdir network_logs && cd network_logs
echo "Destination Host Unreachable" > ping_results.txt
find . -name "ping_results.txt"

6. Appending Logs, Filtering & Permissions

Simulating application logs, filtering specific error metrics, and securing the file.

touch app.log
echo "[INFO] server is running" > app.log
echo "[ERROR] Connection Timeout" >> app.log
cat app.log | grep -F "[ERROR]"
chmod 444 app.log

Phase 3: Archiving & Process Management

7. Archiving & Extraction

Compressing the project directory into a GZIP tarball for backup simulation.

mkdir backup_dir
tar -czf Project_backup.tar.gz my_project
mv Project_backup.tar.gz backup_dir/
cd backup_dir
tar -xf Project_backup.tar.gz

8. Process Management (The "Kill" Drill)

Running dummy processes in the background, isolating their PIDs, and terminating them.

sleep 6000 &
ps | grep sleep
kill <PID>

Phase 4: System & Network Audit

9. System & Network Monitoring

Extracting real-time statistics regarding Memory (RAM), Disk Utilization, and Network Interfaces.

free -h
du -sh /var/log
ifconfig

10. System Discovery & Audit

Gathering kernel information, verifying the OS distribution, checking server uptime, and exporting the session history for documentation.

uname -a
cat /etc/os-release
uptime
history >> session_history.txt
tail -n 5 session_history.txt

About

This phase focuses on Linux system backups and background task management. It covers compressing and extracting directories using GZIP tarballs (tar) for storage. It also demonstrates how to launch background processes (&), locate their Process IDs (PIDs) using ps and grep, and safely terminate them using the kill command.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors