From e4be413116fdfe3b94b81e0ecbb0d2855c8e732c Mon Sep 17 00:00:00 2001 From: Yogesh Agrawal Date: Mon, 18 May 2026 20:26:24 +0530 Subject: [PATCH 01/12] Day1 --- 2026/day-01/learning-plan.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 2026/day-01/learning-plan.md diff --git a/2026/day-01/learning-plan.md b/2026/day-01/learning-plan.md new file mode 100644 index 0000000000..082503e631 --- /dev/null +++ b/2026/day-01/learning-plan.md @@ -0,0 +1,20 @@ +Current level: working professional with 10 years of exp +3 clear goals for the next 90 days: learn, code and deploy +3 core DevOps skills you want to build: Linux troubleshooting, CI/CD pipelines, Kubernetes debugging, Terraform implementation +Allocate a weekly time budget: 3 hours per day on weekdays, almost 6 hours weekends + +What is your understanding of DevOps and Cloud Engineering? +Ans: Devops is not tools it is a culture, which follow collaboration, automation and continuous processes. +This culture defines continuous Integration, continuous delivery and continuous deployment. +It means Code-->Build-->Test-->Release-->Deploy. +And, in todays world every second company is following this culture. +While, Cloud Engineering involves in designing, deploying and managing app on the cloud platform. + +Why you are starting learning DevOps & Cloud? +Ans: To upskill and upgrade with the latest features which are getting adapted in the market. + +Where do you want to reach? +Ans: I want to reach a stable position with good skills in DevOps and Cloud, along with financial stability and a responsible role. + +How you will stay consistent every single day? +Ans:I will stay consistent by following a daily routine with adding devops, setting small goals, and staying disciplined every day. From b2f89c2a796d5b666ed7abdbe1550a7f30f08353 Mon Sep 17 00:00:00 2001 From: Yogesh Agrawal Date: Mon, 18 May 2026 20:26:58 +0530 Subject: [PATCH 02/12] Day2 --- 2026/day-02/linux-architecture-notes.md | 75 +++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 2026/day-02/linux-architecture-notes.md diff --git a/2026/day-02/linux-architecture-notes.md b/2026/day-02/linux-architecture-notes.md new file mode 100644 index 0000000000..2af5edaa8a --- /dev/null +++ b/2026/day-02/linux-architecture-notes.md @@ -0,0 +1,75 @@ +The core components of Linux (kernel, user space, init/systemd) + Ans: Kernel: It is the heart of the linux OS which is used to interact with hardware(CPU, Memory, devices). + user space: The space where user application and program works or run. + systemd: It is the very 1st process which starts once the linux boots, PID-1 or init process. It means system is the process which is running in the background which is known as d + +How processes are created and managed? + Ans: + +What systemd does and why it matters? + Ans: It is the first process started by the kernel (PID 1). + Responsibilities: + 1. Bootstraps the system (starts services during boot) + 2. Manages background services (daemons) + 3. Handles logging, networking, and device management + Replaces older init systems like SysVinit. + Uses unit files to define and control services. + +useful folders +/ - top most directory, base of the entire file system, every thing starts here +/home - Contains user directories, Each user has their own folder - user +/bin - Contains essential user commands (binaries) - basic commands +/sbin - Contains system/admin commands - system commands +/etc - Contains configuration files - configs +/mnt - Used to temporarily mount filesystems +/tmp - Used for temporary files - temporary +/usr - Contains user programs and utilities - applications +/var - Variable data (changes frequently) - logs data +/root - Home directory of root user +/dev - Contains device files +/proc - Shows process and system info (virtual filesystem) +/boot - Contains bootloader & kernel files +/lib - System libraries required by /bin and /sbin + +Various commands: +1.echo - to print the output +2.pwd - to check the current directory path +3.cd - to get into the folder or directory +4.cat - to check the content of the file +5.ls - to list all the files and folder available(if used with -lrth for long list with reverse with sort and in human readable) +6.df -h - to check for the disk space usage in human readable form for entire filesystem +7.du -sh - to check the disk space usage for particular folder or directory +8.mkdir - to create the new folder or directory(if used with -p then it will check for the folder present and if not present then it will create the folder) +9.free -m - to check the memory utilization and free space +10.vi/vim/nano - to write in to the file, it is an editor(i - to insret, :wq - to quit) +11.grep - to search for the pattern or text inside the file +12.top/htop - to monitor system process and resouce usage in realtime +13.ps -ef - to display info about the current running process(e- show all processes on the system, f- detailed form) +14.rm -rf - delete the file or folder in particular directory(r - recersively, f- forcefully, note donot use rm -rf / or rm -rf *) +15.touch - to create an empty file +16.head - to display from the start of the file for first 10 line(-n 2 to view the first 2 row) +17.tail - to display from the end of the file for last 10 lines(-n 2 to view the last 2 rows) +18.clear - to clear the terminal screen +19.apt-get install - Install new package +20.apt-get update - Update existing packages (safe) +21.apt-get upgrade - Update + remove/replace obsolete packages +22.ip -a - to check and manage n/w config(-a - show all n/w interface) +23.telnet - to connect to a remote system or port +24.ping - to check network connection b/w 2 system( -t - how many hops a packet can travel) +25.dig - to Advanced details for DNS queries +26.netstat -tunlp - Shows network connections and listening ports(-t → TCP, -u → UDP, -n → Numeric (no DNS lookup), -l → Listening ports, -p → Process ID/program name) +27.ss -tunlp - ss is preferred in newer systems, Shows network connections and listening ports(-t → TCP, -u → UDP, -n → Numeric (no DNS lookup), -l → Listening ports, -p → Process ID/program name) +28.nslookup - to Queries DNS to find IP address from domain +29.curl - to transfer data / test web endpoints +30.wget - to download files from internet +31.hostname - to show or set system name +32.uname -r - to check the kernel version +33.kill - to kill the process(-9 - forcefully) +34.nohup - to run the script in background +35.wc -l - to have no. of lines in the file as count +36.& - to run command in background +37.| - to combine multiple commands +38.&& - it is in operator + +Task: + create folder - mkdir -p yogesh; goto the folder - cd yogesh; create the file - touch yogesh.txt; write into the file - echo "hello dosto!" > yogesh.txt; view the content in the file - cat yogesh.txt; edit the file - vim yogesh.txt; show again content of yogesh.txt - cat yogesh.txt; to check first 10 rows then - head yogesh.txt; to check last 10 rows then - tail yogesh.txt From c1a9feb56ef614847c104114b8bbfb6ac8f475c6 Mon Sep 17 00:00:00 2001 From: Yogesh Agrawal Date: Mon, 18 May 2026 20:45:33 +0530 Subject: [PATCH 03/12] Create 20_commands 20 commands --- 2026/day-03/20_commands | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 2026/day-03/20_commands diff --git a/2026/day-03/20_commands b/2026/day-03/20_commands new file mode 100644 index 0000000000..71afaaac55 --- /dev/null +++ b/2026/day-03/20_commands @@ -0,0 +1,45 @@ +File system: + +ls - to list all the files and folder available(if used with -lrth for long list with reverse with sort and in human readable) +df -h - to check for the disk space usage in human readable form for entire filesystem +du -sh - to check the disk space usage for particular folder or directory +mkdir - to create the new folder or directory(if used with -p then it will check for the folder present and if not present then it will create the folder) +free -m - to check the memory utilization and free space +ps -ef --sort=%mem% +pwd - to check the path of current directory you are in +cd - to change the directory +touch - to create empty file +cp - to copy from one folder to another folder +mv - to move from one folder to another folder +rm - to remove the file and directory +cat - to view the file content +less - to view the content via scrollable view +tail - to view last 10 lines of the file +head - to view 1st 10 lines of the file +tar - to zip the file or directory +ln - for hardlink, ln -s - for softlink + +Process management: +top/htop - to monitor system process and resouce usage in realtime +ps -ef - to display info about the current running process(e- show all processes on the system, f- detailed form) +vmstat +iostat +bg %1 - send to background +fg %1 - bring job to foreground +pgrep - to search process by name +nice -n - to start the process with priority +renice -n - to change priority of running process + +Networking troubleshooting +ip -a - to check and manage n/w config(-a - show all n/w interface) +telnet - to connect to a remote system or port +ping - to check network connection b/w 2 system( -t - how many hops a packet can travel) +dig - to Advanced details for DNS queries +netstat -tunlp - Shows network connections and listening ports(-t → TCP, -u → UDP, -n → Numeric (no DNS lookup), -l → Listening ports, -p → Process ID/program name) +ss -tunlp - ss is preferred in newer systems, Shows network connections and listening ports(-t → TCP, -u → UDP, -n → Numeric (no DNS lookup), -l → Listening ports, -p → Process ID/program name) +nslookup - to Queries DNS to find IP address from domain +curl - to transfer data / test web endpoints +wget - to download files from internet +hostname - to show or set system name +32.uname -r - to check the kernel version +33.kill - to kill the process(-9 - forcefully) From aa3eb4132f85b12f28df4b5bdc84b23238e59f0c Mon Sep 17 00:00:00 2001 From: Yogesh Agrawal Date: Mon, 18 May 2026 20:47:59 +0530 Subject: [PATCH 04/12] Add favorite Linux commands and expand sections Added a list of favorite Linux commands and expanded sections on file system, process management, and networking troubleshooting. --- 2026/day-03/{20_commands => Linux Commands} | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) rename 2026/day-03/{20_commands => Linux Commands} (96%) diff --git a/2026/day-03/20_commands b/2026/day-03/Linux Commands similarity index 96% rename from 2026/day-03/20_commands rename to 2026/day-03/Linux Commands index 71afaaac55..429fe99bf6 100644 --- a/2026/day-03/20_commands +++ b/2026/day-03/Linux Commands @@ -1,3 +1,5 @@ +Fav command: history, top, df -h, free -m, telnet, ps -auf + File system: ls - to list all the files and folder available(if used with -lrth for long list with reverse with sort and in human readable) @@ -20,6 +22,7 @@ tar - to zip the file or directory ln - for hardlink, ln -s - for softlink Process management: + top/htop - to monitor system process and resouce usage in realtime ps -ef - to display info about the current running process(e- show all processes on the system, f- detailed form) vmstat @@ -30,7 +33,8 @@ pgrep - to search process by name nice -n - to start the process with priority renice -n - to change priority of running process -Networking troubleshooting +Networking troubleshooting: + ip -a - to check and manage n/w config(-a - show all n/w interface) telnet - to connect to a remote system or port ping - to check network connection b/w 2 system( -t - how many hops a packet can travel) From 8a297b65d5e92d4e0742285d2f46f187587d0679 Mon Sep 17 00:00:00 2001 From: Yogesh Agrawal Date: Mon, 18 May 2026 20:49:49 +0530 Subject: [PATCH 05/12] Add systemctl commands for process management Added systemctl commands for managing processes. --- 2026/day-03/Linux Commands | 1 + 1 file changed, 1 insertion(+) diff --git a/2026/day-03/Linux Commands b/2026/day-03/Linux Commands index 429fe99bf6..6ffeedac1c 100644 --- a/2026/day-03/Linux Commands +++ b/2026/day-03/Linux Commands @@ -32,6 +32,7 @@ fg %1 - bring job to foreground pgrep - to search process by name nice -n - to start the process with priority renice -n - to change priority of running process +systemctl restart/stop/start/status - to check statu/stop/start/restart the process Networking troubleshooting: From ac5866f6a1e55f8bbd344c2c3462898c21b76ff7 Mon Sep 17 00:00:00 2001 From: Yogesh Agrawal Date: Mon, 18 May 2026 20:51:42 +0530 Subject: [PATCH 06/12] Rename Linux Commands to linux-commands-cheatsheet --- 2026/day-03/{Linux Commands => linux-commands-cheatsheet} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename 2026/day-03/{Linux Commands => linux-commands-cheatsheet} (100%) diff --git a/2026/day-03/Linux Commands b/2026/day-03/linux-commands-cheatsheet similarity index 100% rename from 2026/day-03/Linux Commands rename to 2026/day-03/linux-commands-cheatsheet From 41f9205cb1d850a09827b9005617f102dfdb4cd3 Mon Sep 17 00:00:00 2001 From: Yogesh Agrawal Date: Mon, 18 May 2026 20:52:47 +0530 Subject: [PATCH 07/12] Create linux-practice --- 2026/day-04/linux-practice | 1 + 1 file changed, 1 insertion(+) create mode 100644 2026/day-04/linux-practice diff --git a/2026/day-04/linux-practice b/2026/day-04/linux-practice new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/2026/day-04/linux-practice @@ -0,0 +1 @@ + From 99970699198798e7c5d7424b169414620a8e1854 Mon Sep 17 00:00:00 2001 From: Yogesh Agrawal Date: Mon, 18 May 2026 20:53:06 +0530 Subject: [PATCH 08/12] Update linux-practice --- 2026/day-04/linux-practice | 3 +++ 1 file changed, 3 insertions(+) diff --git a/2026/day-04/linux-practice b/2026/day-04/linux-practice index 8b13789179..6b936ac5aa 100644 --- a/2026/day-04/linux-practice +++ b/2026/day-04/linux-practice @@ -1 +1,4 @@ +Check running processes +Inspect one systemd service +Capture a small troubleshooting flow From c60cca0eee81a6c354cb09461cb8d2501d132635 Mon Sep 17 00:00:00 2001 From: Yogesh Agrawal Date: Mon, 18 May 2026 20:53:28 +0530 Subject: [PATCH 09/12] Expand linux-practice with command execution guidelines Added instructions for running and recording output of commands related to processes, services, and logs. --- 2026/day-04/linux-practice | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/2026/day-04/linux-practice b/2026/day-04/linux-practice index 6b936ac5aa..d922aedc29 100644 --- a/2026/day-04/linux-practice +++ b/2026/day-04/linux-practice @@ -2,3 +2,10 @@ Check running processes Inspect one systemd service Capture a small troubleshooting flow + + +Run and record output for at least 6 commands +Include 2 process commands (ps, top, pgrep, etc.) +Include 2 service commands (systemctl status, systemctl list-units, etc.) +Include 2 log commands (journalctl -u , tail -n 50, etc.) +Pick one service on your system (example: ssh, cron, docker) and inspect it From 5334f3ffe9a3fce044d1afaffddc04b0aab35d43 Mon Sep 17 00:00:00 2001 From: Yogesh Agrawal Date: Mon, 18 May 2026 20:54:47 +0530 Subject: [PATCH 10/12] Create linux-troubleshooting-runbook --- 2026/day-05/linux-troubleshooting-runbook | 1 + 1 file changed, 1 insertion(+) create mode 100644 2026/day-05/linux-troubleshooting-runbook diff --git a/2026/day-05/linux-troubleshooting-runbook b/2026/day-05/linux-troubleshooting-runbook new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/2026/day-05/linux-troubleshooting-runbook @@ -0,0 +1 @@ + From c9ea9c3ea355acada930b4124438beb3b423e41e Mon Sep 17 00:00:00 2001 From: Yogesh Agrawal Date: Mon, 18 May 2026 20:55:50 +0530 Subject: [PATCH 11/12] Fix duplicate commands in linux-commands-cheatsheet Removed duplicate entry for 'uname -r' and 'kill' command. --- 2026/day-03/linux-commands-cheatsheet | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/2026/day-03/linux-commands-cheatsheet b/2026/day-03/linux-commands-cheatsheet index 6ffeedac1c..71f17f6acb 100644 --- a/2026/day-03/linux-commands-cheatsheet +++ b/2026/day-03/linux-commands-cheatsheet @@ -33,6 +33,7 @@ pgrep - to search process by name nice -n - to start the process with priority renice -n - to change priority of running process systemctl restart/stop/start/status - to check statu/stop/start/restart the process +uname -r - to check the kernel version Networking troubleshooting: @@ -46,5 +47,3 @@ nslookup - to Queries DNS to find IP address from domain curl - to transfer data / test web endpoints wget - to download files from internet hostname - to show or set system name -32.uname -r - to check the kernel version -33.kill - to kill the process(-9 - forcefully) From 0426514bfbad2f92947844a53770857e4b74dd6f Mon Sep 17 00:00:00 2001 From: Yogesh Agrawal Date: Thu, 21 May 2026 21:09:37 +0530 Subject: [PATCH 12/12] Enhance linux-practice with command outputs and flow Added output examples and troubleshooting steps for Linux commands. --- 2026/day-04/linux-practice | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/2026/day-04/linux-practice b/2026/day-04/linux-practice index d922aedc29..7bd04e036f 100644 --- a/2026/day-04/linux-practice +++ b/2026/day-04/linux-practice @@ -1,6 +1,14 @@ - Check running processes +Output: +sandbox@playground:~$ ps -aux +USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND +sandbox 1 0.1 0.0 4628 3708 pts/0 Ss+ 15:36 0:00 /bin/bash +sandbox 13 0.0 0.0 4628 3764 pts/1 Ss 15:36 0:00 /bin/bash +sandbox 25 0.0 0.0 7064 1564 pts/1 R+ 15:36 0:00 ps -aux +sandbox@playground:~$ + Inspect one systemd service + Capture a small troubleshooting flow