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. 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 diff --git a/2026/day-03/linux-commands-cheatsheet b/2026/day-03/linux-commands-cheatsheet new file mode 100644 index 0000000000..71f17f6acb --- /dev/null +++ b/2026/day-03/linux-commands-cheatsheet @@ -0,0 +1,49 @@ +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) +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 +systemctl restart/stop/start/status - to check statu/stop/start/restart the process +uname -r - to check the kernel version + +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 diff --git a/2026/day-04/linux-practice b/2026/day-04/linux-practice new file mode 100644 index 0000000000..7bd04e036f --- /dev/null +++ b/2026/day-04/linux-practice @@ -0,0 +1,19 @@ +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 + + +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 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 @@ +