views:

1799

answers:

15

Are there any good books for a relatively new but not totally new *nix user to get a bit more in depth knowledge (so no "Linux for dummies")? For the most part, I'm not looking for something to read through from start to finish. Rather, I'd rather have something that I can pick up and read in chunks when I need to know how to do something or whenever I have one of those "how do I do that again?" moments. Some areas that I'd like to see are:

  • command line administration
  • bash scripting
  • programming (although I'd like something that isn't just relevant for C programmers)

I'd like this to be as platform-independent as possible (meaning it has info that's relevant for any linux distro as well as BSD, Solaris, OS X, etc), but the unix systems that I use the most are OS X and Debian/Ubuntu. So if I would benefit the most from having a more platform-dependent book, those are the platforms to target.

If I can get all this in one book, great, but I'd rather have a bit more in-depth material than coverage of everything. So if there are any books that cover just one of these areas, post it. Hell, post it even if it's not relevant to any of those areas and you think it's something that a person in my position should know about.

+10  A: 

The Art of Unix programming is a book that I've found helpful in the past, in spite of being a bit slanted against other non-unix platforms.

Jason Baker
+14  A: 

I have found Unix Power Tools to be one of the best resources for me. It may not have a tutorial in it, but it is a great reference.

Hortitude
I'm not necessarily looking for a tutorial anyway. :) I'd like something that's better as a reference tool.
Jason Baker
+1 - cribbed this for my post.
ConcernedOfTunbridgeWells
+8  A: 

The O'Reilly books have excellent *nix coverage. I have these:

Learning the bash Shell
* Covers several basic *nix command line tools as well as more advanced shell scripting techniques.

Learning the vi and Vim Editors
* Priceless. Gave me the ability to very quickly edit or create shell scripts, configuration files, Python scripts from the shell.

postfuturist
+5  A: 
Bill the Lizard
+1 - cribbed this for my post.
ConcernedOfTunbridgeWells
+23  A: 

I've wiki'd this post - could those with sufficient rep add in items to it.

System administration, general usage books

Programming:

Specific tools (e.g. Sendmail)

Various of the books from O'Reilly and other publishers cover specific topics. Some of the key ones are:

Some of these books have been in print for quite a while and are still relevant. Consequently they also often available secondhand at much less than list price. Amazon marketplace is a good place to look for such items. It's quite a good way to do a shotgun approach to topics like this for not much money.

As an example, in New Zealand technical books are usurously expensive due to a weak kiwi peso (as the $NZ is affectionately known in expat circles) and a tortuously long supply chain. You could spend 20% of a week's after-tax pay for a starting graduate on a single book. When I was living there just out of university I used this type of market a lot, often buying books for 1/4 of their list price - including the cost of shipping to New Zealand. If you're not living in a location with tier-1 incomes I recommend this.

E-Books and on-line resources (thanks to israkir for reminding me):

  • The Linux Documentation project (www.tldp.org), has many specific topic guides known as HowTos that also often concern third party OSS tools and will be relevant to other Unix variants. It also has a series of FAQ's and guides.

  • Unix Guru's Universe is a collection of unix resources with a somewhat more old-school flavour.

  • Google. There are many, many unix and linux resources on the web. Search strings like unix commands or learn unix will turn up any amount of online resources.

  • Safari. This is a subscription service, but you can search the texts of quite a large number of books. I can recommend this as I've used it. They also do site licences for corporate customers.

Some of the philosophy of Unix:

ConcernedOfTunbridgeWells
+5  A: 

Jason,

Unix Programming Environment by Kernigham and Pike will give you solid foundations on all things Unix and should cover most of your questions regarding shell command line scripting etc.

The Armadillo book by O'Reilly will add the administration angle. It has served me well!

Good luck!

+4  A: 

I can suggest the bunch of books here:

http://www.linux.org/docs/online_books.html

good luck;)

israkir
+1  A: 

Big agreement for Essential System Adminstration and Unix Power Tools.

Also, whichever editor you prefer, vim or emacs, learn it back & forth. If you like vim, then get Steve Oualline's vim book.

Andy Lester
+3  A: 

The aforementioned Unix Power Tools is a must. Other classics are sed&awk and Mastering Regular Expressions. I also like some books from the O'Reilly "Cookbook" series:

Federico Ramponi
+3  A: 

The Advanced Bash-Scripting Guide is the only book that really allows the reader to grok bash scripting. You need that ability to fully understand how to start/stop daemons and to automate a lot of tasks.

Gianluca Della Vedova
+1  A: 
why didnt my image post? http://img56.imageshack.us/img56/6668/0596005288500jx2.gif
Depends what you're doing. I've just got a fairly simple home network and I set up BIND to do internal name resolution. I've also got an email system dating back to UUCP days where I've been using Postfix since about 2000, smail from 1995-1999 and UUPC from 1991-1995.
ConcernedOfTunbridgeWells
NXC - thanks. Quick question - why not use /etc/hosts ?
Legacy systems - I have unix mailbox file archives going back to the 1990s and had a dial-up connection until 2002 or so. The network has a local MTA and DNS cache, although with a broadband connection these days you could probably just use the ones at the ISP.
ConcernedOfTunbridgeWells
A: 

With regards to Ubuntu and Linux in general, a good book:

Aaron
+1  A: 

The AWK Programming Language

Not only introduces to the versatile tool that awk is, but also gives an insight about the Unix based philosophy and some awk 'design-patterns'.

x-way
A: 

Stephen Kochan's "Unix Shell Programming" and "Exploring the Unix System"

mpez0
A: 
  • sed & awk Dougherty and robbins
  • Mastering regular expression Jeffrey Friedl
  • Linux in a nutshell to look things up, although most of the info is also in manpages
  • Vim by Steve Oualline
Navi