What is Linux?

Share
What is Linux?

If you’re starting your DevOps journey, the very first skill you need is Linux. Linux is the base for everything in the DevOps. From running a simple monolith app to deploying multi-cluster Kubernetes environment and managing servers on AWS, almost everything relates to Linux.

In this guide, we’ll cover the Linux fundamentals that every beginner should know. By the end, you’ll be able to navigate the terminal, work with files, manage processes, and understand how Linux systems are structured.


Why Linux Matters for DevOps

  • Dominates the industry – Most services on the internet run on Linux.
  • Power behind the containers & orchestration – Docker, Kubernetes, and CI/CD pipelines are built around Linux.
  • Open-source and customizable – You can tweak it for performance and automation. And it's free!
  • Essential for troubleshooting – Knowing Linux saves hours when diagnosing most of the issues.

💡 Think of Linux as the foundation layer of all DevOps work.


Getting Started with Linux

If you’re new, here are a few ways to try Linux:

  • Install on your machine – Ubuntu, Fedora or CentOS(beginner-friendly).
  • Windows Subsystem for Linux (WSL) – Run Linux inside Windows easily.
  • Cloud instances – Launch an Ubuntu EC2 instance on AWS (free-tier works) or any other cloud provider.

Basic Linux Concepts

  • Linux File System - Linux is based on files. Almost everything you see in Linux is a file. So you need to have a better understanding on Linux file system. It start from the root directory (/). Root is the topmost level of file hierarchy.

/
├── bin -> usr/bin
├── boot
├── cdrom
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── lost+found
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── snap
├── srv
├── sys
├── tmp
├── usr
└── var

  • Users & permissions – You MUST have deep knowledge on managing users and permissions in Linux. Root (admin) vs non-root users, groups, chmod for permissions.
  • Storage management: How you mount volumes, create VG, LVM etc
  • Processes – Running programs managed by the kernel.
  • Packages – Software installed via apt (Ubuntu/Debian) or yum/dnf (RHEL/Fedora).
  • CLI – Command-line interpreter (Bash, Zsh).

Essential Linux Commands

These are the basic command that most of the users use in day-to-day activities.

pwd # show current directory
ls -l # list files with details
cd /etc # move to /etc directory

File operations

touch file.txt # create file
cp file.txt backup/ # copy file
mv file.txt docs/ # move file
rm file.txt # delete file

Viewing files

cat file.txt # print file content
less file.txt # scroll inside file
head -n 5 file.txt # first 5 lines
tail -f /var/log/syslog # live log view

Search & filters

grep "error" app.log # search for 'error'
find /var -name "*.log" # find all .log files

Networking


ping google.com # check connectivity to endpoint
curl https://example.com # check whether URL accessible

System monitoring

top # running processes
df -h # disk usage
free -m # memory usage


Working with the CLI

  • History

history # show command history
!! # run last command
!25 # rerun command #25

  • Pipes & redirection

ls -l | grep ".txt" # list only .txt files
echo "hello" > file.txt # overwrite
echo "world" >> file.txt # append

  • Environment variables

echo $HOME #Print env variable
export MYVAR=devops #add new variable

  • Aliases

alias ll='ls -al' #create an alias

💡 Tip

Use man infront of your command to view the manual page.

Example: man ls


Homework 😉

Try these to build muscle memory:

  1. Navigate to /home, create a new folder, and a file inside it.
  2. Change the file’s permissions so only you can read/write it.
  3. Use grep to search for “root” in /etc/passwd.
  4. Monitor your CPU usage with top.
  5. Compress your folder into a .tar.gz archive and extract it back.

Best Practices & Tips

  • Avoid running as root unless absolutely necessary (sudo instead).
  • Keep your system updated. sudo apt update && sudo apt upgrade -y
  • Learn at least one editor (nano → later move to vim).
  • Save useful aliases in ~/.bashrc.

Common Mistakes Beginners Make

  • Accidentally deleting files with:rm -rf /
    (Don’t ever try this!)
  • Forgetting file permissions when debugging.
  • Running services without checking logs in /var/log/.
  • Ignoring the difference between root and user commands.

Conclusion & Next Steps

Congrats 🎉 — you now know the fundamentals of Linux! This is the first step in your DevOps journey.

👉 From here, you can dive into:

  • Advanced Linux – Bash scripting, cron jobs, managing services, package management, storage management.
  • Networking basics – ports, firewalls, SSH.
  • Practical DevOps – Docker & Kubernetes (both run on Linux).

for more information you can refer this tutorial from freecodecamp.org

freecodecamp.org

Stay tuned for our next chapter on Linux. We will discuss users and permissions.