How to Learn Linux in 2023 (with Resources)

Linux is an open-source operating system that’s highly versatile and customizable. It's often used in server environments due to its reliability and security features. It is particularly popular among developers and IT professionals, who appreciate its flexibility, stability, and versatility.

This article will cover why you should learn Linux and the basics you need to get started with it. We’ll also share additional resources to help you on your Linux mastery journey.

Why Should You Learn Linux?

While average consumers are familiar with Windows and macOS, Linux is the go-to operating system for IT professionals. Since it’s open source, you can modify it to your liking. As such, you can use Linux as a base to create an entirely custom OS with improved security over other systems.

Linux also has a wide range of applications outside of the IT sector. For instance, Android smartphones, which have an 87% market share of all smartphones, run on a Linux-based platform.

Plenty of other devices also rely on Linux. Today, it helps run hardware such as smartwatches, TVs, vehicle dashboards, and refrigerators, among other devices. In other words, knowing Linux can lead to many opportunities in the tech and IT industries.

Essentially, Linux is a very in-demand open source skill (Top 2 skill according to The Linux Foundations 10th Annual Jobs Report) that will greatly improve your ability to advance and secure new career opportunities in the DevOps industry.

How to Learn Linux: Understanding the Basics

To put it very simply, here are the steps to learning Linux:

  1. Find solid resources and learning materials
  2. Learn and practice the basics
  3. Spend time exploring the OS
  4. Start a project and put your knowledge into practice
  5. Keep practicing to refine your skills and learn more

First, understanding the basics of Linux gives you a solid foundation for everything you need in an IT career. From there, you can become a skilled practitioner and work in any environment.

Learning Linux Basics Course & Labs | KodeKloud

Linux Structure and Architecture

You can sum up Linux architecture by these primary components: the Kernel, System Libraries, System Utilities Programs, Hardware Layer, and Shell.

  1. Kernel: The kernel handles the operating system’s primary functions. It's also responsible for any communication between the user and the hardware.
  2. System Libraries: These are pre-compiled blocks of code that perform special functions and don’t require access rights to kernel modules. Instead of writing new code, you can reuse library functions throughout a program.
  3. System Utilities Programs: These programs perform specialized and individual functions within Linux.
  4. Hardware Layer: This layer refers to peripheral devices in a Linux environment like CPU, HDD, and RAM. Hardware requires the kernel to communicate with users.
  5. Shell: The shell is an interface between the kernel and the user. It interprets the user’s commands and sends them to the OS to perform them.

All the other parts of Linux architecture can be categorized within one of these five components.

Basic File Navigation in Linux

Once you’ve acquainted yourself with the architecture, you’ll need to familiarize yourself with the Linux file system. In the following examples, the lines are numbered for convenience, and the $ represents the Linux command prompt, not something you need to type.


pwd (Print Working Directory) shows where you are in the directory (like a file location).

$ pwd

On top of that, you have these other arguments which specify your navigation commands:

  • ~ (tilde): refers to the user’s home directory
  • . (dot): the current directory you’re in
  • .. (dot dot): the parent directory of the current one you’re in
  • - (dash): refers to the most recent directory you were in


cd (change directory) is self-explanatory. It allows you to change your current file location.

$ pwd

$ cd ..
$ pwd

Typing cd without any arguments brings you to the home directory.


The ls (list files) function displays all the file names within a given directory. You can specify the directory like in the example below. Otherwise, running the command without arguments will default to your current location.

$ ls ~/downloads

How File Permissions Work in Linux

Every file and directory in a Linux system has defined permissions and owners. Permissions describe which users can access or modify the file.

In a Linux OS, you can find three types of permissions:

  • Read: Users can read the file and directory
  • Write: Users can modify a directory’s files or write new files
  • Execute: Users can access and run the file

You can change a file’s owner by using the chown command. Similarly, you can change permissions by typing the chmod command.


Learning Linux is an important skill for anyone who wants to excel in the tech industry. Not only is Linux the backbone of many servers and supercomputers, but it is also popular among developers and programmers. Learning it can open up new career opportunities and enhance your technical skills.

More on Linux: