Customer Reviews

176
4.7 out of 5 stars
The Linux Command Line: A Complete Introduction
Format: PaperbackChange
Price:$25.26 + Free shipping with Amazon Prime
Your rating(Clear)Rate this item


There was a problem filtering reviews right now. Please try again later.

109 of 111 people found the following review helpful
on February 14, 2012
Format: Paperback
What if you had a book that took you from the very beginning of the Linux command line options, and it took you through progressively interesting and relevant topics so that you really could develop a mastery of the shell? Oh, and what if it were written in a fun style that was less wonkish and easier to embrace and follow along with? Less tech, mode dude. William E. Shotts, Jr.'s "The Linux Command Line" manages to do that.

Let's face it, learning the entirely of the Linux command line can take years. It's unlikely most will walk through the book page by page and work through each example, but with this book, it feel like you could do exactly that and not get bored.

The first part of the book walks the user through the many commands that are relevant to all systems and all shells; the navigation options through directories, showing files, getting your head around terminals, finding and opening files, moving files and directories around, links (both literal and symbolic), learning about commands and how to learn more about them. All of this, as well as redirection, using pipelines, creating filters, expansions, and so on. A wonderful metaphor and explanation made in this section is that Windows is like a GameBoy, and Linux is like the world's biggest Erector Set. While Windows is nice and shiny and makes for pretty applications, it's difficult (relatively speaking) to roll your own applications without a fair bit of knowledge and packaged tools. Linux, on the other hand, right off the bat gives you all the tools you need to build just about anything in just about any conceivable way you might want to build it.

Part 2 covers configuration of the shell and the environment variables that it keeps track of. Shell variables like DISPLAY, EDITOR, LANG, PS1, TERM and many others are explained and we get to see how simple shell scripts are implemented allow us to access and modify these values. We also get introduced to a variety of test editors, but with an emphasis on vi (and a mellow focus at that). The section is rounded out by learning how to modify the command prompt that we see and make it show us more details (directories, colors, etc.).

Part 3 is a grab bag of all sorts of things that we often look at separately, but when taken together, make a lot of sense. We start with package management and making sure systems are up to date. Next we cover understanding file systems and the variety of commands that helps to mount disks, examine file systems, check and repair systems, get online and check the network for connectivity, copying files over a network and connecting via secure shell, performing archive and backup steps. The section end with a broad discussion on regular expressions, text formatting and processing and, finally, printing out files and compiling applications.

Part 4 ties it all into the true big bad voodoo of the command line, the ability to write shell scripts. The section starts out with a fairly basic script formatting and then moves on to create a program that displays system information in HTML format. Along the way, we get to see how to use the shell and all of its properties and the huge toolkit of Linux commands to structure our work, and get an introduction to "top down design". Subsequent chapters carry us through common development topics such as reading input from the command line, strings, numbers, variables and constants, and the variety of flow control ranging from simple branches to looping and case statements and arrays. The section ends with a grab bag of interesting topics including subshells, traps and error handling, asynchronous execution and named pipes.

Each section starts with the commands it will cover, walks through careful and thorough examples of each command, and then wraps with a simple explanation of the section covered, with sidebars aplenty. Seeing as this is a command line book, you bet that you are seeing a lot of the actual commands, and how they interact, how to apply permissions, manipulate text and manage processes. If you want practice with these things and not their graphical counterparts (and really, what "command line" book worth its salt wouldn't make that its prime focus), well, you get your wish!

Bottom Line:

There are a lot of books that talk about the various Linux Shells, but you'd be hard pressed to find one that does so this entertainingly. Again, it's the less tech (but not so much that the meat of the matter isn't covered well) and more "dude" (but not to the point of being embarrassing or insulting) that makes this book a joy and a treasure. If you're a novice Linux player, or just want to get beyond the pretty graphical wrapper of your MacBook, put this book at the top of your list.
11 commentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
59 of 60 people found the following review helpful
on January 23, 2012
Format: Paperback
First of all I am a developer & system admin at a small company in MS world, but have been spending an increasing amount of time in Linux administration for side projects. I realized very quickly the limits of my abilities with bash, vi, etc. and began searching for resources. I'm only about 6 chapters into "The Linux Command Line" so far, and can say that it that anyone wanting to succeed with Linux should begin here. More advanced users could probably also benefit from the second half of the book (which I haven't gotten to yet, but addresses many common system administration tasks such as networking, archiving & backup, ftp transfers, etc.).

Like most people starting off in this topic, I relied heavily on forums and web searches, as well as a fair bit of fumbling around on my own learning how to employ the power of the command line. In hindsight I could benefitted with clarity on the topic and saved an enormous amount of time by reading a book like this, which goes from the most basic level , the function and purpose of the command line, to the more advanced such as creating shell scripts and compiling applications. The chapters which will be most valuable to me include the Introduction to Vi, Regular EXpressions, and Working With Commands.

The most compelling reason for buying this book above others I've looked at is the level of thoroughness which the author grants to each topic. While there are pages that I will probably copy, print out, and hang on my monitor for reference, more than anything the book stands as an exhaustive exposition about a topic that newbies (like myself) must learn if they plan to push their skill set beyond that of a casual user. I've also found that the author's sequenced, tutorial approach to the topic matched with his light-hearted tone made this book far more readable than many other tech books I've come across, and would recommend it to anyone.
22 commentsWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
43 of 44 people found the following review helpful
on February 12, 2012
Format: Paperback
I will first state that I am a partially blind Linux user. I took some Linux classes in 2006, and I completely migrated to Linux in 2007 due to several reasons which I will not cover here. When I refer to myself as "partially" blind, I say that with the intent that what minimal amount of vision I have left may not lost much longer. Throughout the majority of my 'Linux life", I heavily relied on screen magnification and graphical tools to get things done; as of recently, however, my good eye has not held up so well as it used to. With the possibility of the loss of my remaining vision eminent, I decided that I could better be served by performing many operations under Linux from the command line. I can still use a graphical environment through the use of the Orca screen reader, and there are a number fo screen readers available strictly for the command line side of Linux.

For awhile now I tried to learn the command line through Google searches and different online tutorials, as well as some arcane manpages for command line utilities. I felt kind of overwhelmed because I could not find all of the information I needed in a format for learning. Enter this book!

As mentioned by other reviewers, this book is not necessarily meant to be a reference it is written in such a way that it is like you have a personal Linux trainer. Everything is explained so that the reader can understand it, and the author seems to be very meticulous when it comes to details (by no means a complaint). I have learned more from this one book than I have from the textbooks used by the professor of the Linux class at the college which I attended back in 2006. That is not to say I learned nothing in those classes, as I learned a ton...just not enough to (for the most part) live in the command line. I feel much more confident on a command line than I ever have, and this book is primarily to thank for it.

I am an IT student seeking employment, and I was unable to afford a printed copy of this book. When I get the money, this book will be one which stands on my shelves at home. By no means am I trying to take money away from the publisher, but if you are like me and you are financially unable to purchase a printed copy of this book, this book is also published as a free and legal PDF eBook at the author's site. Just search for "LinuxCommand" "PDF" "Download". The printed version, in my opinion, would well be worth the price.

A big thanks to Mr. Shotts for writing this book. Though it may not have been written with blind users in mind (it doesn't really need to be, as most if not all of the command line is usable by a totally blind user), this book has helped me to feel much more confident in the command line. If my remaining vision does fade away, I now know that I will not have to find a way to pay for ridiculously priced commercial software in order to use an operating system which I do not really own.

If you are looking to learn the command line in order to become more productive as a general Linux user (or even as a future sysadmin), this book is a great place to start.
11 commentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
15 of 16 people found the following review helpful
on March 6, 2014
Format: Kindle Edition
If you want this book and don't mind reading it on a computer, kindle, phone, or tablet, it can be had for free under a Creative Commons license.
[...]
22 commentsWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
47 of 58 people found the following review helpful
on February 15, 2012
Format: Paperback
I'm a big fan of command line interfaces; they may be more difficult to work out than WIMP interfaces but they are considerably more powerful. However I'm not such a fan of The Linux Command Line: A Complete Introduction. Yes it's a pretty reasonable introduction to the command line interface but I found enough irritations in it to put me off. Let's start off on a positive note; coverage is good. The basics of file and system manipulation, environment tools and other tasks are all covered. However the coverage is somewhat variable. In some cases a command is introduced in a nicely tabulated format along with the frequently used flags and options but in other cases the pertinent options are buried in a screed of text which isn't nearly as useful. Obviously some of the chapters will be more useful than others. 'Manipulating files and directories', 'Redirection', 'Permissions' (though the author insists on using some of his own terminology instead of the standard *NIX/linux terminology when discussing file permissions which is quite likely to cause confusion), 'Processes', 'A gentle introduction to Vi', 'Networking', 'Searching for files', 'Archiving and backup', 'Regular expressions' and 'Compiling programs' are all essential reading. Other chapters are probably less useful; 'Package management', 'Storage media', 'Formatting output' and 'Printing' are either largely handled automagically or more efficiently managed via a graphical interface on any reasonably modern linux distribution.

My main problem with the book though is the fact that the final roughly 20% of the book is given over to writing shell scripts when other commands or tools have been glossed over as they are out of the scope of the book or have other books written on them (e.g. awk). This is fair enough when you are writing an introduction to a command line but don't then claim that your introduction is complete and spend a large chunk of the book covering something that is really outside the scope of a command line introduction! Personally I would have preferred this space to be given over to a more in depth appraisal of some of the command line essentials. For example Vi could easily stand another chapter.

If you're a complete linux command line neophyte you may find the book useful but if you've spent any time using it then you may well find it covers no new ground and may well be downright frustrating.
44 commentsWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
8 of 8 people found the following review helpful
on May 8, 2012
Format: Paperback
People, and by "people" I mean "code monkeys," are endlessly going on about how much more user-friendly Linux is, than Windows. "Learning Code is easy," they say. "Just take a weekend with a code book and learn it!" they say. "Well, I am happy to report, "The Linux Command Line: A Complete Introduction" by William E. Shotts Jr. is such a book.

No, a weekend with this book will not help you code in R, Python, Perl, Ruby, PHP, or even iOS. What this book does is better, at a fundamental level. This book shows the reader the AWESOME functionality of their computer using nothing more than the keyboard. A weekend with this book will improve your computing skills, even when on a non-Linux machine. (if you are into that sort of thing) However, once you are familiar with the lessons taught in this book, learning to code will be infinitely easier.

When I was a kid, maybe 9 or 10, my parents bought me my very first computer which, I believe, came with a BASIC programming manual. (Why is everyone laughing? Yes, my first computer was a PC.) I devoured the book. It was a page-turner. I could not put it down. Ever since, any time I read a "computer" book, I try to reclaim a bit of that 9 year-old self, alone with my computer and that book every waking moment I could, making my computer do stuff. Mr. Shotts Jr.'s book does a little of that.

"Who is this book for?" you ask.

"Do you have Linux on your computer?" This book is for you.

"Are you thinking about getting Linux on your computer, and wonder 'What will Linux do for me?'" This book is for you.

"WHY DON'T YOU HAVE LINUX ON YOUR COMPUTER?" (That was one for the "code monkeys")
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
7 of 7 people found the following review helpful
on August 18, 2014
Format: PaperbackVerified Purchase
This has been an amazing book. It should have been the first thing I ever read on Linux. You might think that it's a specialist book of some kind - after all, it is only about the command line. But the command line is where it's at and the author doesn't assume you know anything about Linux. It's actually a complete introduction to Linux and at each step of the way you have a new skill you can start to apply or just something to screw around with on your computer. I mean, there's nothing in Linux that can't be done on the command line. Graphical user interfaces are just a pretty presentation of what's going on underneath. Some people might grumble at "having to learn the command line" but honestly it feels very powerful once you get the handle on it (not as hard as you'd think) and I think linux actually makes doing stuff in the terminal much more fun, intersting, and powerful than in Windows or OSX.

It starts out with navigating folders and files, copying and what-not like you could do through menus and right clicking on a GUI. Then it teaches you some cool tricks you can only do in the command line (and aren't that difficult) like making a folder for each of the letters A-Z (it happens to be sudo mkdir {A..Z} so again, not as hard as you might think). Or maybe you want to find a folder on your computer whose third letter is either a p or a q - you can't quite remember. There's a chapter on permissions which allows you to, say, make a file that is only accessible to users in the group "teachers," or maybe you just want to turn a text document (say you compiled something from C) into something your computer knows can be run. It tells you how to alter the command prompt to display pretty pictures or show a clock. There's a chapter on the very cool way Linux installs programs. It will even teach you some very basic computer programming concepts, enough to start customizing your linux, and how to install a program from source code (again, it's easier than you think).

So it really runs the gamut of all the basics of how Linux works and I think by actually typing in the commands yourself, you gain a much better understanding of the system and how it works. There are other books I'm reading about operating systems and not a lot of it really stuck or made sense until I started reading this book and messing with things myself through commands and editing files (and editing config files makes you feel like a computer wizard when you're starting out). And there's something about the way it's written, the language, the pacing, the occasionally joke that is just rare enough that it catches you off guard. My only criticism would be that the "Gentle Introduction to Vim" could have been a little more gentle. Perhaps by spacing it out over a couple of chapters to let it sink in rather than trying to remember all of the keyboard shortcuts that make vim what it is all in one chapter. But it's a minor point compared to how much I feel like I've learned reading this book.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
7 of 7 people found the following review helpful
on March 19, 2012
Format: Paperback
Having a fairly decent command line knowledge, I didn't expect to learn much from this book. I was definitely surprised by how well this book was written. It is laid out in a simple, straight forward, and easy to understand way.
Many of the O'Reilly books I have, or have read, always make me feel like I don't have enough initial knowledge to understand the basics. Then when I finally do grasp the basics, I feel like they leave me hanging on advanced concepts. Often they feel like a college level teacher teaching you, and if you don't get it, they move on. The Linux Command Line is definitely the opposite of this, and reading through it made me feel as if a friend were helping me understand each command. The language used made this much more pleasurable to read than any other book of the same subjects. This book always helps you feel comfortable with a program or concept before moving on, much like a tutor instead of a stern instructor.
This has become my new go to book for Linux command line, and scripting. It has been heavily borrowed at work, and a second copy will soon be ordered so I can have it all to myself.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
6 of 6 people found the following review helpful
on May 7, 2012
Format: Paperback
For some reason, people think that to use Linux you need to understand the scary, scary command line. That might have been true 15 years ago, but not today. In fact, I know a number of Linux users who have never and will never type a command. But for others, a knowledge of the command line is essential. Or, at least, useful. And if you need to learn the Linux command line from the ground up, this book can help you.

It walks you through what the shell is, how to enter commands, and how to end a terminal session. From there, you learn how to navigate and explore the file system. In explaining those commands, the author also offers some good explanations of the structure of the Linux filesystem and of absolute and relative paths. I can't tell you how many people I know who still mix those up ...

Once you've got that under your belt, the author shows you how to manipulate file, understand the environment, and doles out a number of useful command line tips and tricks that make using it easier. And it's all done in a fairly lively and easy-to-understand way packed with plenty of examples.

The book isn't perfect. There were a few things that I glossed over or that fell flat for me -- like the section explaining how to determine the type of command that you're using. On top of that, I found the book to be a bit long. It weighs in at 482 pages. I like things a bit shorter and more concise. You might find the section on writing shell scripts -- which takes up almost a third of the book -- useful. I felt it was a both a bit long and a bit rushed. The section felt like it had been tacked on. I think it would have worked better as a separate book.

Overall, though, The Linux Command Line does a good job of taking someone new to the subject from being unfamiliar with the command line to a level of mastery. Or, at least, familiarity.
11 commentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
5 of 5 people found the following review helpful
on May 8, 2014
Format: Kindle Edition
William E. Shotts, Jr.’s The Linux Command Line is a book that attempts to give new users a thorough grounding in the peculiar bestiary of the Linux command line itself. Other books I’ve looked at attempt to speak to two audiences, novices looking for an introduction as well as the power user looking to pick up a few new tricks. Shotts’ book is focused squarely on beginners, and attempts to give them a solid overview of the way to do things on the command line, as well as how to learn more. More than this, Shotts’ book attests, I think, to a kind of conviction that the command line is in many ways the right way to do things. As he says, “a good command line interface is a marvelously expressive way of communicating with a computer in much the same way the written word is for human beings.” (xxvi)

Shotts’ book is a kind of instruction manual for the command line, meant to be worked through sequentially. That is to say, the book is written for people, perhaps, who actually do sit down and read the instruction manual before trying to make use of a piece of technology. There’s something peculiar about a book that sincerely believes the user will read through 432 pages of information before jumping in, but there’s something endearing about its earnestness as well.

The chapters are short, most confined to the discussion of a few commands. The chapters are a bit brief, frankly, and only give the reader a taste of Linux command line wizardry to be found in other books. On the one hand, what’s there is good. I liked his discussion of locate and find, for example, and he’s good at giving the reader enough depth to understand what’s going on under the hood without oversimplification. (It’s nice, for example, that he gives an early discussion of quoting, expansion, and keyboard shortcuts in chapter 7 and 8.) I can also imagine that the brevity of the chapters might provide a gentle introduction for someone who’s just getting acclimated to the world of Linux. That said, I think that the greatest flaw of the book is that its organization is not, in fact, ideal for users fresh from a different OS: Shotts saves too many the great Linux commands until late in the book– grep is essentially buried back in Chapter 19– while also delaying the discussion of features new users are going to expect from their OS. The discussion of locate and find doesn’t come until Chapter 17, for example.

Finally, and though this is a nit, I think the book could have used a bit more reference to Perl. This is especially true because the book’s stated purpose is to give “a broad overview of ‘living’ on the Linux command line,” and not merely an introduction to a particular shell. Perl is one of the most powerful ways to extend Linux beyond what you can do with existing command line programs, and it would have been nice for the book to give a sense of that– even if all it did were to direct readers to the llama.

In sum, then, this book may not be the Linux gospel to press upon novices, but it is still a very solid and useful book for someone starting out. This may be perfect, however, for those who scrupulously read instruction manuals and are interested in learning Linux.

(Full disclosure: I received a free copy of this book from O'Reilly as a part of their Reader Review program.)
22 commentsWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
     
 
Customers who viewed this also viewed
How Linux Works: What Every Superuser Should Know
How Linux Works: What Every Superuser Should Know by Brian Ward (Paperback - November 21, 2014)
$26.33

Linux Pocket Guide, 2nd Edition
Linux Pocket Guide, 2nd Edition by Daniel J. Barrett (Paperback - March 30, 2012)
$12.33

Linux Command Line and Shell Scripting Bible
Linux Command Line and Shell Scripting Bible by Christine Bresnahan (Paperback - January 20, 2015)
$35.26
 
     

Send us feedback

How can we make Amazon Customer Reviews better for you?
Let us know here.

Your Recently Viewed Items and Featured Recommendations 
 

After viewing product detail pages, look here to find an easy way to navigate back to pages you are interested in.