Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

The First Three Books Every Linux User Should Read 133

lessthan0 writes "Anyone proficient with Linux had to climb the steep learning curve. Part of getting over the top for me was reading a hundred different Linux and Unix related books. From that list, three books stand out as the most useful and influential. I can't promise easy sledding; it will take some work, but mastering this material will demystify Linux and make you appreciate it more."
This discussion has been archived. No new comments can be posted.

The First Three Books Every Linux User Should Read

Comments Filter:
  • by yagu ( 721525 ) * <{yayagu} {at} {gmail.com}> on Monday May 22, 2006 @11:41AM (#15380880) Journal

    Disclaimer: I have no financial or other motive of profit in recommending this book.

    The recommended books are good choices, but the underlying principles guiding Linux originate from Unix. The first sea change influential Unix book for me was The Unix Programming Environment [amazon.com] by Brian Kernighan and Rob Pike.

    This book is a must read, and a must have. Unix at my office was a mere curiousity, an available "time share" (not kidding, that's what people at my office called it) that noone used (we were mostly a COBOL/mainframe shop).

    I tinkered with this new and interesting world and immediately saw something unique(s). And, Kernighan/Pike lit the fire under me. By page 50 or so they've described Unix philosophy dead-on (they should know), and I couldn't start creating in the Unix environment fast enough.

    The first thing I did was create an on-line self updating corporate documentation system (the old one was paper and microfiche), and I never looked back.

    Add this book to your collection, read it! You won't be sorry.

  • ...Though there are no illustrations...

    ...There is excellent coverage of the GNU utilities, a guide to TCP/IP and networking, Apache, DNS, NFS, email, databases and more...

    ...The one glaring omission is the Common Unix Printing System (CUPS)...

    ...Learning the BASH Shell...

    ...You need to understand shell scripting to understand the system...

    ...Learning BASH will make you more productive and at ease managing a system 1000 kilometers away...

    ... If you were not lucky enough to work with Ken Thompson, and didn't cut your teeth on Unix, the system may seem chaotic...
     


    The author's conclusion?

    Anyone can learn Linux

    Me: "Here Grandma. These three books will make you an expert sysadmin so that you can use your own Linux box!"

    Grandma: "What kind of idiot are you, boy? Your old grandma just needs something that works, not something that takes an associates degree from CalTech to use! You kids these days have it so easy that you think you can waste time on learning everything there is to know about a computer before you use it! Why, in my day we were too busy walking uphill both ways through a snowstorm to waste time with these neutered Enuich computers!"

    Me: "But Grandma! Bash is so easy..."

    Grandma: "BASH?! You want BASH?"

    * Grandma whacks me over the head with her cane.

    Grandma: "There's your BASH, boy! Now hurry up and get Grandma a computer she can use!"

    Me: (sheepishly) "Like a Mac?"

    Grandma "Yes, like a Mac, you dolt!" *mutters something about genes from the wrong side of the family*

    (Disclaimer: The above is well-intentioned humor. Do not attempt to argue with it or grandma will bash you over the head with her cane.) :-P
    • Re:Poor Grandma (Score:2, Interesting)

      by oahazmatt ( 868057 )
      I do believe that an introductory book ("Linux: Where's my damn Soliatire" ) that taught transitions between the Linux and Microsoft platform would be something every Linux user should read, as not all Linux users want to be sysadmins, but an alternative.
      • by Anonymous Coward
        Men, don't you know that everyone is born with the ability to use Windows and no-one has to learn it? Or did you ever have to help someone installing or using Windows? Of course not; it's so easy that it administers itself!
        • Men, don't you know that everyone is born with the ability to use Windows and no-one has to learn it? Or did you ever have to help someone installing or using Windows? Of course not; it's so easy that it administers itself!

          So what you're saying AC, is that not having to learn how to do something is better than learning? As for everyone being born how to use it, wrong. Plenty of people have grown accostom to Windows, but everyone learned how to use it, no matter how ridiculous the learning curve.

          I trul
      • I do believe that an introductory book ("Linux: Where's my damn Soliatire" ) that taught transitions between the Linux and Microsoft platform would be something every Linux user should read, as not all Linux users want to be sysadmins, but an alternative.

        Potential OpenBSD users should read the book "OpenBSD: Why 'man 6 hack' is useful".

      • If you are managing your system, you are a sysadmin. Even home users running Windows PCs are sysadmins, only more of them are of the clueless variety.

        If you have the administrative password (root/administrator/system operator/whatever else), you _are_ a system administrator.

        If you have the authority to be able to fuck things up, you have the responsibility not to. There is no choice.

        The corollary to 'With great power comes great responsibility' is 'If you don't want the responsibility, give up the power[1]'
    • Re:Poor Grandma (Score:5, Insightful)

      by Otter ( 3800 ) on Monday May 22, 2006 @11:57AM (#15381075) Journal
      My favorite was what the article refers to as "the somewhat contrived recursive title" of Rute User's Tutorial and Exposition. Yeah, that's definitely part of Unix that needs to be demystified -- the notion that godawful recursive names are hilarious and just keep getting hilariouser with each new atrocity.
    • Nevertheless, the old LIGS (Linux Installation and Getting Started) guide is still (although now decidedly dated) a useful guide. The emphasis here is on Linux rather than Unix. There are differences, and in this day and age, probably the majority of Unix (read BSD) heads approach it only after some exposure to Linux.
    • But if Grandma decides she wants to become an expert sysadmin on the Mac she still can use these three books!
    • Your old grandma just needs something that works, not something that takes an associates degree from CalTech to use!

      I just wanted to note that Cal Tech only offers an associates degree (AA) in Cosmetology, not in Computer Science. I have a friend that studied robot manicures there.
    • The grandma that worked with the first computers out there. Who thinks vi is just for kids that can't hack ed. As for vim well, she is a grandma and she loves all her grandchilderen even the "special" ones.

      The simple fact is that computers ain't new anymore. Think of it like this would you dare suggest that a young adult of today is a better car operator then someone who has managed a jeep all the way through WW2?

      Reminds me of a family trip ages ago to england with the ferry. Cousin was being all protecti

      • I find it interesting how you feel that a Grandma without advanced computer knowledge == a "stupid" Grandma. The Grandma I (humorously) portrayed is a smart enough woman to know what she needs. She doesn't want to putz around learning things she doesn't need to know. Apparently, you think that makes her "stupid". IMHO, that makes her as smart as a couple who get a family sedan to haul their kids and groceries around in instead of the Ferrari that won't meet their needs AT ALL. i.e. Very smart and intelligen
      • I seen kids stumped by older versions of windows because they only know XP and lack any kind of skill in just being able to figure things out.

        For the record, that phenomenon is ageless. A long time ago, I only observed it in older folks, probably because people my age who used computers were hobbyists. These days, since everybody uses computers for widely varying purposes, I observe it in young and old alike. I was surprised when I first started observing it in young people...

    • Fix the Mac to boot up so that Terminal auto opens, and she'll see it is still all about BASH :_)
  • by eldavojohn ( 898314 ) * <eldavojohn@noSpAM.gmail.com> on Monday May 22, 2006 @11:44AM (#15380916) Journal
    I agree with these book selections though I think that it's wrong to say "these are must-haves for the Linux/Unix user" if they cost money. That's because Linux should be free, you shouldn't 'need' to drop $200 to be proficient in it. You need to invest time but not money.

    Perhaps there [oreilly.com] are [sourceforge.net] free [linuxnewbieguide.org] resources [freetechbooks.com] out there.
    • by Hacksaw ( 3678 ) on Monday May 22, 2006 @12:01PM (#15381119) Homepage Journal
      Let's think about this, shall we?

      Let's say I am a software author. I wrote some program to scratch my own itch. Now I need to write a manual for it.

      How well am I going to do at this? It's going to be terse and assumptive, because I'm already an expert on my program.

      So lets say a friend becomes and semi expert on the program, and expands the manual some. Hey, we're good, right?

      No, because the manual still sucks, because neither of them are technical writers, and don't possess the skills.

      And a good writer might be interested in writing a better manual for it, but what do they have to gain if they aren't passionate about the program, if they aren't allowed to publish it for money?

      You can't buy groceries with accolades.

      I mean, good on the author and his friend for realesing the code in to the wild, and helping out everyone, but they got the program they wanted. It's free because it costs them nothing to make it free.

      The good writer has to spend time doing the writing, as opposed to earning money some other way.

      This is why so much OSS has crappy manuals, and why companies like RedHat and Novell are so important: they pay the writers.
      • and to expand upon this point:

        You can't buy friends with salad!

        God, I'm sorry.

      • And a good programmer might be willing to review your code and increase the quality if they were paid. A good support person might help you assist your user base, and a good artist might help you come up with a mascot.

        What makes you think the programmers effort is *less* deserving of the authors time? It's amazing that you would suggest it cost them nothing to make it. Time is arguably the most valuable thing we have to give.

        If they write a crappy manual and open it up to corrections while responding to fee
        • I didn't say it cost them nothing to make it, I said it cost them nothing to give it away. Their value is derived by the fact that they made a tool to solve their particular problem. They are paid in the problem being solved.

          If they write a crappy manual and open it up to corrections while responding to feedback and rewarding those that give, I suspect the quality of the manual would increase like the software did by getting a larger user base.

          This makes the assumption that those offering corrections have

      • Let's say I am a software author. I wrote some program to scratch my own itch. Now I need to write a manual for it.
        ...
        This is why so much OSS has crappy manuals, and why companies like RedHat and Novell are so important: they pay the writers.

        Those programmers that care about quality writes good documentation as well. The OpenBSD developers write very good, complete and relevant documentation. So companies like Redhat and Novell are important for Linux userland because the documentation is of such low

      • So let's say I'm no programmer, a fair-to-middlin' writer, but a fan-freakin-tastic editor & proof-reader (*and* humble as all get out). Where do I find the clearinghouse where I can select a project who wants help with their docs?
      • Let's say I am a software author. I wrote some program to scratch my own itch. Now I need to write a manual for it.

        Doing it that way is like writing your unit tests after you've got a working program. Unit tests and good documentation help you write the program in the first place. They should not be an afterthought.

        Oh, and being able to communicate decently via email is about all the writing skill you need to write decent documentation. If you can't do either, I'm amazed you can program at all, and you'l
        • When I say documentation, I mean the end user manuals. The reference manuals (as opposed to the tutorial) don't need to be highly user friendly to help a great deal in producing a good program to solve a complex problem.

    • Thanks for posting that link to the FreeTechBooks site - I was unaware that it existed and there's a lot of great stuff there.
    • by Matt Perry ( 793115 ) <perry DOT matt54 AT yahoo DOT com> on Monday May 22, 2006 @01:32PM (#15381912)
      I agree with these book selections though I think that it's wrong to say "these are must-haves for the Linux/Unix user" if they cost money.
      The first one is available online for free for personal use [freshmeat.net]. It only costs money if you want the dead trees version.
  • Wait.. (Score:2, Funny)

    by BenHoltz ( 909754 )
    No doubt that google will index these some day soon... ;)
  • And then... (Score:3, Funny)

    by Hacksaw ( 3678 ) on Monday May 22, 2006 @11:46AM (#15380942) Homepage Journal
    After you have read these books, start with section 1 of the manual pages, read through to section 8 or 9 if it exists.

    Then start with the Gnome and KDE help pages, and the info pages, and swear and swear and swear at the rotten uncooperative bastards that can't agree on one documentation format, so I have to go searching all over the place to figure out how to use anything.

    Oh, yeah, and then buy everything O'Reilly publishes, and sprinkle in most of Addison Wesley.
  • I may not like or trust books, but it's too late to recommend me the first three books I should read!
  • by goofyheadedpunk ( 807517 ) <goofyheadedpunk@@@gmail...com> on Monday May 22, 2006 @11:53AM (#15381013)
    but there's really no substitute for learning a new operating system like being 16, being in a special school for gifted kids that completely stiffles any socializing after 8PM, being without a lady friend, having the drive to learn new things, and having the intense desire to show that really annoying kid two floors up that he's got shit for brains.

    Everyone has their own method, I suppose.
  • My picks (Score:3, Interesting)

    by SWroclawski ( 95770 ) <serge@wrocLIONlawski.org minus cat> on Monday May 22, 2006 @11:53AM (#15381019) Homepage
    My take is that the initial reads should be practical, then slowly they should move into theory.

    Therefore my first pick is the book that got me started:

    Teach Yourself Unix in 24 Hours (first edition)

    It's a very pragmatic guide to learning the Unix command shell and system layout.

    My second pick is Think Unix by Jon Lasser, which covers using Unix systems but also gives a bit of background and teaches the lesson on how to learn.

    Lastly, to go into the pure theory, Eric Raymond's The Art of Unix Programming is a wonderful guide on explaining *why* things are the way they are in Unix (and by extension, GNU/Linux).
    • Teach Yourself Unix in 24 Hours (first edition)

      Is that the one that was written by the author of elm, and so spent a significant proportion of that time discussing elm? And UUCP.

      It was good back in the day, but I'd say that a lot of what it discusses is out of date by now. I've heard good things about Teach Yourself Linux, though.
  • My list (Score:4, Funny)

    by SpaghettiPattern ( 609814 ) on Monday May 22, 2006 @11:54AM (#15381040)
    Rede these:
    • The Brothers Karamazov by Fyodor Dostoevsky.
    • Anna Karenina by Leo Tolstoy
    • The UNIX Programming Environment by Brian W. Kernighan and Rob Pike

    and you'll never be lost on any Unix-like system. Trust me.
  • Huh...? (Score:3, Insightful)

    by __aaclcg7560 ( 824291 ) on Monday May 22, 2006 @11:55AM (#15381047)
    The "man" command doesn't work anymore? I know "man woman" definitely does not work. :P
    • The "man" command doesn't work anymore? I know "man woman" definitely does not work. :P

      Try "man man" first, to understand how it works.
    • Found on think geek.... $> Man woman $> Segmentation Fault (core dumped)
    • Re:Huh...? (Score:2, Funny)

      by Khyron42 ( 519298 )
      A past lover went by the nickname "Cat." She had me install an alternate man page for cat that a previous boyfriend had written, including such tidbits as both of the command-line options chocolate and sex were required for cat to function normally. Also mentioned that any problems with cat were the fault of the user.

      Sadly, there was no -q option, nor were there any debug features. I had to remove the program after a few months.
    • I used to set up all my systems so when you tried to "man $foo" it would print "Real men need no directions on $foo!" You had to type "woman $foo" to get the manpage. It got really annoying after a while. For some reason, people thought it was funny when I said, "woman gunzip". They were probably the same people that buy those "Girlz and Gunz" videos.
  • by Anonymous Coward
    Here's my recommendation: Linux For Non-Geeks [nostarch.com]
  • "Anyone proficient with Linux had to climb the steep learning curve. Part of getting over the top for me was reading a hundred different Linux and Unix related books."

    I remember my start in the *nix world (circa 1993) was a half-page typed command reference. One of the commands was "man". Another got me onto the new-fangled newgroups where every other question I needed answered was. It might just be me, but most of the Linux gurus I know picked up the environment a bit quicker than a "couple weeks"...w

  • by Limburgher ( 523006 ) on Monday May 22, 2006 @12:02PM (#15381127) Homepage Journal
    Mine were Cars and Trucks and Things that Go, The Tawny Scrwany Lion, and The Sesame Street Bedtime Storybook. Learning the Bash Shell seems a bit high-level for young children. . .
    • by Anonymous Coward
      "Today's list of files is brought to you by the letters 'l', 's', and the key ''enter!""
  • by shrapnull ( 780217 ) * on Monday May 22, 2006 @12:05PM (#15381154)
    I understand that TFA is about learning Linux, but I would hesitate to encourage people to join up as a simple hobbyist without doing some homework about the free movement as well.
    The Cathedral and the Bazaar

    In the Beginning, There Was the Command Line

    Open Sources: Voices from the Open Source Revolution

    Once you understand what you've become a part of, you're more likely to contribute in some way.

    While not every user has to be a zealot, and not everyone is willing or capable to participate, the opportunity to become a part of something that will last longer then yourself is something people should be aware of in using GNU/Linux and GPL'd software.

    I don't think it's enough to just use it because it's free. You need to have some sort of understanding as to why it's important, how standards empower the consumer, and that free information is the only way to go to keep our technological advances moving forward instead of getting stuck in a freeze-frame induced by patent lawyers and litigation that explicitly deters education (DMCA).

    Knowing the goals of Open Source has often made members more forgiving of its present-day shortcomings, because the notions of freedom to use, freedom to change, freedom to learn and freedom to share outweigh some little compatibility nuances that exist today, but continue to improve through the contribution of the community at large.
  • In a thread on this topic a couple of years ago, I recommended Think Unix by John Lasser (ISBN: 078972376X) as the best intro to *nix. Although countless forests have been chopped down to produce yet more manuals, I still think it is the absolute best place to start.

    My lament is that we seem to be having conversations in circles. Next week, I'm sure some other talking head will declare 2007 to be the year of Linux on the desktop, then in a month the designers will blog about how usability lags behind commer
  • man man
  • Every Linux User? (Score:4, Insightful)

    by ElleyKitten ( 715519 ) <kittensunrise AT gmail DOT com> on Monday May 22, 2006 @12:08PM (#15381180) Journal
    Not every Linux user needs to become a Unix guru to use Linux. For me, reading a bit in the Ubuntu wiki took care of what I needed to use Linux on a daily basis. For my less tech-savv friend all it took was a Mepis cd. It was a live/install combo, and I told her to mess around with it until I had the chance to install it for her. By the time I had the chance, she already had it installed and she was happily using OpenOffice/Firefox/Gaim (which is all she ever used Windows for). I taught her how to change themes and how to install programs, and now she has more puzzle games then she'll ever need and even stupid desktop pets.

    Really, I fail to see how every Linux user needs to read complex sysadmin books and learn everything about the command line.
    • Really, I fail to see how every Linux user needs to read complex sysadmin books and learn everything about the command line.


      Good point.

      As a syadmin, I live and die in the command line, and there's enough cool shit out there on the command line that every now and then I'll just sit back and sigh happily....

      Been doing this so long, it's hard for me to think of Linux as user apps (though I use them).

      sloth jr
  • Essential System Administration, O'Reilly.

    The K&R.

    and maybe the Camel book, Programming Perl, O'Reilly.

    • Essential System Administration, O'Reilly.

      I agree about the armadillo book it is really the only general purpose book to get. The other 2 should be decided on based on what you want to do. For example, if you want to setup a samba server then get TCP/IP administration (the crab book) and the O'reilly Samba book.

      The common denominator with Linux/UNIX books is O'reilly, you can't go wrong with their stuff.
      • The common denominator with Linux/UNIX books is O'reilly, you can't go wrong with their stuff.

        Sure you can [oreilly.com]. As a general principle, I agree with you. But not everything they've published is high quality.

  • Okay, though books are a good source of information, I've had better luck with my friends/family upgrading from Windows/Mac to Linux by using the following list of periodicals.

    Tux Magazine - A Free e-zine geared towards the Linux Newbie. http://www.tuxmagazine.com/ This comes out approximately once per month in PDF format and is VERY good. It is published by Nicholas Petreley, who is well-regarded in the *nix world. He apparently has a book of his own out now - http://www.oreilly.com/catalog/linuxdeskhks/
  • by weierstrass ( 669421 ) on Monday May 22, 2006 @12:14PM (#15381213) Homepage Journal
    man, google and irc.
  • Think Unix by Jon Lasser.
    http://isbn.nu/078972376X [isbn.nu]
  • The FIRST three books?

    I surely hope by the time someone has become a Linux user, they've read way more than three books. I started with Dr. Seuss.
  • Comment removed based on user account deletion
    • GNU/Linux is a mix of old concepts and new, a quest for purism in an environment hobbled by legacy technologies and ideas. That, in many ways, the clash of the old, impure, and the new pure and perfect, is what Songs is about, and it's a real mind opener.

      And might I also suggest the works of Marx and Hegel.

      This may seem an odd choice, but the fact is that Free Software, and GNU in particular, constitution new territory that requires revolutionary ideas to push forward, and resistance from the usual con

  • The learning curve has a top? As in, once you hit that point you start to get DUMBER? I had no idea.
  • You don't need to read books to learn linux. On the contrary, I'd say any book is going to be irrelevant to 2006, your distro, what you want to accomplish.

    How I got here: man, online documentation, and helpful community forums. Don't play down that last one. If you don't have a linux geek friend or brother to call on, forums will save you time and time again. Thanks y'all.
    • The very hungry caterpillar
    • The cat in the hat
    • Green eggs and ham


    Err... You did say the first three books, right?
  • if you plot knowledge gained (vertical axis) against time taken (horizontal axis), then a steep learning curve is the best to have as you learn a lot quickly...
    • The learning curve is not "knowledge gained (vertical axis) against time taken (horizontal axis)"

      It's knowledge required (vertical axis) vs. usability (horizontal axis).

      Usability is defined by the software, be it gameplay or the ability to produce a useful spreadsheet. So, a "steep learning curve" means that much learning is required to get to the point of using the foo.
    • if you plot knowledge gained (vertical axis) against time taken (horizontal axis), then a steep learning curve is the best to have as you learn a lot quickly...

      A shallow learning curve usually means that there wasn't that much to learn in the first place, or that the environment allows you to more easily defer learning it until you really need it. People prefer not to have to learn so much, so a shallow learning curve is preferable.
  • Examples:

    1. Perl/Python/Ruby: They attempt to provide every feature under the sun, with no pretense of doing one thing well.

    2. Firefox: Okay, you could say the one thing it does well is "browsing the web," but that's far and away from clasic examples of how the UNIX philosophy is supposed to work. Firefox is not a collection of 20 small programs.

    3. Inkscape, Sketch-Up, Blender...any big app, really.
  • If you are able to make your way thru James Joyce's Ulysse and more importantly understand what you just read, you will be able to understand Linux/Unix.
  • I think for me they were Goodnight Moon, Hop on Pop, and Cat in the Hat, but whatever floats your boat...
  • Did lessthan0 write the article, or just the article summary? It's in the first person, so it appears that he wrote it, but I can't tell.

    If he didn't write the article, then it looks like he's taking credit for it.

    The Linux books that I found most helpful when learning Linux were... oh wait, this Ubuntu live CD is still sitting on my desk. I'll have to get around to that sometime...

    - RG>
  • Not sure a book is the best way to go... most linux boxen have enough on there that you could bootstrap yourself into linux mastery without too much difficulty. Start with these commands:
    cd
    ls
    mv
    rm
    chmod
    chgrp
    man

    Learn about the command line switches via man. When you think you've got a handle on that, add these:
    bash
    find
    grep
    sort
    uniq
    vi|emacs|nano (not touching this one editorial-wise - use whatever editor rocks your boat, I've got my favorites, you'll have yours)

    Then top it off with one or more of the following
  • Hacking Linux Exposed
    Linux in a Nutshell
    The Lion's guide
  • > Anyone proficient with Linux had to climb the steep learning curve.

    Even ignoring the bad metaphor (a "steep" learning curve is one where learning occurs quickly), this is simply not true. Anyone who (like me) was already familiar with Unix before encountering Linux--in my case, before Linux was created--will find learning Linux a fairly trivial task. Or, to be more precise, learning GNU. (My proficiency with the kernel and its obscure interfaces is quite low, but my proficiency with GNU and the laye
    • by flajann ( 658201 )
      I would say that I became "proficient" with Windows NT -- digging deep into the layers of the API and it Kernel structure, even though I primarily developed applications and middleware for it.

      Getting into Linux has been largely a joy for me, if not for any other reason that I don't have to feed Microsoft $2000 a year in its MSDN program just to have a clue. All of that info is free on the Internet, just a Google or two away.

      I enjoy building the kernel, and do so regulary to put in the features I want (

  • Three nice books, but I'm still in favor of starting everyone out with Learning the UNIX Operating System [oreilly.com]. Anyone can do it in a few hours and it will save days of frustration down the road. It's probably the only one that gives you just about all the information you can absorb in one go. And with no fat or carbs added.
  • by TSAG ( 167728 )
    Was The Command Line, by Neal Stephenson.
  • Linux for Dummies. The rest I learned from man pages and the PDFs that came bundled with me early distros.

    LK

"Ninety percent of baseball is half mental." -- Yogi Berra

Working...