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."
but first, buy Kernighan/Pike (Score:5, Informative)
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.
Re:but first, buy Kernighan/Pike (Score:2)
There's was the bible for learning Unix and still is as far as I can tell. That's how I taught myself Unix in college; my copy is now almost twenty years old but it's still relevant and helps me with the brain farts I still get while working in Unix and Linux.
Re:but first, buy Kernighan/Pike (Score:2)
Poor Grandma (Score:3, Funny)
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.)
Re:Poor Grandma (Score:2, Interesting)
Re:Poor Grandma (Score:1, Funny)
Re:Poor Grandma (Score:1)
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
Re:Poor Grandma (Score:2)
Potential OpenBSD users should read the book "OpenBSD: Why 'man 6 hack' is useful".
Re:Poor Grandma (Score:2)
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:2)
Re:Poor Grandma (Score:5, Insightful)
Re:Poor Grandma (Score:1)
Scott Adams should have put an end to that (Score:1)
Nevertheless... (Score:1)
Re:Poor Grandma (Score:2)
Re:Poor Grandma (Score:2)
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.
Eheh, and now for the other grandma (Score:3, Insightful)
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
Re:Eheh, and now for the other grandma (Score:2)
Re:Eheh, and now for the other grandma (Score:2)
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...
Re:Poor Grandma (Score:2)
Keep Running Linux Free (Score:5, Informative)
Perhaps there [oreilly.com] are [sourceforge.net] free [linuxnewbieguide.org] resources [freetechbooks.com] out there.
Re:Keep Running Linux Free (Score:5, Insightful)
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.
Re: you can't buy groceries with accolades (Score:2)
You can't buy friends with salad!
God, I'm sorry.
Re:Keep Running Linux Free (Score:2)
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
Re:Keep Running Linux Free (Score:3, Insightful)
This makes the assumption that those offering corrections have
Re:Keep Running Linux Free (Score:2)
Re:Keep Running Linux Free (Score:3, Interesting)
...
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
Re:Keep Running Linux Free (Score:2)
Re:Keep Running Linux Free (Score:2)
Ignore the ones who want help and force yourself on those who need help (and probably don't realise it) whether they want it or not. :-)
Re:Keep Running Linux Free (Score:2)
Re:Keep Running Linux Free (Score:2)
And shouldn't that be "...a project *which* wants help with their docs?" :-)
Re:Keep Running Linux Free (Score:2)
*wipes spittle from lips*
*hugs kindred spirit*
Re:Keep Running Linux Free (Score:2)
Ugh, No.
If you regard the project as a group of people, it's "who want help with their docs". If you regard the project as a neuter entity, it'd be "which wants help with its docs."
And I suspect regarding the project as people is the right thing to do, especially with regard to wanting help.
Re:Keep Running Linux Free (Score:2)
Re:Keep Running Linux Free (Score:2)
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
Re:Keep Running Linux Free (Score:2)
Re:Keep Running Linux Free (Score:1)
Re:Keep Running Linux Free (Score:5, Informative)
Wait.. (Score:2, Funny)
And then... (Score:3, Funny)
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.
Re:And then... (Score:2)
Take Your Pick (Score:2)
The First Three Books Every Linux User Should Read (Score:2)
Those books are nice... (Score:5, Funny)
Everyone has their own method, I suppose.
My picks (Score:3, Interesting)
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).
Re:My picks (Score:2)
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)
and you'll never be lost on any Unix-like system. Trust me.
Huh...? (Score:3, Insightful)
man man (Score:2)
Try "man man" first, to understand how it works.
Re:Huh...? (Score:1)
Re:Huh...? (Score:2, Funny)
Sadly, there was no -q option, nor were there any debug features. I had to remove the program after a few months.
Re:Huh...? (Score:2)
Why 3 books? Why not just 1? (Score:2, Informative)
There are books about Unix and Linux? (Score:1)
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
First three? (Score:3, Funny)
Re:First three? (Score:1, Funny)
Politics of the Movement (Score:5, Insightful)
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.
Re:Politics of the Movement (Score:1)
Re:Politics of the Movement (Score:3, Insightful)
Re:Politics of the Movement (Score:2)
Using *Nix and giving a rats ass about the bullshit political agenda are two vastly seperate things.
Suggestion (and a lament) (Score:2)
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
Users? (Score:2)
Re: (Score:2, Insightful)
Every Linux User? (Score:4, Insightful)
Really, I fail to see how every Linux user needs to read complex sysadmin books and learn everything about the command line.
Re:Every Linux User? (Score:2)
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
Armadillo book. (Score:1)
The K&R.
and maybe the Camel book, Programming Perl, O'Reilly.
Re:Armadillo book. (Score:2)
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.
Re:Armadillo book. (Score:2)
Sure you can [oreilly.com]. As a general principle, I agree with you. But not everything they've published is high quality.
Books? Bah! Magazines I say! (Score:2)
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/
the only three electronic resources you need (Score:5, Insightful)
Think Unix by Jon Lasser (Score:2)
http://isbn.nu/078972376X [isbn.nu]
The FIRST three books? (Score:2)
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.
Re: (Score:2)
Re:My Three (Score:2)
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
Getting "over the top" of the learning curve? (Score:2)
You don't need books. (Score:1)
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.
Here's my suggestions (Score:1)
Err... You did say the first three books, right?
Stupid learning curve analogy rears up again... (Score:2)
Re:Stupid learning curve analogy rears up again... (Score:2)
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.
Re:Stupid learning curve analogy rears up again... (Score:2)
bollocks... here's a proper definition [msn.com] that even wintrolls cannot dispute...
so a "steep" learning curve is one where knowledge is mastered quickly..
Re:Stupid learning curve analogy rears up again... (Score:2)
Originally, the learning curve was unit cost vs. total units produced -- see wikipedia.
But I think that the 'steep learning curve' meme that we see so much is based upon the incorrect concept that I believed (until now).
Re:Stupid learning curve analogy rears up again... (Score:2)
Re:Stupid learning curve analogy rears up again... (Score:2)
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.
"UNIX philosophy" is outdated (Score:2)
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.
I recommend Ulysse (Score:1)
Re:I recommend Ulysse (Score:1)
Ulysses, man. Ulysses.
The FIRST? (Score:2)
Article summary author? (Score:1)
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>
bootstrapping your linux skills (Score:2)
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
My first 3 (Score:2)
Linux in a Nutshell
The Lion's guide
Re:My first 3 (Score:2)
http://www.lemis.com/grog/Documentation/Lions/boo
overgeneralization (Score:2)
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
Re:overgeneralization (Score:3, Interesting)
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 (
There is one book they should read before.. (Score:2)
In The Beginning . . . (Score:2, Informative)
I needed one realbook. (Score:2)
LK
Re:3 Books (Score:3, Funny)
Re:Myth - "Steep learning curve" (Score:2)
As another CLI fan, I can safely say "yes." Especially when "point&click" is more accurately described as "point&click&click back&click next submenu&click back&where is that fscking checkbox?!" whereas the cli is as easy as "grep etc
It's all in what you know. I'm a demon in a command line, but get me in front of gnome
Re:Myth - "Steep learning curve" (Score:2)
The best part about command lines, though, goes back to my GNOME example. If I do something from vim to a conf file and the program won't start, I can get back into the conf file to undo it. Not so much when one of the dead apps is the configuration editor.
Re:Myth - "Steep learning curve" (Score:2)
Again, "easy" is subjective at best.