Skip to content

Covers core Linux concepts from shell basics to package management, permissions, networking, and system operations — with practical commands, examples, and notes for developers and DevOps beginners.

Notifications You must be signed in to change notification settings

izhan77/Linux-dev-notes

Repository files navigation

🐧 Linux Journey 2025 — Hands-On Learning Repo

This repository documents my complete journey learning Linux and Unix system administration for my Spring 2025 semester.
Instead of just following theory, I’m focusing on understanding, breaking, fixing, and mastering each concept through the terminal (WSL + Ubuntu).


🎯 Goals

  • Build strong Linux fundamentals (not just memorize commands)
  • Get comfortable with Bash scripting & automation
  • Understand users, permissions, processes, and scheduling
  • Learn package management, system administration, and networking
  • Create a mini project to apply everything hands-on

🗓️ Weekly Plan

Week Focus Key Hands-on Tasks
1 Installation & Overview Install Ubuntu/WSL, explore file system (ls, pwd, cd), learn man pages
2 Basic Commands Practice file operations (cp, mv, rm, cat, touch, mkdir), use redirection and pipes
3 More Commands Learn grep, find, wc, sort, head, tail, and use pipelines efficiently
4 Users, Groups, Privileges Create users/groups, switch users, manage sudoers, experiment with chown, chmod
5 Intro to Bash & Scripting Write first scripts (#!/bin/bash), use variables, loops, conditions, arguments
6 Structures & Programs Automate file operations, create scripts using case, for, and while, and functions
7 Admin Tasks Learn system logs (journalctl, /var/log), scheduling with cron, monitoring with top, htop
8 Mid-term Exam Revise everything using practical command challenges
9 Permissions & Shared Dirs Deep dive umask, sticky bits, and collaborative directories
10 Processes & SJF Algorithm Simulate SJF in Bash, learn ps, kill, nice, and renice
11 FCFS Algorithm Implement FCFS scheduling in Bash or C, compare with SJF
12 Process Management & Scheduling Learn bg, fg, jobs, top, at, and scheduling strategies
13 Packages in UNIX / CentOS Master apt, yum, dnf, snap; install, remove, and update packages
14 Networking in CentOS Learn IP config (ip, ifconfig), ping, netstat, scp, and SSH setup
15 Project Task I Build a system script (like backup automation or user audit tool) using everything learned

🧠 Learning Philosophy

I don’t memorize commands — I break things until I understand them.
Every command in this repo has been executed, tested, and sometimes failed (on purpose).


🧰 Tools

  • WSL (Ubuntu 22.04)
  • Visual Studio Code
  • Git & GitHub for version control
  • Optional: VirtualBox + CentOS for system-level testing

📘 Resources


🧑‍💻 Author

Muhammad Izhan Waheed
GitHub

About

Covers core Linux concepts from shell basics to package management, permissions, networking, and system operations — with practical commands, examples, and notes for developers and DevOps beginners.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published