Starting My DevOps Journey: Day 1 with Linux

Hello everyone,

Welcome back to my DevOps journey! Today, I’m excited to share my experiences from the first day of diving into Linux. As a crucial foundation for any aspiring DevOps engineer, mastering Linux is my top priority.

Day 1: Setting Up and Exploring Basics

Choosing a Distribution:

After some research, I decided to go with Ubuntu, one of the most beginner-friendly and widely used Linux distributions. Its extensive documentation and supportive community make it an ideal choice for newcomers.

Setting Up Ubuntu:

I started by setting up a virtual machine using VirtualBox, a popular virtualization tool. Here’s a quick overview of the steps I followed:

  1. Download Ubuntu ISO: I downloaded the latest Ubuntu ISO from the official website.

  2. Install VirtualBox: Installed VirtualBox on my system and created a new virtual machine.

  3. Configure VM Settings: Allocated memory, CPU, and storage for the virtual machine, and mounted the Ubuntu ISO as the bootable disk.

  4. Install Ubuntu: Booted up the virtual machine and followed the installation prompts to get Ubuntu up and running.

Navigating the Command Line:

Once Ubuntu was set up, I dove into the command line, which is a powerful interface for interacting with the operating system. Here are some basic commands I practiced:

  • ls: Lists the contents of a directory.

  • cd: Changes the current directory.

  • pwd: Prints the current working directory.

  • mkdir: Creates a new directory.

  • touch: Creates a new file.

  • cp: Copies files or directories.

  • mv: Moves or renames files or directories.

  • rm: Removes files or directories.

These commands are essential for navigating and managing the filesystem. Practicing them helped me become more comfortable with the command line interface.

Editing Text Files:

I also explored basic text editing using nano, a simple command-line text editor. I created and edited a sample text file, which will be useful for writing scripts and configuration files later on.

File Permissions and Ownership:

Understanding file permissions and ownership is crucial for managing security in Linux. I learned about:

  • File Permissions: Read (r), write (w), and execute (x) permissions for the owner, group, and others.

  • Changing Permissions: Using the chmod command to modify file permissions.

  • File Ownership: Changing the owner and group of a file using the chown command.

Package Management:

Ubuntu uses apt (Advanced Package Tool) for package management. I practiced installing, updating, and removing software packages using commands like:

  • sudo apt update: Updates the package list.

  • sudo apt upgrade: Upgrades all installed packages.

  • sudo apt install <package_name>: Installs a specific package.

  • sudo apt remove <package_name>: Removes a specific package.

Conclusion and Next Steps:

My first day with Linux was both challenging and rewarding. Setting up the environment, navigating the command line, and understanding basic commands and file permissions have laid a solid foundation for the days ahead.

Next, I’ll delve into more advanced topics such as user management, networking, and shell scripting. These skills will be invaluable as I continue my DevOps journey.

Thank you for following along! If you have any tips or resources for learning Linux, I’d love to hear from you. Let’s continue to learn and grow together.

Stay tuned for more updates on my DevOps journey.

Cheers,
Shriyansh kaurav

1
Subscribe to my newsletter

Read articles from Shriyansh Kaurav directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Shriyansh Kaurav
Shriyansh Kaurav

Hi there! I'm a recent B.Tech graduate in Computer Science from Sagar Institute of Research & Technology and Science. I have a strong foundation in Python and MySQL, and I'm passionate about entering the exciting field of DevOps. Currently based in Bangalore, I'm eager to learn and grow in this dynamic domain. I'm constantly exploring new technologies and best practices to improve software development and deployment processes. Let's connect and collaborate!