5 ways to learn Linux to advance your career
Books, courses, labs and exercises are all good ways to get your Linux muscle working
Want to learn Linux to grow your career? Here are some tips if you’re planning to learn Linux.
Tips for learning Linux
Read a book
Books are comprehensive. Linux is pretty big. Sometimes it can feel like in order to do something, you need to learn about 100 concepts beforehand. Books go into thorough detail and will cover more than any video course.
Investing in a Linux book is a great idea, as you’ll probably return to it for years to come.
We recommend:
-
Linux Bible. It’s in its 10th Edition now, so if that’s not a good sign that you should pick it up, I don’t know what is.
-
How Linux Works. This is more of a “why” book. It explains the reasons that Linux works the way that it does.
Does it matter which distribution?
These Linux books are geared towards using Linux for business, not for gaming or home use. So they mostly focus on the big enterprise distributions, Red Hat and Ubuntu.
Take a course and/or an exam
If you want to learn Linux and the command line step-by-step, then take a course and an exam. The good thing about taking a course is that it will cover the core topics you need to know.
Try to find a course for system administrators. This will give you a good grounding in Linux commands, managing a server, installing packages, and so on.
Here are some ideas for Linux training:
-
Training for the Red Hat Certified System Administrator (RHCSA) certification will give you the knowledge you need to be confident with Red Hat Enterprise Linux.
-
Online learning platforms like A Cloud Guru and O’Reilly have self-paced Linux training courses.
-
The Linux Foundation offers Linux system administration training and certification. The Linux Foundation Certified System Administrator (LFCS) is a well-recognised certification.
Play with your own Linux server
You can get started with Linux by creating a Linux virtual machine on your own PC, using a program like VirtualBox. A virtual machine is a safe environment. In a VM, you can play around and learn, without being too concerned, because you won’t break anything.
-
Run Linux in Docker. You could also run Linux in a container.
-
Dual-boot. Once you’ve learned some of the basics, you could then choose to dual-boot to Linux. Dual-booting is where you install Linux as a secondary operating system on your PC, and you can choose to boot into it.
RECOMMENDED: See our step-by-step tutorial on running a web server in a Linux virtual machine with Vagrant.
Get command line experience
If you’re learning Linux for DevOps, you should force yourself to use the command line. So, ideally, install a Linux distribution without a desktop environment.
If you don’t install a desktop environment, you’ll only have the shell/terminal as your friend. But you will make the quickest progress this way.
When you’re learning the command line, also make time to learn a text editor like nano
or vim
. Vim is the text editor that comes with most distributions of Linux, with a quirky set of keyboard commands that take time to learn but will help you get things done quicker.
RECOMMENDED: See our guide to the top Linux commands.
Top ‘need-to-know’ Linux commands
There are dozens of Linux commands, some of which you’ll use more often than others. Here are some of the top commands that I use almost every day. You will probably use these often if you are going to be using Linux:
Command | What it does |
---|---|
cd , pwd , ls |
Navigating the file system. These commands move between directories (folders), and list their contents. |
mkdir , rm |
Create and delete stuff. These commands can make a directory or delete files. |
vi |
Editing files. Vi, or vim, is the ubiquitous text editor that you’ll find on most Linux systems. It’s extremely powerful but takes time to learn. |
grep , find |
Searching files. These commands are used to find files on disk and search for text patterns. |
yum , dnf , apt |
Installing packages. These commands install or upgrade software on the operating system. |
ps , top |
Process monitoring. How many programs are running on the server, and how much resources are they using? Useful for troubleshooting. |
tar , zip , unzip |
Working with archive files. These commands compress and extract archive files, like zip, tar or tgz (compressed-tar) files. |
sed , awk |
Text manipulation. These commands are often chained together to extract data from files or input, and then used to create input to another command. These are used in DevOps to help write automation scripts. |
Get help anytime
On your Linux journey, your emergency exit is man
.
man
is the command to show the “manual” and is your best buddy on Linux.
man
holds the documentation for almost everything on your Linux system. It tells you how to run commands, how to configure things, and is a goldmine of info.
The only problem is, you need to know how to find things in man
, and how to read man pages. Spend time learning how to use man
first, and it will pay dividends for you in the future.
If you’re already on a Linux server, try typing man ls
, and it will show you the manual for the ls
command (which lists files and directories).
To search the manual on Linux, use man -k <search term>
. This will find the manual pages which match your search query.
Outside of the manual, you can also get help with using Linux on forums and Q&A sites, like:
-
Linux4Noobs subreddit Beginner
-
Unix & Linux Stack Exchange Intermediate