LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Introductory Linux literature suggestions (https://www.linuxquestions.org/questions/slackware-14/introductory-linux-literature-suggestions-4175500113/)

J1tterBug 03-31-2014 07:55 PM

Introductory Linux literature suggestions
 
For a new slackware/linux/UN*X, what are some of the more popular Titles/authors for a solid UN*X knowledge foundation.

Lets say i was only allowed 3 books to get started using linux. What would they be?

hitest 03-31-2014 08:15 PM

Quote:

Originally Posted by J1tterBug (Post 5144426)
For a new slackware/linux/UN*X, what are some of the more popular Titles/authors for a solid UN*X knowledge foundation.

Lets say i was only allowed 3 books to get started using linux. What would they be?

I would read the Slackware Book. That is an excellent place to start. Also, check out The Slackware Documentation Project.

Slackware Book Project
Slackware Documentation Project

frankbell 03-31-2014 09:00 PM

The Slackbook and Garrels's Introduction to Linux (available in several formats a little way down this page) were the two books that helped me the most when I started with Linux and Slackware.

I still have copies on my bookshelf.

ReaperX7 03-31-2014 09:09 PM

Slackware Book... 'nuff said.

I would also suggest reading books on FreeBSD and Solaris as well.

hitest 03-31-2014 09:21 PM

Quote:

Originally Posted by ReaperX7 (Post 5144460)

I would also suggest reading books on FreeBSD and Solaris as well.

I have ordered a copy of Absolute OpenBSD 2nd Edition, it will be arriving soon. :)

justwantin 03-31-2014 10:56 PM

Linux In A Nutshell, I had a few others when I first started out and lent or gave them away. Mine's the 2nd edition, 1999, don't know if its still in print in newer a edition. I know there's man pages but I still reach for it now and again. I had The C Programming Language by Kernighan and Richie and that's gone walkabout, wish it hadn't.

lems 04-01-2014 12:49 AM

The Slackware book was mentioned, I'd recommend it, too. As ReaperX7 points out, the BSDs have good documentation.

A true classic is The Unix Programming Environment by Kernighan & Pike. For an introduction to the command-line, there is Introduction to the Command Line (there's also an electronic copy available).

Man pages are another great resource, though on a typical linux system, they'll usually refer you to GNU's info pages instead. I don't like info (but if you use it, you might want to install a better info reader like pinfo).

kooru 04-01-2014 01:41 AM

In addiction to what said above, I suggest this resource: tldp

Mark Pettit 04-01-2014 02:33 AM

To me, it's no good just learning Unix/linux in some sort of parrot fashion. Unix is a philosophy as well. And NO book covers that better than Eric Raymond's "The Art of Unix Programming" (http://www.catb.org/esr/writings/taoup/), which also includes a history of Unix and Linux. Understanding and accepting the principles in this book will go a long way to educate one. And maybe even more so for Slackers, who I believe stick closer to the core Unix philosophies than other distro users and developers. I can't believe for example that Raymond would approve of "systemd" because it really breaks EVERY rule in the book.

Bazzaah 04-01-2014 04:13 AM

http://rute.2038bug.com/index.html.gz

tronayne 04-01-2014 09:32 AM

Give some thought to the two roles of your Linux system: you are the system administrator and you are the user or software developer. Not quite the same thing, those roles.

For system administration, the Slackware book is essential reading; you'll learn what and how to configure things to make the system work for you.

For system users (who also happen to be administrators) you can't ignore shell programming. There are at least three shell "command and programming languages" in common use:
  • the Bourne Shell (developed by Stephen Bourne at Bell Laboratories in 1977),
  • the KornShell (developed by David Korn at Bell Labs in the early 1980s)
  • BASH (the Bourne Again Shell) developed by Brian Fox in the mid 1980s for the GNU Project incorporating features (but not code) of the Bourne shell, C-Shell and KornShell).
C-Shell (developed at Berkeley Software Distribution, BSD) has more-or-less fallen out of favor but there are still folk who work with it; I do not recommend learning C-Shell for other than curiosity.

KornShell and BASH are fully compatible with the Bourne Shell (you can write Bourne Shell grammar and syntax and it will work properly).

Because I began working with Unix systems in the 1980s, I learned Bourne Shell followed by KornShell. I was not exposed to BASH until much later -- sometime in the mid 1990s -- and just never took to it. When Linux came along (in my case Slackware then and always) and Slackware comes with KornShell I just continue to use it (with no problems); partly because I was working on Solaris boxes (which did not come with BASH, don't know about now) and I could easily port shell programs from Solaris to Slackware and vice-versa), I simply ignored BASH and continued on the path I knew.

Nothing wrong with BASH, nothing wrong with KornShell, it's all about choice.

If you're going to do any serious programming, you really want to learn C. Period. For that you want a copy of the bible:
  • Kernighan and Ritchie, The C Programming Language (2nd ed.).
It's a tutorial and reference.

Also, there are two books that I recommend to all beginning and even advanced C programmers.
  • Stephen G. Kochan, Programming in C (4th ed.) Developer's Library (2014)
  • Stephen G. Kochan and Patrick Wood, Topic in C (Revised Edition)
The first is a 2014 edition, the second is an oldie but goodie. Both are written clearly, full of working examples and you can't go wrong.

For Shell programming, you can't go wrong with
  • Kochan and Wood, Unix Shell Programming (3rd ed)
Kochan and Wood, both out of Bell Labs, are readable, clearly written and full of working examples. They're older -- but shell programming hasn't changed much, neither has C and you'll find them useful for learning and for reference. There are probably equivalent newer shell texts, sorry I don't know of any.

All are available from Amazon.com.

Additionally, if you're interested in other tools that make your life easier, you may want to consider
  • Alfred Aho, Brian Kernighan and Peter Weinberger, The AWK Programming Language
AWK is compact and useful for day-to-day tasks (even as components of production systems). It's worth knowing.

You learn the basics with a book on shell programming -- the editors, regular expressions, control, flow and the ins and outs of programming; well worth your time to do so. Linux is, for all practical purposes, Unix; the utilities and programs are similar enough that you can, with a little learning, step back and forth between, say, Solaris and Slackware without missing a beat. The hardware is different (Intel or AMD processors are nowhere near equivalent to, say, SPARC) but you typically don't deal with hardware all the much any more. Unix is the kernel, Linux is the kernel, all the rest is software that lets you deal with the kernel and get stuff done.

Best of luck.

Hope this helps some.

enorbet 04-01-2014 03:18 PM

This is a really good thread. Lot's of great recommendations. I'd like to 2nd SlackBook and Linux in a Nutshell. Nutshell is a great reference because it stays useful so long. Many years ago I bought two O'Reilly books the same day, Linux in a Nutshell and Running Linux. I haven't cracked Running in ages because it is so out of date. Nutshell, otoh, is still in regular use. Here's a Link and it is now in 6th Edition.

edwardm 04-01-2014 10:21 PM

I recommend: "Linux Command Line and Shell Scripting", "Your Unix the ultimate guide", "Linux Command line".

justwantin 04-02-2014 02:26 AM

Quote:

the Bourne Shell (developed by Stephen Bourne at Bell Laboratories in 1977
Here's a link to the original "An Introduction to the Unix Shell" (1978) written by Stephen Bourne: http://http://partmaps.org/era/unix/shell.html and for those who wish to delve even further, Volumes I, II and III, 7th edition of the "Unix Programmers Manual"(1979): ; http://cm.bell-labs.com/7thEdMan/bswv7.html

brianL 04-02-2014 04:38 AM

Habitual has a long list on his LQ blog.


All times are GMT -5. The time now is 03:42 AM.