Once you’ve switched to your chosen Linux distribution and gotten to grips with the user interface, you should be happy to continue. But what if you want extra functionality? What if clicking a mouse over a few menus isn’t delivering the power user experience you desire?
The answer, of course, is to embrace the command line. But as easy as it is to launch a terminal window (usually CTRL + ALT + T) or log out of the desktop to switch to the main command line, it can be difficult to remember each and every command that you need.
Here are the websites and books you need to become a command line master.
What Is the Command Line?
“Command line” is a generic term given text-based user interfaces. Windows has two (Command Prompt and Windows PowerShell), as does macOS. In Linux, the command line is commonly referred to as
- the command line,
- the terminal (essentially an emulation of a classic PC terminal),
- the console (another name for terminal),
- a shell (a command line environment), or
This latter name is an acronym of Bourne Again SHell, and is what appears on most Linux operating systems when the terminal is launched. A shell is essentially a program or environment that supports text-based commands.
So what can you do to learn these commands? You can practice, and spend lots of time in the shell. To help you, embrace books and websites that will help you to hone your ability in the terminal. Here are some suggestions.
Great Websites to Learn the Command Line
First, we’ll take a look at five great websites intended to help you learn more bash commands.
Written mostly by Maarten Billemont, The Bash Guide — appropriately enough — is an open source collection of guides and exercises that you can use to get to grips with the command line.
Starting with the basics of what bash is, the different modes (interactive and non-interactive), and how it came to be, this site offers a comprehensive background to help you understand the mechanics of the command line.
The online version of the printed book of the same name, The Linux Cookbook is by Michael Stutz. This web-based version is in old-fashioned, unstyled, plain HTML, and as such doesn’t offer an easy read. It does, however, have a search feature, so you shouldn’t have any trouble finding what you’re looking for.
Its sheer size and depth gives it a well-earned spot in this list. However, for an up-to-date version, you’ll need to head to Amazon.
You’ve got two reasons to check out Ryan’s Tutorials. First, there’s the Linux Tutorial section, which is split into 13 sections and aims to give you a series of tutorials to work through in order to develop your understanding of the command line.
In addition, there’s a Bash Scripting section, which explains the basic programming you can do in the command line. This covers variables, if statements, loops, and functions. If these are unfamiliar to you, worry not — they’re reasonably straightforward!
Hosted on the University of Cambridge’s IT Support website, the openSUSE 9.0 manual is an in-depth, searchable guide with a big chapter dedicated to the command line. Within moments of visiting this resource, you’ll be finding out about pipes and learning how to create an archive. Naturally, some prior knowledge is required!
Essentially an HTML manual, this is a pretty plain-looking site, but with a wealth of information that you can use to upgrade your command line knowledge.
5. Right Here at MakeUseOf!
We’d be remiss if we didn’t mention our own contributions to the world of command line help. Over the years, MakeUseOf has produced numerous tutorials demonstrating how to use the command line. These include everything from shutting down your PC to mounting disks and partitions.
So, feel free to bookmark our Linux section along with the other sites listed above.
Books with Command Line Knowledge You Should Read
It isn’t just websites where you’ll find a handy bunch of Linux commands to grab or immerse yourself in. These three books will prove particularly useful in developing your bash knowledge.
1. Command Line Kung Fu
With a full title of “Command Line Kung Fu: Bash Scripting Tricks, Linux Shell Programming Tips, and Bash One-liners, this book by Jason Cannon is surprisingly straightforward. Happily, it starts with some useful commands (such as sudo !! to run the last command as root), and finishes with observing command output.
On the way, it stops at every vital command, giving you context and background. These are crucial aspects of learning, and stop things from becoming dry. Better still is Cannon’s commentary throughout, which focuses on using the terminal as a tool.
2. The Linux Command Line: A Complete Introduction
Courtesy of William E Shotts, this 2012 title is a great way into the command line. Although it styles itself as an “introduction,” this volume actually goes far deeper. Indeed, it could easily sit as a complete reference to the command line.
On the downside, this book is a bit heavy going. The layout is good at highlighting commands and their variations, but — useful examples aside — it can be a tough read. Occasionally entire pages are given over to text without a hint of a command.
You can also access much of the contents of this book via the website www.linuxcommand.org.
3. Linux Command Line and Shell Scripting Bible
Finally is this book from Richard Blum and Christine Bresnahan, part of the vast Wiley range of IT-related guide books. The third edition was published in 2015, and considers itself the “ultimate roadmap to direct communication with your system.” Standing at 816 pages, this is no inaccurate boast!
While the other two books in this list feature a sample of bash scripting, Blum & Bresnahan take this a step further. Here, you’ll find everything you need to develop a deep understanding of the command line and shell scripting. While it’s recommended that you read through in order, this volume also makes a good reference book.
Or, Just Use the Terminal!
Each time you get stuck using the Linux terminal, you can request help. This might be by simply typing help for general instructions, or it might be by including a switch (typically -h) at the end of a program-related command. The resulting screens of information should show you where you’re going wrong.
With so many ways to get a handle on the command line in Linux, it’s a surprise more people aren’t adept. But if you want full control over your Linux PC, the command line continues to be where the real power is held. With practice, it can be faster than dragging a mouse pointer across the screen.
Do you have expert knowledge of the terminal? How did you get to grips with it? Any tips to share with Linux newcomers? Tell us in the comments.
Explore more about: Programming.