Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
18 changes: 18 additions & 0 deletions 2026/day-01/learning-plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## 90 Days DevOps Blueprint

**Current Level**
- Working professional having 6 years of experience

**3 goals for next 90 days**
- Understand and work on Linux and shell scripting
- Do hands on of AWS and Kubernetes
- Build projects which includes what I have learnt

**3 core DevOps skills I want to build**
- Linux Troubleshooting
- Being proficient in cloud environment
- Learn about Kubernetes

**Weekly Time Budget**
- Weekdays : 2 hours
- Weekends : 6 hours
50 changes: 50 additions & 0 deletions 2026/day-02/linux-architecture-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Core components of Linux

**Kernel**
Kernel acts a bridge between software applications and hardware of the computer.

**User space**
It is a non-privileged memory area where application software, daemons and most system libraries execute. Commands run here, shell script gets executed, service are managed here.

**init/systemd**
It is the first user-space started by Linux after kernel boots. It has PID 1 and is responsible for starting and managing all other services.

# How a process is created?

A process is a running program. Steps involved in process creation:
- fork(): A process copies itself and creates child process where new pid is assigned
- exec(): Child replaces itself with new program
- exit(): Process finishes and exits

# How are processes managed?

Kernel manages process. Scheduling, memory allocation and states are decided by Kernel

# What is systemd and why does it matter?

systemd is a system and service manager for modern Linux operating systems. It helps in managing multiple services and logs as well.

# Process states

- Running: When a process is running
- Uninterruptible sleeping: When a process is waiting for a resource to be available so that it can be executed
- Interruptible sleeping: When a process waits for some response from something or an input from user
- Stopped: The process has been paused and can brought back to runnning state
- Zombie: The process has completed execution but its entry still exists in table

# 5 commands to use daily

**top**
To check CPU load and memory consumption

**ps**
List all running processes

**systemctl**
To start, stop and check status of a service

**man**
To check the manual for a command

**kill**
To kill a process id
114 changes: 114 additions & 0 deletions 2026/day-03/linux-commands-cheatsheet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# Linux command practice

**man**
Displays the manual of another command

**uname -a**
Displays system information with kernel version

## Process management

**ps aux**
Show all running, background processes by the current and other users in standard format

**top**
This command shows how much machine resources(CPU and memory) are in use by the current running processes

**htop**
Similar to top command however it displays much better and friendly output

**systemctl**
It is used to manage services and units of the machine

**kill**
This sends a signal to stop a running program
Example - kill 1234

**pkill**
This command will forcefully kill a process by its name
Example - pkill -9 httpd

**nice**
This command sets the priority level of a program you want to run by making it less or more important
Example - nice -n 10 monitor.sh

**renice**
This command changes the priority of a running program
Example - renice -n 5 1234

**free**
Displays the memory usage of the system

**df**
It displays the disk usage of the system

**du**
Displays the size of a folder and its content

## File system

**pwd**
Prints the present working directory

**ls**
Displays the list of files and directories in the current location

**cd**
It changes the current directory forward or backward

**mkdir**
Create a directory

**rmdir**
Remove a directory

**file**
Check a file type
Example - file hello.txt

**touch**
Create a file

**vi/vim**
Edit a file or insert new lines

**cp**
Copy file or directory

**mv**
Move or rename a file or directory

**cat**
Print content of a file

**head**
Print first few entries of a file

**tail**
Print last few entries of a file

**sort**
Rearrange file's content

**grep**
Print a specific line of a file

## Networking commands

**hostname**
Displays the name of the machine

**ping**
To check if a machine is active or not

**ip addr**
Lists all the ip address of the machine

**nslookup**
Check the DNS information

**dig**
Check information about a domain

**curl**
Transfer data to and from an URL
Binary file added 2026/day-04/image-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 2026/day-04/image-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 2026/day-04/image-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 2026/day-04/image-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 2026/day-04/image-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 2026/day-04/image-6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 2026/day-04/image-7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 2026/day-04/image-8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 2026/day-04/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 48 additions & 0 deletions 2026/day-04/linux-pratice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
## Process commands

- ps aux

![alt text](image.png)

- top

![alt text](image-1.png)

## Service commands

- systemctl list-units
Lists all services present in the machine

![alt text](image-2.png)

- systemctl status sshd

![alt text](image-3.png)

## Log commands

- journalctl -u podman

![alt text](image-4.png)

- journalctl -n 5 -u podman
Displays the latest 5 lines of logs of a service

![alt text](image-5.png)

## Inspect one service - Podman

- systemctl list-units --state=running | grep podman
To check if podman is running

![alt text](image-6.png)

- systemctl status podman
This commands tells the exact status of podman

![alt text](image-7.png)

- journalctl -u podman
Displays detailed log

![alt text](image-8.png)
24 changes: 24 additions & 0 deletions 2026/day-22/day-22-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
1. What is the difference between git add and git commit?

A. git add stages a modified file or folder where as git commit permanently creates a snapshot of the local repository

2. What does staging area do? Why doesn't git just commit directly?

A. Staging area helps in reverifying your changes if you want to finally commit to repository or unstage and do some more changes or do not commit at all.

3. What information does git log show you?

A. git log shows detailed information of what are the earlier commits done to repository. It contains information of author(username and user email), commit id, commit message, date and time of commit.

4. What is .git/ folder and what happens if you delete it?

A. .git/ contains all the metadata and object data used to maintain project's version history. If we delete the folder then the folder will not be considered as git repository.

5. What is the difference between a working directory, staging area and repository?

A. Working directory is where you keep doing your required changes. Staging area where you add your changes to finalize them to send to repository. Repository is where the files and folders stays with expected changes.


## git log --oneline

![alt text](image.png)
Binary file added 2026/day-22/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
38 changes: 38 additions & 0 deletions 2026/day-23/day-23-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
1. What is a branch in git?

A. Branch is where you can work on your changes in a file in isolation

2. Why do we use branches instead of committing everything to main?

- We can work in isolation if we use branches
- Best code stays in main branch hence we cannot push unfinalized changes
- It helps to maintain clean history
- Allows code reviews before we push it to main branch

3. What is HEAD in git?

A. It points to current position of branch which points to a commit

4. What happens to your file when you switch branches?

A. If the file is in working directory, it carries along and goes to the other branch. If the changes are commited then it won't take the changes to other branch, it will be clean.

5. What is the difference between origin and upstream ?

A. origin is used to add a reference name when you make a connection to remote repository whereas upstream is the remote repository where you want to finally see your changes.

6. What is the difference between git fetch and git pull?

A. When you do a git fetch we can see if there any changes done in the remote repo which are not present locally while git pull brings those changes to local repo.

7. What is the difference between clone and fork?

A. Clone is creating a local copy of a remote repo. Fork is a github utility where we can create a exact copy of someone else's repo in our github account.

8. When would you clone vs fork?

A. I would clone a repo when there is a need to push my changes to a remote repository while fork is something to create a personal copy of a repo and maintain it yourself.

9. After forking, how do you keep your fork in sync with the original repo?

A. We can use sync fork option in github to sync with original repo