You've experienced the shiny, point-and-click surface of your Linux computer—now dive below and explore its depths with the power of the command line. The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell (or command line). Along the way you'll learn the timeless skills handed down by generations of experienced, mouse-shunning file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more. In addition to that practical knowledge, author William Shotts reveals the philosophy behind these tools and the rich heritage that your desktop Linux machine has inherited from Unix supercomputers of yore. As you make your way through the book's short, easily-digestible chapters, you'll learn how Create and delete files, directories, and symlinks Administer your system, including networking, package installation, and process management Use standard input and output, redirection, and pipelines Edit files with Vi, the world's most popular text editor Write shell scripts to automate common or boring tasks Slice and dice text files with cut, paste, grep, patch, and sed Once you overcome your initial "shell shock," you'll find that the command line is a natural and expressive way to communicate with your computer. Just don't be surprised if your mouse starts to gather dust.
Really great introduction/overview of Bash. Strikes a nice balance between general sysadmin tasks and getting a feel for Linux. This was much appreciated, because the other Linux books I've tried to read in the past are really heavy on the DevOps side.
One criticism/recommendation is that I think the whole last section on shell scripting could be skipped. While I'm interested in this topic, there are better scripting tools for this task. The author even alluded to these (e.g. AWK, Perl, etc.), but it's like he wanted to restrict the content of this book to Bash so instead devoted over a hundred pages to the really complicated way you could write these scripts instead.