The First Three Books Every Linux User Should Read
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."
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 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...
:-P
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.)
Javascript + Nintendo DSi = DSiCade
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 are free resources out there.
My work here is dung.
No doubt that google will index these some day soon... ;)
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.
All the technology in the world won't hide your lack of vision, talent, or understanding.
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.
What if the entire Universe were a chrooted environment with everything symlinked from the host?
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).
and you'll never be lost on any Unix-like system. Trust me.
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
The "man" command doesn't work anymore? I know "man woman" definitely does not work. :P
Here's my recommendation: Linux For Non-Geeks
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. . .
You are not the customer.
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.
If you're half as beautiful naked, you'd be 4 times as beautiful with twice as many clothes on.
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.
"What is Internet Explorer 7? Are you saying we can't access the normal internet?" - I love tech support. Really.
You're right, Windows XP is for dummies.
man, google and irc.
my password really is 'stinkypants'
May I suggest 'man hier'? It sure was helpful for all C:\ folks (including me) that bumped into the Unix way of arranging things.
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 protective and telling grandpa that it was perfectly safe and all. Neatly forgetting that grandpa had actually been on convoys in WW2. A channel ferry crossing wasn't exactly going to be a trill ride was it now?
Long before you had Windows, long before DOS secretaties have had to deal with computers and type letters on systems their bosses couldn't figure out.
In many ways we are unlearning some of these lessons. Just as kids of today don't have the programming exposure that kids who grew up with home computers like the C64 had, kids today are no longer learning how to deal with programs that don't hold you hand all the way.
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.
So be carefull when you question your grandma's capabilities. You might find you don't compare very well.
Oh and a final note. Stupid grandma's have stupid grandchilderen. Now I ask you again, what kind of grandma do you got?
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
Was The Command Line, by Neal Stephenson.
"If you're not having fun right now, you're wasting your time."
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 (and eliminate the ones I don't want). Can't do that with Windows -- you buy the whole package or nothing at all.
I would say that today I am proficient at Linux, though I have a ways to go before I can claim true proficiency at the Kernel level. But Linux is already so powerful there is little need to have to do things at a low level unless I am writing a driver for something new.
For the end user, one does not really become proficient with the OS, but with the applications. The GUI is there to deliberately hide the details of the OS-level interface, to add a macro-metaphor on top of a deeper metaphor.
Ultimately, if you can get done what you need to get done, you are proficient at that level. I can get everything done in Linux what I used to do in Windows, and with much greater efficiency and lower cost. In Windows I feel like a peon, whereas in Linux I feel like the "Star Child" in 2001. And that, my friends, says it all.
Ruby Neural Evolution of Augmenting Topologies