Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
0abf409
Create linux-troubleshooting-runbook.md
singhkeshav294294 Jan 28, 2026
bc8ce19
Update linux-troubleshooting-runbook.md
singhkeshav294294 Jan 28, 2026
e750004
Create learning plan for DevOps career transition
singhkeshav294294 Jan 30, 2026
640e2ed
Create learning-arc
singhkeshav294294 Jan 30, 2026
de81f0f
Rename learning-arc to linux-architecture-notes.md
singhkeshav294294 Jan 30, 2026
1265b00
Create linux-commands-cheatsheet.md
singhkeshav294294 Jan 30, 2026
1f3bb52
Merge branch 'TrainWithShubham:master' into master
singhkeshav294294 Feb 2, 2026
5d25c53
Create file-io-practice.md
singhkeshav294294 Feb 3, 2026
ffe8774
Merge branch 'TrainWithShubham:master' into master
singhkeshav294294 Feb 3, 2026
b330540
Create day-07-linux-fs-and-scenarios.md
singhkeshav294294 Feb 3, 2026
cf75ce3
Update day-07-linux-fs-and-scenarios.md
singhkeshav294294 Feb 3, 2026
281fa81
Create day-08-cloud-deployment.md
singhkeshav294294 Feb 3, 2026
4a48d4c
Update day-08-cloud-deployment.md
singhkeshav294294 Feb 3, 2026
8c2a996
Merge branch 'TrainWithShubham:master' into master
singhkeshav294294 Feb 6, 2026
e9f73e5
Create day-13-lvm.md
singhkeshav294294 Feb 6, 2026
db0f709
Create day-11-file-ownership.md
singhkeshav294294 Feb 6, 2026
466c315
Merge branch 'TrainWithShubham:master' into master
singhkeshav294294 Feb 9, 2026
59519a2
Merge branch 'TrainWithShubham:master' into master
singhkeshav294294 Feb 10, 2026
0e3f773
Update learning-plan.md
singhkeshav294294 Feb 10, 2026
89c95b2
Update learning-plan.md
singhkeshav294294 Feb 10, 2026
a69c887
Revise Linux architecture notes with process states
singhkeshav294294 Feb 10, 2026
f510429
Revise Linux commands cheatsheet for accuracy and format
singhkeshav294294 Feb 10, 2026
01393da
Create linux-practice.md
singhkeshav294294 Feb 10, 2026
b26a44a
Update file-io-practice.md
singhkeshav294294 Feb 10, 2026
ba0e900
Create day-12-revision.md
singhkeshav294294 Feb 11, 2026
c352895
Create day-09-user-management.md
singhkeshav294294 Feb 11, 2026
53e9ee1
Create day-10-file-permissions.md
singhkeshav294294 Feb 11, 2026
5cf584e
Delete 2026/day-12/2026/day-12 directory
singhkeshav294294 Feb 11, 2026
56ba146
Create day-12.md
singhkeshav294294 Feb 11, 2026
feb3b40
Merge branch 'TrainWithShubham:master' into branch-keshav
singhkeshav294294 Feb 15, 2026
742e412
Create git-commands.md with Git usage tasks
singhkeshav294294 Feb 15, 2026
271ff94
Create day-22-notes.md
singhkeshav294294 Feb 15, 2026
a5e348d
Create day-23-notes.md:
singhkeshav294294 Feb 15, 2026
231e0ac
Enhance Git commands documentation for workflow tasks
singhkeshav294294 Feb 15, 2026
67f89aa
Create day-14-networking.md
singhkeshav294294 Feb 16, 2026
fd3d63c
Format and enhance networking documentation
singhkeshav294294 Feb 17, 2026
21a3aa3
Create day-15-networking-concepts.md
singhkeshav294294 Feb 17, 2026
6d5c1d1
Update day-15-networking-concepts.md
singhkeshav294294 Feb 17, 2026
d2efc48
Create day-16-shell-scripting.md
singhkeshav294294 Feb 17, 2026
b36b1d8
Merge branch 'TrainWithShubham:master' into branch-keshav
singhkeshav294294 Feb 17, 2026
5e9e207
Merge branch 'TrainWithShubham:master' into branch-keshav
singhkeshav294294 Feb 20, 2026
ee685f1
Merge branch 'TrainWithShubham:master' into branch-keshav
singhkeshav294294 Feb 23, 2026
42097de
Create day-24-notes.md
singhkeshav294294 Feb 24, 2026
be79205
Update notes on merge conflicts and Git rebase
singhkeshav294294 Feb 24, 2026
60e0ddb
Update day-24-notes.md
singhkeshav294294 Feb 24, 2026
b0fc963
Update day-24-notes.md
singhkeshav294294 Feb 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions 2026/day-01/learning-plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
HI Bhaiya/Team,

- Working professional with ~5 years experience in middleware administration
- Career objective: transition into a DevOps-focused role
- Primary skill focus areas:
- docker
- Kubernetes (K8s)
- CI/CD pipelines
- Shell scripting
- Available study time:
- Weekdays: ~1.5 hours/day
- Weekends: ~3 hours/day (excluding live class sessions)
22 changes: 22 additions & 0 deletions 2026/day-02/linux-architecture-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
**Process States in Linux**

Running (R)
The process is currently executing on the CPU or is ready to run and waiting for CPU time.

Sleeping (S / D)
The process is waiting for an event or resource, such as disk I/O, network I/O, or the completion of another process via wait().

Zombie (Z)
The process has completed execution, but its parent process has not yet collected its exit status. The process entry remains in the process table until it is reaped by the parent.

**Commonly Used Linux Commands**

ls -ltr – List files in long format, sorted by modification time

ps -ef – Display all running processes with full details

top – Monitor real-time CPU and memory usage

grep -i – Search text patterns case-insensitively

cd / mkdir / mv – Basic directory navigation and file management commands
50 changes: 50 additions & 0 deletions 2026/day-03/linux-commands-cheatsheet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
**File System Commands**
------------------------

ls – List files and directories in the current path

mkdir – Create a new directory

cd – Change the current directory

cd - – Switch back to the previous directory

cp – Copy files or directories within the system

mv – Move or rename files and directories

touch – Create an empty file

vi – Edit files using the vi editor

less – View file contents in a readable, paginated format

** Process & System Monitoring**
-------------------------------

top – Display real-time CPU and memory usage

htop – Enhanced, interactive process viewer (graphical)

hostname – Display the system hostname

** Networking & Connectivity**
------------------------------
ping – Check network reachability of a host

netstat – Display network connections, routing tables, and ports

ifconfig – Show network interface and IP address details

nslookup – Perform DNS resolution to find IP addresses

curl – Send HTTP requests and inspect server responses

telnet – Test connectivity to a specific host and port

**Remote Access & File Transfer**
-------------------------------

ssh – Connect securely to a remote server

scp – Copy files securely between servers
20 changes: 20 additions & 0 deletions 2026/day-04/linux-practice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
**Check running processes**
--------'----------------

ps -ef | head

<img width="777" height="197" alt="Screenshot 2026-02-10 at 6 30 15 PM" src="https://github.com/user-attachments/assets/da3251fa-67a9-4c15-bfe5-035677df2764" />


systemctl status ssh
<img width="1660" height="502" alt="Screenshot 2026-02-10 at 6 32 01 PM" src="https://github.com/user-attachments/assets/8d9b8bcb-f257-4bce-8541-d92f51b7180e" />

**Log Checks**
--------------
journalctl -u ssh --no-pager | tail -n 10

tail -n 20 /var/log/syslog

<img width="1411" height="398" alt="Screenshot 2026-02-10 at 6 34 20 PM" src="https://github.com/user-attachments/assets/3b724069-3854-450d-9029-d2c22c3d6737" />


38 changes: 38 additions & 0 deletions 2026/day-05/linux-troubleshooting-runbook.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
As per the task :

basic command:
**command : uname -a**
output : Darwin keshavs-MacBook-Air.local 25.2.0 Darwin Kernel Version 25.2.0: Tue Nov 18 21:08:48 PST 2025; root:xnu-12377.61.12~1/RELEASE_ARM64_T8132 arm64

**command : lsb_release -a**
output: command not found ( as i'm using terminal mac os )

so instead i used

**command : sw_vers**
output : ProductName: macOS
ProductVersion: 26.2
BuildVersion: 25C56

cpu/Memory :

**command : top**
output : Processes: 885 total, 2 running, 883 sleeping, 4168 threads 18:33:04
Load Avg: 1.59, 1.60, 1.77 CPU usage: 4.36% user, 2.54% sys, 93.8% idle
SharedLibs: 594M resident, 119M data, 86M linkedit.
MemRegions: 0 total, 0B resident, 335M private, 1524M shared.
PhysMem: 15G used (2538M wired, 3789M compressor), 361M unused.
VM: 393T vsize, 5268M framework vsize, 0(0) swapins, 0(0) swapouts.
Networks: packets: 17128676/16G in, 8939745/3521M out.
Disks: 26763847/487G read, 16055854/200G written.

PID COMMAND %CPU TIME #TH #WQ #PORT MEM PURG CMPRS PGRP
89247 Google Chrom 10.2 03:11:58 21 1 280 116M 0B 38M 95446
419 WindowServer 9.7 10:44:46 24 6 4286 731M- 80M+ 196M 419

**command :ps -0 89247**
output : PID TTY TIME CMD
89247 ?? 192:10.34 /Applications/Google Chrome.app/Contents/Frameworks/Go



65 changes: 65 additions & 0 deletions 2026/day-06/file-io-practice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
**File I/O Practice – Day 06**
File Creation
touch notes.txt

keshavsingh@dhcp-10-48-12-102 ~ % touch notes.txt

Writing to a File (Overwrite)
echo "hello" > notes.txt
keshavsingh@dhcp-10-48-12-102 ~ % echo "hello" > notes.txt

**Appending to a File**
echo "hello2" >> notes.txt
keshavsingh@dhcp-10-48-12-102 ~ % echo "hello2" >> notes.txt

Reading the File
cat notes.txt

keshavsingh@dhcp-10-48-12-102 ~ % cat notes.txt
hello3
hello2
hello3
hello5
hello6

** Overwriting File Content Again**
--------------------

echo "hello3" > notes.txt

keshavsingh@dhcp-10-48-12-102 ~ % echo "hello2" >> notes.txt
keshavsingh@dhcp-10-48-12-102 ~ % echo "hello3" >> notes.txt
keshavsingh@dhcp-10-48-12-102 ~ % echo "hello5" >> notes.txt
keshavsingh@dhcp-10-48-12-102 ~ % echo "hello6" >> notes.txt

**Appending Multiple Lines**
echo "hello2" >> notes.txt
echo "hello3" >> notes.txt
echo "hello5" >> notes.txt
echo "hello6" >> notes.txt
keshavsingh@dhcp-10-48-12-102 ~ % echo "hello2" >> notes.txt
keshavsingh@dhcp-10-48-12-102 ~ % echo "hello3" >> notes.txt
keshavsingh@dhcp-10-48-12-102 ~ % echo "hello5" >> notes.txt
keshavsingh@dhcp-10-48-12-102 ~ % echo "hello6" >> notes.txt

**Reading Partial File Content**
head -n 2 notes.txt

keshavsingh@dhcp-10-48-12-102 ~ % head -n 2 notes.txt
hello3
hello2

** Writing and Displaying Output Using tee**
-----------------------------
echo "hello" | tee notes.txt
keshavsingh@dhcp-10-48-12-102 ~ % echo "hello" | tee notes.txt
hello

keshavsingh@dhcp-10-48-12-102 ~ % cat << heloo bsc | tee -a notes.txt
hello bsc
keshavsingh@dhcp-10-48-12-102 ~ % cat notes.txt
hello bsc
keshavsingh@dhcp-10-48-12-102 ~ %



50 changes: 50 additions & 0 deletions 2026/day-07/day-07-linux-fs-and-scenarios.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/ (root) - The starting point of everything
/home - User home directories
/root - Root user's home directory
/etc - Configuration files
/var/log - Log files (very important for DevOps!)
/tmp - Temporary files
Additional Directories (Good to Know):

/bin - Essential command binaries
/usr/bin - User command binaries
/opt - Optional/third-party applications


-----------------
ubuntu@ip-172-31-46-16:~/practive-day07$ systemctl is-enabled nginx
enabled
ubuntu@ip-172-31-46-16:~/practive-day07$ journalctl -u nginx
Jan 31 04:53:06 ip-172-31-46-16 systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server...
Jan 31 04:53:06 ip-172-31-46-16 systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server.
Jan 31 06:12:19 ip-172-31-46-16 systemd[1]: Stopping nginx.service - A high performance web server and a reverse proxy server...
Jan 31 06:36:06 ip-172-31-46-16 systemd[1]: Stopping nginx.service - A high performance web server and a reverse proxy server...
Jan 31 06:36:06 ip-172-31-46-16 systemd[1]: nginx.service: Deactivated successfully.
Jan 31 06:36:06 ip-172-31-46-16 systemd[1]: Stopped nginx.service - A high performance web server and a reverse proxy server.
-- Boot cf21a7b824094ab89b67f0c197f9f202 --
Feb 03 12:17:53 ip-172-31-46-16 systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server...
Feb 03 12:17:53 ip-172-31-46-16 systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server.
Feb 03 12:20:39 ip-172-31-46-16 systemd[1]: Stopping nginx.service - A high performance web server and a reverse proxy server...
Feb 03 12:20:40 ip-172-31-46-16 systemd[1]: nginx.service: Deactivated successfully.
Feb 03 12:20:40 ip-172-31-46-16 systemd[1]: Stopped nginx.service - A high performance web server and a reverse proxy server.
-- Boot 48e6240148074712bfe205b9953afc68 --
Feb 03 12:21:50 ip-172-31-46-16 systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server...
Feb 03 12:21:50 ip-172-31-46-16 systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server.
Feb 03 12:38:06 ip-172-31-46-16 systemd[1]: Stopping nginx.service - A high performance web server and a reverse proxy server...
Feb 03 12:38:06 ip-172-31-46-16 systemd[1]: nginx.service: Deactivated successfully.
Feb 03 12:38:06 ip-172-31-46-16 systemd[1]: Stopped nginx.service - A high performance web server and a reverse proxy server.
ubuntu@ip-172-31-46-16:~/practive-day07$ sudo systemctl status nginx
○ nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: inactive (dead) since Tue 2026-02-03 12:38:06 UTC; 1min 19s ago
Duration: 16min 16.219s
Docs: man:nginx(8)
Process: 1832 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 557 (code=exited, status=0/SUCCESS)
CPU: 31ms

Feb 03 12:21:50 ip-172-31-46-16 systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server...
Feb 03 12:21:50 ip-172-31-46-16 systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server.
Feb 03 12:38:06 ip-172-31-46-16 systemd[1]: Stopping nginx.service - A high performance web server and a reverse proxy server...
Feb 03 12:38:06 ip-172-31-46-16 systemd[1]: nginx.service: Deactivated successfully.
Feb 03 12:38:06 ip-172-31-46-16 systemd[1]: Stopped nginx.service - A high performance web server and a reverse proxy server.
4 changes: 4 additions & 0 deletions 2026/day-08/day-08-cloud-deployment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<img width="908" height="426" alt="Screenshot 2026-02-03 at 6 12 59 PM" src="https://github.com/user-attachments/assets/f7ac1bee-9b88-4c58-bb20-1a8f977f34ca" />


<img width="1374" height="419" alt="Screenshot 2026-02-03 at 6 23 57 PM" src="https://github.com/user-attachments/assets/60181010-5324-401a-b305-3de60562b01a" />
22 changes: 22 additions & 0 deletions 2026/day-09/day-09-user-management.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
sudo useradd -m tokyo
sudo passwd tokyo

sudo useradd -m berlin
sudo passwd berlin

sudo useradd -m professor
sudo passwd professor
<img width="722" height="375" alt="Screenshot 2026-02-11 at 6 08 03 PM" src="https://github.com/user-attachments/assets/84edfb9f-18ae-4219-b064-97d3d3d08124" />
<img width="792" height="346" alt="Screenshot 2026-02-11 at 6 08 50 PM" src="https://github.com/user-attachments/assets/d518434f-1bda-4615-9426-34b01a21671b" />


sudo groupadd developers
sudo groupadd admins

<img width="731" height="131" alt="Screenshot 2026-02-11 at 6 09 49 PM" src="https://github.com/user-attachments/assets/9b5ae488-013d-427c-853f-7274797e9cf3" />

groups tokyo
groups berlin


<img width="658" height="197" alt="Screenshot 2026-02-11 at 6 11 14 PM" src="https://github.com/user-attachments/assets/503090cd-7467-47ac-bb05-2d6cac698f3f" />
33 changes: 33 additions & 0 deletions 2026/day-10/day-10-file-permissions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
ubuntu@ip-172-31-46-16:~/day-10-permission$ touch devops.txt
ubuntu@ip-172-31-46-16:~/day-10-permission$ echo "These are my DevOps notes." > notes.txt
ubuntu@ip-172-31-46-16:~/day-10-permission$ vim script.sh
ubuntu@ip-172-31-46-16:~/day-10-permission$ ls -l
total 8
-rw-rw-r-- 1 ubuntu ubuntu 0 Feb 11 12:44 devops.txt
-rw-rw-r-- 1 ubuntu ubuntu 27 Feb 11 12:44 notes.txt
-rw-rw-r-- 1 ubuntu ubuntu 21 Feb 11 12:44 script.sh

============================
<img width="844" height="168" alt="Screenshot 2026-02-11 at 6 15 46 PM" src="https://github.com/user-attachments/assets/2514ad0d-d5f3-4967-8004-bc2035a96f4c" />
=============================

ubuntu@ip-172-31-46-16:~/day-10-permission$ cat notes.txt
These are my DevOps notes.
ubuntu@ip-172-31-46-16:~/day-10-permission$ vim -R script.sh
ubuntu@ip-172-31-46-16:~/day-10-permission$ head -n 5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
ubuntu@ip-172-31-46-16:~/day-10-permission$ tail -n 5 /etc/passwd

<img width="879" height="354" alt="Screenshot 2026-02-11 at 6 16 37 PM" src="https://github.com/user-attachments/assets/b12e3702-48b6-4ab6-8fa3-79dad4ca4e8f" />
===============================

ubuntu@ip-172-31-46-16:~/day-10-permission$ chmod +x script.sh
ubuntu@ip-172-31-46-16:~/day-10-permission$ ls -l script.sh
-rwxrwxr-x 1 ubuntu ubuntu 21 Feb 11 12:44 script.sh
ubuntu@ip-172-31-46-16:~/day-10-permission$ ./script.sh
Hello DevOps
<img width="1253" height="229" alt="Screenshot 2026-02-11 at 6 17 52 PM" src="https://github.com/user-attachments/assets/eaac1d6a-a25b-4c46-acd0-87955b356f21" />
7 changes: 7 additions & 0 deletions 2026/day-11/day-11-file-ownership.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
keshavsingh@keshavs-MacBook-Air ~ % ls -l
total 250008
drwx------@ 5 keshavsingh staff 160 15 Sep 10:12 Applications
drwx------+ 22 keshavsingh staff 704 6 Feb 12:16 Desktop
drwx------+ 15 keshavsingh staff 480 11 Dec 08:05 Documents


1 change: 1 addition & 0 deletions 2026/day-12/day-12.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
memory usage df -h → check disk space free -m → check RAM usage systemctl status <service> → check service health journalctl -xe → check detailed errors These give quick system overview during production issue. ================= 1️⃣ Which 3 commands save you most time right now? systemctl status → Instant service visibility df -h → Quick disk troubleshooting ls -l → Understand permissions immediately
32 changes: 32 additions & 0 deletions 2026/day-13/day-13-lvm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
Assign a storage/volume to a server
attach that storage to your server then it will be visible

now you can step ahead to mount it

firstly create a physical volume using below command

lsblk - to list the bulk devices
then use

pvcreate /dev/<nameof-thestorage-from-lsblk>

now that pv is created now you to create a logical group.

vgcreate <nameforyou-VG> /dev/<nameof-thestorage-from-lsblk>

once it is created , you need to creat a LVM(logicam volume) using the VG

lvcreate -n <LVM-NAME> -L 5G <nameforyou-VG> - this command created a LVM and assign a disk to it

once it is created you see it using lvm/lsblk/lvdisplay

now that its done, extract the LVM

Mkfs.ext4 /dev/<nameforyou-VG>/<LVM-NAME>

now you can mount to a directory whichever you want using mount command

mount /dev/<nameforyou-VG>/<LVM-NAME> </directory>

and boom done.
<img width="697" height="674" alt="Screenshot 2026-02-06 at 4 18 07 PM" src="https://github.com/user-attachments/assets/f79fcee9-2b19-4a95-9e1a-64b51eca10d7" />
Loading