#Week 1 shorts of my DevOps learning

#Week 1 shorts of my DevOps learning

#Day1 DevOps essentials

1. DevOps Unveiled DevOps merges Development and Operations, uniting people and processes with open-source tools to create products.

2. The Power of Automation Automation minimizes human intervention in repetitive tasks, boosting speed and accuracy while reducing errors.

3. Mastering Scaling Scaling empowers applications to adjust performance and cost based on demand, ensuring optimal efficiency.

4. Navigating Infrastructure Traditional on-premises infrastructure involves hardware and software complexities. Cloud technologies like AWS, GCP, and Azure offer efficient, low-cost alternatives.

5. DevOps' Significance DevOps yields Continuous Deployment/Delivery, minimizing deployment failures, and enhancing efficiency, reliability, and scalability. It slashes manual effort, downtime, and costs.

#Day2 Explore Linux Essentials in a nutshell:

1. Introducing Linux Linux, an open-source OS, is a community of Unix-like systems built on the Linux kernel.

2. Key Features Linux powers 91% of internet apps. It's secure, lightweight, user-friendly, and supports simplified software updates.

3. Linux Architecture Comprising Kernel, System Library, Hardware, and Shell, Linux interfaces between users and hardware.

4. File Hierarchy Structure Starting at the root, directories like /root, /home, /etc, /usr, and /var serve specific functions in storage and system management.

5. Basic Commands Commands like ls, pwd, cd, mkdir, rm, cp, and more empower users to navigate, manipulate, and manage files and processes.

6. Tasks Learn to verify directories, list all files (including hidden ones), and create nested structures using commands like pwd, ls, and mkdir.

#Day3 Discover Essential Linux Commands:

1. Viewing File Content To see file content, use "cat" command.

2. Changing Permissions Modify access permissions with "chmod" command.

3. Checking Command History Review your command history using "history".

4. Removing Directories Empty: "rmdir". With content: "rm -R".

5. Creating & Viewing Files Create "flower.txt" with "touch" and view content with "cat".

6. Adding Content to File Use "vi" to edit and add lines.

7. Displaying Top Flowers Show top 3 flowers with "head" and line count.

8. Displaying Bottom Flowers Use "less" for the last 3 lines.

9. Creating & Editing "colors.txt" Create and edit using "vi".

10. Finding Differences Compare files using "diff".

Unlock the power of Linux with these essential commands for effective file management and manipulation.

#Day4 Discover Shell Scripting Essentials:

1. Unveiling Shell Scripting Shell scripting automates Linux tasks using commands, reducing manual effort and errors. Files have a ".sh" extension.

2. Shebang Explained #!/bin/bash is the shebang, indicating the interpreter. #!/bin/sh is an alternative, using the system's default shell.

3. Embracing the Challenge Execute chmod +x to grant execution permission. Write a script to print "I will complete #90DaysOofDevOps challenge."

4. Handling User Input Use read to capture user input and $1 to store the first argument provided when running the script.

5. Conditional Logic with If-Else Employ If-Else constructs to compare two numbers, enabling decision-making in scripts.

#Day5 Streamlined Linux Tasks and User Management:

1. Directory Creation with Shell Scripting Automate directory creation with a shell script. Input directory name, start, and end numbers. For example, use a loop to generate directories.

2. Effortless Backup Script Craft a backup script using "tar" to safeguard your work. Archive your directory and save it in a backup folder.

3. Automate with Cron and Crontab Learn about Cron and Crontab. These tools automate tasks by scheduling commands. Utilize Crontab to regularly execute your backup script.

4. User Management Basics Understand user management. Linux users have unique IDs. Learn commands like useradd, passwd, usermod, userdel for user manipulation.

5. User Creation and Modification Create users using "useradd". Explore /etc/passwd for user details. Change user IDs, passwords, and group IDs with usermod.

6. Advanced User Operations Alter usernames using usermod. Delete users with userdel. Manage group IDs with usermod and groupadd. Customize user properties effectively.

#Day6 Linux File Permissions and ACL:

1. Understanding File Permissions Discover Linux file permissions through tasks like creating and exploring files with ls -ltr.

2. Deep Dive into Permissions Delve into file permissions with a breakdown of sets, such as owner, group, and others. Learn the symbolic and numeric methods to grant read, write, and execute access.

3. Permissions in Action Explore how permissions vary between files and directories. Witness how permissions like read, write, and execute function differently for each.

4. Ownership Control Master changing ownership and group ownership using chown and chgrp.

5. Manipulating Permissions Change user permissions using chmod, whether with the numeric method or symbolic approach. Understand how to add or remove specific permissions.

6. Introducing Access Control Lists (ACL) Learn about ACL, enabling precise permission settings without altering base ownership. Use commands like getfacl to view ACL and setfacl to modify it.

By delving into Linux file permissions and ACL, you enhance your control over data access and security.

#Day7 Mastering Package Management, Docker, Jenkins, and Systemctl:

1. Unveiling Package Management Package managers streamline software handling. They're tools to install, manage, and configure packages, whether via command-line tools like apt-get or graphical interfaces.

2. Understanding Packages A package encompasses applications, libraries, or tools. It holds binaries, configurations, and dependencies.

3. Diverse Package Managers Package managers vary across systems. RPM uses Yum and DNF; DEB employs apt-get and aptitude. APT and YUM are popular, simplifying operations.

4. Docker and Jenkins Installation Install Docker using terminal commands like apt update and apt-get install docker-ce. Verify with docker --version. For Jenkins, employ apt and systemctl for installation and management.

5. Managing Docker and Jenkins Monitor Docker status using systemctl status docker. Halt Jenkins with systemctl stop jenkins, comparing screenshots before and after.

6. Systemctl vs. Service Systemctl offers more advanced control over services than service. It provides a broader range of commands, including start, stop, restart, enable, disable, and status.

cover image credits: Image by fatmawatilauda on Freepik