Enter your mobile number below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Kindle Price: £25.00

Save £5.99 (19%)

includes VAT*
* Unlike print books, digital books are subject to VAT.

These promotions will be applied to this item:

Some promotions may be combined; others are not eligible to be combined with other offers. For details, please see the Terms & Conditions associated with these promotions.

Deliver to your Kindle or other device

Deliver to your Kindle or other device

A Practical Guide to Linux Commands, Editors, and Shell Programming by [Sobell, Mark G.]
Kindle App Ad

A Practical Guide to Linux Commands, Editors, and Shell Programming Kindle Edition

5.0 out of 5 stars 2 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"

Length: 1200 pages Enhanced Typesetting: Enabled Page Flip: Enabled
  • Due to its large file size, this book may take longer to download

Kindle Books from 99p
Load up your Kindle library before your next holiday -- browse over 500 Kindle Books on sale from 99p until 31 August, 2016. Shop now

Product Description


Praise for Previous Editions of A Practical Guide to Linux® Commands, Editors, and Shell Programming


“This book is a very useful tool for anyone who wants to ‘look under the hood’ so to speak, and really start putting the power of Linux to work. What I find particularly frustrating about man pages is that they never include examples. Sobell, on the other hand, outlines very clearly what the command does and then gives several common, easy-to-understand examples that make it a breeze to start shell programming on one’s own. As with Sobell’s other works, this is simple, straight-forward, and easy to read. It’s a great book and will stay on the shelf at easy arm’s reach for a long time.”

–Ray Bartlett, Travel Writer


“Overall I found this book to be quite excellent, and it has earned a spot on the very front of my bookshelf. It covers the real ‘guts’ of Linux– the command line and its utilities–and does so very well. Its strongest points are the outstanding use of examples, and the Command Reference section. Highly recommended for Linux users of all skill levels. Well done to Mark Sobell and Prentice Hall for this outstanding book!”

–Dan Clough, Electronics Engineer and Slackware Linux User


“Totally unlike most Linux books, this book avoids discussing everything via GUI and jumps right into making the power of the command line your friend.”

–Bjorn Tipling, Software Engineer, ask.com


“This book is the best distro-agnostic, foundational Linux reference I’ve ever seen, out of dozens of Linux-related books I’ve read. Finding this book was a real stroke of luck. If you want to really understand how to get things done at the command line, where the power and flexibility of free UNIX-like OSes really live, this book is among the best tools you’ll find toward that end.”

–Chad Perrin, Writer, TechRepublic


“I moved to Linux from Windows XP a couple of years ago, and after some distro hopping settled on Linux Mint. At age 69 I thought I might be biting off more than I could chew, but thanks to much reading and the help of a local LUG I am now quite at home with Linux at the GUI level. “Now I want to learn more about the CLI and a few months ago bought your book: A Practical Guide to Linux® Commands, Editors, and Shell Programming, Second Edition.


“For me, this book is proving to be the foundation upon which my understanding of the CLI is being built. As a comparative ‘newbie’ to the Linux world, I find your book a wonderful, easy-to-follow guide that I highly recommend to other Linux users.”

–John Nawell, CQLUG (Central Queensland Linux User Group)


“I have the second edition of A Practical Guide to Linux® Commands, Editors, and Shell Programming and am a big fan. I used it while working as a Cisco support engineer. I plan to get the third edition as soon as it is released. We will be doing a ton of command-line work on literally 1000 boxes (IMS core nodes). I feel you have already given me a lot of tools with the second edition. I want to get your new book as soon as possible. The way you write works very well for my style of learning.”

–Robert Lingenfelter, Support Engineer, VoIP/IMS


Praise for Other Books by Mark G. Sobell


“Since I’m in an educational environment, I found the content of Sobell’s book to be right on target and very helpful for anyone managing Linux in the enterprise. His style of writing is very clear. He builds up to the chapter exercises, which I find to be relevant to real-world scenarios a user or admin would encounter. An IT/IS student would find this book a valuable complement to their education. The vast amount of information is extremely well balanced and Sobell manages to present the content without complicated asides and meandering prose. This is a ‘must have’ for anyone managing Linux systems in a networked environment or anyone running a Linux server. I would also highly recommend it to an experienced computer user who is moving to the Linux platform.”

–Mary Norbury, IT Director, Barbara Davis Center, University of Colorado at Denver, from a review posted on slashdot.org


“I had the chance to use your UNIX books when I when was in college years ago at Cal Poly, San Luis Obispo, CA. I have to say that your books are among the best! They’re quality books that teach the theoretical aspects and applications of the operating system.”

–Benton Chan, IS Engineer


“The book has more than lived up to my expectations from the many reviews I read, even though it targets FC2. I have found something very rare with your book: It doesn’t read like the standard technical text, it reads more like a story. It’s a pleasure to read and hard to put down. Did I say that?! :-)”

–David Hopkins, Business Process Architect


“Thanks for your work and for the book you wrote. There are really few books that can help people to become more efficient administrators of different workstations. We hope (in Russia) that you will continue bringing us a new level of understanding of Linux/UNIX systems.”

–Anton Petukhov


“Mark Sobell has written a book as approachable as it is authoritative.”

–Jeffrey Bianchine, Advocate, Author, Journalist


“Excellent reference book, well suited for the sysadmin of a Linux cluster, or the owner of a PC contemplating installing a recent stable Linux. Don’t be put off by the daunting heft of the book. Sobell has striven to be as inclusive as possible, in trying to anticipate your system administration needs.”

–Wes Boudville, Inventor


A Practical Guide to Red Hat® Linux® is a brilliant book. Thank you, Mark Sobell.”

–C. Pozrikidis, University of California at San Diego


“This book presents the best overview of the Linux operating system that I have found. . . . [It] should be very helpful and understandable no matter what the reader’s background: traditional UNIX user, new Linux devotee, or even Windows user. Each topic is presented in a clear, complete fashion and very few assumptions are made about what the reader knows. . . . The book is extremely useful as a reference, as it contains a 70-page glossary of terms and is very well indexed. It is organized in such a way that the reader can focus on simple tasks without having to wade through more advanced topics until they are ready.”

–Cam Marshall, Marshall Information Service LLC, Member of Front Range UNIX Users Group [FRUUG], Boulder, Colorado


“Conclusively, this is THE book to get if you are a new Linux user and you just got into RH/Fedora world. There’s no other book that discusses so many different topics and in such depth.”

–Eugenia Loli-Queru, Editor in Chief, OSNews.com


“I currently own one of your books, A Practical Guide to Linux®. I believe this book is one of the most comprehensive and, as the title says, practical guides to Linux I have ever read. I consider myself a novice and I come back to this book over and over again.”

–Albert J. Nguyen


“Thank you for writing a book to help me get away from Windows XP and to never touch Windows Vista. The book is great; I am learning a lot of new concepts and commands. Linux is definitely getting easier to use.”

–James Moritz


“I am so impressed by how Mark Sobell can approach a complex topic in such an understandable manner. His command examples are especially useful in providing a novice (or even an advanced) administrator with a cookbook on how to accomplish real-world tasks on Linux. He is truly an inspired technical writer!”

–George Vish II, Senior Education Consultant, Hewlett-Packard Company


“Overall, I think it’s a great, comprehensive Ubuntu book that’ll be a valuable resource for people of all technical levels.”

–John Dong, Ubuntu Forum Council Member, Backports Team Leader


“The JumpStart sections really offer a quick way to get things up and running, allowing you to dig into the details of the book later.”

–Scott Mann, Aztek Networks


“I would so love to be able to use this book to teach a class about not just Ubuntu or Linux but about computers in general. It is thorough and well written with good illustrations that explain important concepts for computer usage.”

–Nathan Eckenrode, New York Local Community Team


“Ubuntu is gaining popularity at the rate alcohol did during Prohibition, and it’s great to see a well-known author write a book on the latest and greatest version. Not only does it contain Ubuntu-specific information, but it also touches on general computer-related topics, which will help the average computer user to better understand what’s going on in the background. Great work, Mark!”

–Daniel R. Arfsten, Pro/ENGINEER Drafter/Designer


“I read a lot of Linux technical information every day, but I’m rarely impressed by tech books. I usually prefer online information sources instead. Mark Sobell’s books are a notable exception. They’re clearly written, technically accurate, comprehensive, and actually enjoyable to read.”

–Matthew Miller, Senior Systems Analyst/Administrator, BU Linux Project, Boston University Office of Information Technology


“This is well-written, clear, comprehensive information for the Linux user of any type, whether trying Ubuntu on for the first time and wanting to know a little about it, or using the book as a very good reference when doing something more complicated like setting up a server. This book’s value goes well beyond its purchase price and it’ll make a great addition to the Linux section of your bookshelf.”

–Linc Fessenden, Host of The LinuxLink TechShow, tllts.org


“The author has done a very good job at clarifying such a detail-oriented operating system. I have extensive Unix and Windows experience and this text does an excellent job at bridging the gaps between Linux, Windows, and Unix. I highly recommend this book to both ‘newbs’ and experienced users. Great job!”

–Mark Polczynski, Information Technology Consultant


“Your text, A Practical Guide to Ubuntu Linux®, Third Edition, is a well constructed, informative, superbly written text. You deserve an award for outstanding talent; unfortunately my name is not Pulitzer.”

–Harrison Donnelly, Physician


“When I first started working with Linux just a short ten years or so ago, it was a little more difficult than now to get going. . . . Now, someone new to the community has a vast array of resources available on the web, or if they are inclined to begin with Ubuntu, they can literally find almost every single thing they will need in the single volume of Mark Sobell’s A Practical Guide to Ubuntu Linux®.


“I’m sure this sounds a bit like hyperbole. Everything a person would need to know? Obviously not everything, but this book, weighing in at just under 1200 pages, covers so much so thoroughly that there won’t be much left out. From install to admin, networking, security, shell scripting, package management, and a host of other topics, it is all there. GUI and command-line tools are covered. There is not really any wasted space or fluff, just a huge amount of information. There are screen shots when appropriate but they do not take up an inordinate amount of space. This book is information-dense.”

–JR Peck, Editor, GeekBook.org


“I have been wanting to make the jump to Linux but did not have the guts to do so–until I saw your familiarly titled A Practical Guide to Red Hat® Linux® at the bookstore. I picked up a copy and am eagerly looking forward to regaining my freedom.”

–Carmine Stoffo, Machine and Process Designer to pharmaceutical industry


“I am currently reading A Practical Guide to Red Hat® Linux® and am finally understanding the true power of the command line. I am new to Linux and your book is a treasure.”

–Juan Gonzalez


“Overall, A Practical Guide to Ubuntu Linux® by Mark G. Sobell provides all of the information a beginner to intermediate user of Linux would need to be productive. The inclusion of the Live DVD of the Gutsy Gibbon release of Ubuntu makes it easy for the user to test-drive Linux without affecting his installed OS. I have no doubts that you will consider this book money well spent.”

–Ray Lodato, Slashdot contributor, www.slashdot.org

About the Author

Mark G. Sobell is President of Sobell Associates Inc., a consulting firm that specializes in UNIX/Linux training, support, and custom software development. He has more than thirty years of experience working with UNIX and Linux systems and is the author of many best-selling books, including A Practical Guide to Fedora™ and Red Hat® Enterprise Linux®, Sixth Edition, and A Practical Guide to Ubuntu Linux®, Third Edition, both from Prentice Hall.

Product details

  • Format: Kindle Edition
  • File Size: 86972 KB
  • Print Length: 1200 pages
  • Simultaneous Device Usage: Up to 5 simultaneous devices, per publisher limits
  • Publisher: Prentice Hall; 3 edition (14 Sept. 2012)
  • Sold by: Amazon Media EU S.à r.l.
  • Language: English
  • Text-to-Speech: Enabled
  • X-Ray:
  • Word Wise: Not Enabled
  • Enhanced Typesetting: Enabled
  • Average Customer Review: 5.0 out of 5 stars 2 customer reviews
  • Amazon Bestsellers Rank: #547,134 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images or tell us about a lower price?

Customer Reviews

5.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See both customer reviews
Share your thoughts with other customers

Top Customer Reviews

Format: Paperback Verified Purchase
I took lots of learnings from this book. Command promt is an essential tool for linux users. Personally, I like Mark Sobell's book. It is easy to unerstand them and makes light introduction to heavy topics.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
Have looded throuygh this book and it is very good. I have not had to time to use it in depth yet though. I am however sure it will cover all I need to know.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Helpful Customer Reviews on Amazon.com (beta)

Amazon.com: HASH(0x9bd27b10) out of 5 stars 66 reviews
26 of 29 people found the following review helpful
HASH(0x9e6636a8) out of 5 stars A Practical Guide to Linux Commands, Editors, and Shell Programming (3rd Edition) 8 Nov. 2012
By L. Fesenden - Published on Amazon.com
Format: Paperback
Despite the fact that I am actually quoted in this book in the "Praise foe other books by Mark G. Sobell" section, it really is a good book! Scratch that, it is a book that I am going to make *sure* makes the rounds through my office.

Here's the trick. There are a million books and websites and such that have some general instruction on generalized shell scripting or particular commands or even topical stuffs. By and large, they are incomplete and usually feature a bunch of theoretical examples like "suppose you want to draw a box with three nested boxes inside..." Those kinds of things really aren't much help to the average guy and that is where this book differs.

This book is chocked full of great command explanations, practical topics and real life examples. Sobell has gone out of his way to present this information not only in an interesting fashion, but a usable one as well, not to mention being very Linux distribution agnostic in the process. For example, he covers both the apt-get and yum utilities. There are even some OS X notes as well.

This is a vast and enormous subject to cover and Sobell does his usual excellent job with it. He starts you out with a little background, moves you into using editors and commands and different shells and even into some interpreted languages, all while guiding you through enough pertinent information to not only perk you interest a little on the subject, but give you a functional, working understanding as well. Great job and this is certainly another book I will be holding on to - at least until the next edition comes out
30 of 34 people found the following review helpful
HASH(0x9e6636fc) out of 5 stars Still One of the Best Unix and Linux References Available 29 Mar. 2013
By Chad Perrin - Published on Amazon.com
Format: Paperback
DISCLAIMER/DISCLOSURE: The publisher furnished me with a complimentary paperback copy of the third edition, as well as access to ebook versions. I have received no compensation for this review.

My review largely pertains to both the hardcopy/paperback version and the EPUB ebook version. I will point out where the ebook and hardcopy versions differ in this review. I do not own a Kindle or use any other MOBI format ebook reader, so your mileage may vary when reading the Kindle version of this book.


I have now read three editions of this book, and this third edition upholds the standard as the best distribution-agnostic Linux reference I have ever seen, out of dozens of Linux-related books I have read. It is in fact more than a reference, as most chapters serve as in-depth tutorials as well, such that starting at the beginning of a chapter that covers the subject matter you need to learn at the level of understanding you need, and reading to the end of the chapter, provides a solid foundation in that subject.

This is a book about practical skills with practical tools. It largely eschews the approach of many Linux books that describe the most immediate and obvious interfaces to accomplishing trivial tasks in a default install of a specific Linux distribution. Instead, it favors covering the core userland tools that are likely to be present in any Linux install, default or highly customized, addressing things like using shell builtins and pipelines to best advantage, applying the most universal (and sometimes least well-known) command line utilities to the problems for which they were designed, the basics of administration scripting, the most powerful text-processing editors available on Unix-like systems (specifically Vim, Emacs, and sed), and so on. These are not tools that will go away or be wildly modified beyond recognition in a later release. They are stable, highly functional tools, and you can rely on the skills you learn for using them not only across versions of your favorite distribution or multiple Linux distributions; you can also rely on them, generally speaking, when using other Unix-like operating systems such as FreeBSD or Solaris.

While the particular focus on GNU tools is regrettable, it is understandable given the prevalence of the GNU coreutils across Linux distributions, and when running up against minor differences between GNU utilities and alternatives (such as BSD utilities) a quick visit to the relevant manpage should clear up any problems quickly. Where manpages can be cryptic as a source of knowledge for someone newly learning to use a given utility, this book provides a gentler, but faster, introduction to common use cases, so that the user is ready to make use of the reference value of manpages more fully.

I've hinted at the usefulness of the book for more than just Linux here, already, and have made more explicit mention of it in reviews of earlier editions. I am in fact a FreeBSD user more than a Linux user (and favor OpenBSD for router/firewall systems), but I still find A Practical Guide to Linux Commands, Editors, and Shell Programming a valuable reference even when working in a FreeBSD environment. The second and third editions add to this specific coverage of the ways Apple MacOS X differs from popular Linux distributions, enhancing its cross-platform value (though I personally would appreciate coverage of BSD Unix systems more).


Some specific observations deserve attention:

The third edition marks the first time I have tried reading the book straight through from beginning to end, skimming some areas a bit but carefully reading most of it. This reveals the limitations of the book's organization as well as its strengths. It is clearly not meant to be read directly, linearly from cover to cover. There is a lot of repetition in this approach to using the book. That repetition lends to the strength of the book as a series of stand-alone tutorials, however, and helps ensure that use as a reference does not force the reader to flip through pages to different sections of the book to get the full picture when looking up a particular item. Use the book as it is designed to be used, and it will serve you admirably; read it as a linear text with a beginning, middle, and end, and you may find it dry and repetitive.

In areas outside its core competence, the book falls a bit short of ideal. Take care to recognize such topic areas, and take the advice and lessons offered in those areas with a grain of salt. The core competence areas of the book, of course, are those mentioned in the title (commands, editors, and shells) or in chapter and appendix headings (basic Perl, filesystem, and regular expressions). Areas outside of the book's core competency where I have noticed problems include its attempts to describe licensing, explain the history of Linux and other open source software systems, and refer to conventions of less Unix-like systems such as calling a desktop environment "Desktop manager". It also manages to give bad security advice in a password sidebar, explicitly telling users that there are times where it is better to use a single password for a number of different authentication contexts (e.g. multiple websites) as opposed to offering actually good advice like using a password manager.

Some information has been allowed to get out of date in newer editions. One example is that of debuggers, where the book refers to "debuggers, including ups and gdb". The ups debugger saw a beta release in 2003 and seems to have been abandoned since then. The book meanwhile fails to mention LLDB, the debugger built for LLVM/Clang (the major competition for GCC in the open source C and C++ development world, and widely regarded as the superior C compiler). LLDB was announced two years before the third edition's publication date. Of course, in a book with the size and information density of A Practical Guide to Linux Commands, Editors, and Shell Programming, it is not surprising that some details like this might be overlooked, but it is still worth noting that such oversights exist.

Just about every book in the world has grammatical problems -- many of them the kinds of problems that very few people realize are problems at all. This one is no exception, though they rarely descend to the level of confusing the reader. One example that does potentially confuse a reader is the sentence in the explanation of the w command that reads "The third column shows the system that a remote user is logged in from," where the construction of that sentence could lead a reader to think it was saying something equivalent to "The fact that a remote user is logged in is shown to the system by the third column." (The intended meaning was "The third column indicates the system from which a remote user is logged in.") Thankfully, such misconstructions are rare and easily sorted out on a second reading.

Vim is an incredibly powerful text processing tool, and a single effect can often be achieved any number of ways. As such, any attempt to present Vim functionality to new users will almost certainly end up doing some things in ways that can be criticized. This book is no exception to this, despite the fact it does a very good job of helping the user learn how to make use of Vim functionality. One example is the fact it completely overlooks "c" commands in Vim, describing how to achieve the same effects in a less efficient manner, as well as overlooking the use of the "e" movement command with "d" commands for word deletion.

Some minor inaccuracies suggest the author's preferences. For instance: "With emacs, however, you can have many work buffers and switch among them without having to write the buffer out and read it back in." The same applies to Vim, so the use of the word "however" here is misleading.


The book appears to be straying from its singular purpose, which I find disappointing, as particularly demonstrated by the addition of a chapter about MySQL:

There is an entire chapter about MySQL. In a book titled "A Practical Guide to Linux Commands, Editors, and Shell Programming" I have to wonder what this chapter is doing in the book. It is a handy reference, I suppose, but it is in the wrong book. If any databases were to be addressed here, better choices for the subject matter of this book would have been bdb, dbm, and SQLite, as any of the three (least of all SQLite, but that would still be better than MySQL) is much closer to being relevant to the core subject matter of this book. As with the Unix philosophy -- much ignored and violated in the Linux developer community lately, but still important -- the book should have stuck to its pattern in earlier editions of adhering a bit more to the "do one thing well" aesthetic. What this book has always done well is focus on the fundamentals of managing and using a Unix-like system, covering it with a fair level of comprehensiveness and depth but still sticking to the important core value of command line Linux system use and administration. With this expansion into the realm of database administration, it departs from that worthy purpose. Nothing appears to have been cut from the book to make room for the MySQL chapter, and in fact the page count continues to increase from edition to edition (despite the fact that thinner paper results in a thinner book), but diffusing the focus of the book with coverage of topics notably outside its obvious intent and core competency does one of the best books I have encountered for use as a Unix-like operating system user's reference a distinct disservice. The space could have been better spent adding coverage for BSD Unix systems, introducing the reader to console-based alternatives to GUI applications, and incorporating information about newer and better designed alternatives to old tools such as LLVM/Clang (as a GCC alternative) and tmux (as a GNU Screen alternative).

It even gets the description of MySQL, as "the world's most popular open-source relational database management system", wrong. That distinction easily goes to SQLite, which has managed to work its way into so many systems without many people realizing it is there that it beggars the imagination. Even the highly popular Firefox browser makes use of SQLite.


Some EPUB format observations should be noted:

In the font used for sidebars in the EPUB, backticks and single-quotes (i.e. apostrophes) look essentially identical, which can contribute to reader confusion. Knowing this in advance should, I hope, help readers ensure they do not suffer much frustration in making use of the ebook text.

Page number references within the EPUB seem to be entirely inaccurate, at least most of the time. For instance, a reference to "File Locks" on page 171 is a link to a "File Locks" section in the book that appears on page 213 of the EPUB, according to the ebook pagination.

The way tables are rendered in the EPUB, the text is small enough that screen resolution is likely to fail to produce readable text on many ereaders. It certainly did on mine.

The sidebars are so narrow in the EPUB as to appear absurd, a thin column of text between wide swaths of blank space rendering it odd -- and somewhat difficult -- to read at normal speed. Code samples are even worse, not because they are more narrow, but because the haphazard linewrap consequences make it even more exceedingly difficult to read them than it is to read the normal textual sidebars.

In some cases within the EPUB, the caption for a table is on one EPUB page, and the table itself does not start until the following EPUB page.

Thanks to sidebar placement issues in the translation from print layout to EPUB, sometimes the relationships between different pieces of text end up "wrong". For instance, in a discussion of shell PATH variables, a parenthetical remark reads "(but see the preceding security tip)". Unfortunately, the security tip in question is on the following page -- not a preceding page.

The EPUB is missing a lot of information that is available in the hardcopy book. For instance, two references to "nullglob" on page 353 lead to page 392 of the EPUB, which contains the note about the "shopt" option setting builtin from page 351 of the hardcopy book. The "nullglob" entry one is intended to find from those references is missing from the EPUB, along with about three pages of other bash options in a short reference section in the hardcopy book.

The font used for inline code samples in the EPUB is pretty bad. It is not fixed width, and causes problems like two minus tokens in quick succession in a postdecrement operator to appear as one long dash character, like an em dash.


Some advice in the book runs afoul of personal peeves, such as the programming language tip about tcsh:

A tip sidebar in the book says "Tip: Do not use tcsh as a programming language". It goes on to give the advice that tcsh is not as good a "programming language" as bash, and that if you are only going to learn one shell "programming language", you should learn bash. While I agree that one should not use tcsh as a programming language, I also believe one should not use bash as a programming language, and that anyone who is really and truly only going to learn how to use one shell for admin scripting, that person should actually learn sh (POSIX or Bourne shell) instead. Note that this is not because sh is a good shell. For interactive command shell use, it is in fact a fairly miserable excuse for a shell these days, having been superseded by superior interactive command shells such as tcsh and mksh. Some find shells such as zsh even better than those, though zsh is too heavyweight for my taste. As an interactive shell, however, bash gives you all the heavy, ponderous, unwieldy resource-consuming operation of zsh while falling well short of zsh capabilities. The reason sh is the best choice if you are only going to learn one shell, however, is that it should be used for simple shell scripting because of portability concerns (every Unixy system has some kind of sh implementation on it, but many lack csh, tcsh, zsh, bash, or ksh implementations, for instance). Furthermore, no shell should be used for less trivial scripting such as would be suitable to languages like Perl, Python, and Ruby (two of which are covered in their own chapters of the book), due to the fact that stretching the capabilities of even the most sophisticated interactive command shell implementations with the extended feature set of something like zsh will only result in largely unmaintainable disaster areas in the source of your misbegotten "applications". Stick to a programming language actually designed first and foremost for programming when you want to do anything nontrivial (and even a lot of things that are trivial), and stick to sh for glorified batch execution scripts. The rule of thumb should be "If you need something more than sh, you need something more than any command shell syntax." It should absolutely not be "Use bash instead of tcsh because bash has more badly designed features than tcsh."


Final Analysis:

Despite some minor warts, this is still overall one of the best books for users of Unix-like systems in general that I have ever encountered. In fact, in many ways it is consistently getting better. A massive tome at a thousand or so pages in any edition, each edition has actually gotten longer with the addition of yet more information, and even as the page count has increased the paper quality and narrowness of binding have improved as well. I recommend it without hesitation for use as both a reference and a collection of valuable tutorials for fundamental Unix-like system usage skills.

Given the problems I have noted in the EPUB version, I strongly recommend getting the hardcopy version when choosing a version to buy. By the time you read this review, however, some of the ebook issues may have been corrected.
21 of 23 people found the following review helpful
HASH(0x9bbddbc4) out of 5 stars Detailed and Complete, Ultimate Linux Guru Material 4 Nov. 2012
By Edmon Begoli - Published on Amazon.com
Format: Paperback
With the 3rd edition of this book, "A Practical Guide to Linux Commands, Editors and Shell Programming" only got better.
I say this with a reasonable bias and favoritism towards Linux, its command line interface which I consider some of the most versatile
and best engineering accomplishments and towards this book, which has been my favorite since the first edition.

The first edition of the book, was the manual, reference and tutorial all in one that I have been looking for a long time. I have been looking for a book that takes me into the command line world of Linux but in a methodical way describing all the little options, tips, tricks but also the principles that make Linux shell so powerful.

Book begins with a brief history of Linux and very informative, relevant overview of the system architecture.
It proceeds with the in depth, hands on walkthrogugh the environment, shells, and command line utilities.
There is a very useful and every-day practical exercise at the end of the each chapter.

Book continues with in depth chapters on Linux filesystem, the shell, editors (emacs and vi) and the programming environment including (g)awk and sed. This third version of the book now covers the OSX's command line interface which is very nice.
The best, and for me,the ultimate buy-in factor for the third edition, is the brand new chapter covering to reasonable depth Python.
There is also a full, new chapter on MySQL. (That Sobell added a chapter on Postgres, I would give him six stars :-) )

Book concludes with excellend command reference section (300 pages) and Appendix on regular expressions (superb),
getting help with Linux and keeping the system up to date (using rpm, yum apt-get and bit torrent).

This is one of those rare books that in one domain offers a complete package to those who want to became specialists ( Linux CLI, system administration).
Although Linux is popular, Linux CLI and system administration skills are still relatively rare (and well paid).
I recommend this books to all who want to get not better, but great at this aspect of Linux. If nothing else, it will boost your geek bragging rights.
Five stars!
9 of 9 people found the following review helpful
HASH(0x9e663984) out of 5 stars I'm at the command line, what do I do now? 10 Dec. 2012
By Science Geek - Published on Amazon.com
Format: Paperback Verified Purchase
This book is like the course you wish you could take at college but they don't offer because they are making you learn theoretical things like what a turing machine is, and other things you will likely never use.

This is a great practicel, no-nonsense introduction to Linux for those who are at the command line and want to know what to do next. How do you navigate the file system? What do those weird files like 'bin' and 'dev' and 'boot' mean? How can you change your command line to look cool? How do you write scripts to carry out commands in the command line? What is a pipeline? How the heck does this vi editor work? What is it to 'grep' a file? And on and on. All with practical examples to help you get started fast.

The only reason I give it four, rather than five, stars is because the coverage is a bit shotgun, rather than systematic. On page 45 he will mention something that you won't learn about until page 223. I would rather have a more linear, methodical introduction. However, I think that might well be impossible in a book of this scope. You have to have some nonlinearities in the structure, I just think this has a few too many.
7 of 8 people found the following review helpful
HASH(0x9e663924) out of 5 stars Excellent reference guide 7 Dec. 2012
By ayates83 - Published on Amazon.com
Format: Paperback
Upon first getting this book I wasn't sure what to expect. I've read a number of books and online how-to guides dealing with BASH scripting. This book is well organized and presents the material in a way that is easily understood. It was surprising as well to see that it covered OSX which I also use extensively in my day-to-day work. Most scripting guides that I have read just cover a specific Linux distribution.

I think this book would be great for those just beginning to work with Linux as well. I would definitely recommend this book as a supplement to my students as they are learning how to tackle the sometimes daunting task of learning how to write effective scripts for the Linux classes that I teach. The fact that a number of languages were briefly covered makes this book an excellent tool. BASH and python are the most common languages that I see used and that are taught in my class. It's an added bonus to have a section covering perl scripts as well.

The portion of the book I found especially helpful is the command reference section and the appendix on regular expressions. Not being particularly strong in regexes myself this has become a very valuable quick reference guide when i need to brush up on my syntax.

The only criticism that I would have for the book is the section on MySQL. It just seems out of place to me in a system scripting/programming book to me and should rather be included in a book geared more specifically towards systems administration.

Overall, I give this book 4/5 stars.

Adam Yates
Were these reviews helpful? Let us know
click to open popover