Learnr

Learn Linux

Get comfortable in the terminal and understand how Linux systems work.

or browse all courses.

Free to start. Built from a single prompt. No credit card.

Linux is a free, open-source operating system kernel that, combined with tools from the GNU project and others, forms distributions like Ubuntu, Debian, Fedora and Arch. It runs most web servers and cloud machines, Android phones, supercomputers and countless embedded devices. Learning Linux mostly means learning the command line: navigating the file system, managing files and permissions, installing software with a package manager, and controlling processes and services. These skills are a foundation for development, DevOps and security work. Learnr builds a personalized Linux course from your prompt and teaches it through short, interactive lessons.

How to learn Linux, step by step

  1. Get a Linux environment to practice in. Install Ubuntu in a virtual machine with VirtualBox, use WSL on Windows, or rent a small cloud server. A machine you can break and rebuild removes the fear of trying commands.
  2. Learn to move around the file system. Practice pwd, ls -la, cd, mkdir, cp, mv and rm, and learn the layout of /, /home, /etc, /var and /usr. Use tab completion constantly and read man pages with man ls.
  3. Work with text, pipes and redirection. Use cat, less, head, tail, grep, sort, uniq and wc, then chain them with pipes and redirect output with > and >>. Find the most common lines in a log file as a practice task.
  4. Understand users and permissions. Read rwx permission strings from ls -l, change them with chmod and chown, and learn when sudo is needed. Explain why a script needs execute permission before you can run it.
  5. Manage software, processes and services. Install packages with apt or dnf, watch processes with ps and top or htop, stop them with kill, and control services with systemctl status, start and enable. Check service logs with journalctl.
  6. Run a small server and connect over SSH. Generate an SSH key pair, log in to your VM or cloud server, and install a web server like nginx. Short daily Learnr lessons help the command vocabulary stick between sessions.

What you'll learn

  • Navigate and manage files from the terminal with confidence
  • Read and set file permissions and ownership
  • Install and update software with apt or dnf
  • Inspect and control processes and systemd services
  • Connect to remote machines securely with SSH keys

What's inside your Linux course

A sample path Learnr builds for Linux. Your real course adapts to your goal and level.

  • 1. Distributions, the kernel and the shell
  • 2. Navigating the file system hierarchy
  • 3. Working with files, text and pipes
  • 4. Users, groups and permissions
  • 5. Packages, processes and services
  • 6. Networking basics and SSH

How long does it take to learn Linux?

Everyday terminal navigation and file handling take 1 to 3 weeks of regular practice. Being comfortable administering a server, with permissions, packages, services and SSH, usually takes 2 to 4 months at a few hours a week. Using Linux daily accelerates everything.

What you need before you start

General computer literacy is all you need. A spare machine, a virtual machine or WSL on Windows gives you a safe place to practice.

Common mistakes to avoid

  • Running commands with sudo just to make errors disappear. Read the error first, since it often points to a wrong path or permission you should fix properly.
  • Copying and pasting commands like rm -rf without reading them. Understand each flag before you run it, especially anything that deletes or changes permissions.
  • Setting permissions to 777 to fix access problems. Give the right user or group the minimum permissions needed instead.

How Learnr builds your course

Type your topic

Tell Learnr you want to learn Linux, or get as specific as you like.

Get a personalized course

Learnr instantly builds a full Linux course tailored to your goal and skill level.

Learn and level up

Move through bite-sized lessons and interactive practice, earning XP and keeping your streak.

Linux questions, answered

Which Linux distribution should a beginner use?

Ubuntu and Linux Mint are common choices thanks to large communities and plenty of documentation. Most command-line skills transfer between distributions, with package managers being the main difference.

Can I learn Linux on Windows or a Mac?

Yes. Windows Subsystem for Linux runs a real Linux environment on Windows, and a virtual machine works on either. The macOS terminal also shares many Unix commands.

Do I need Linux for programming?

Not always, but it helps a lot. Most servers and cloud systems run Linux, and tools like Docker, Git and many build systems feel most natural there.

Explore more courses

More programming and tech courses

See all programming and tech courses

Ready to learn Linux?

Start your free, personalized Linux course in seconds. .