What do you recommend for a semi-advanced book on C in linux. My first book was "Beginning C Second Edition" by Ivor Horton, and the guys at www.wrox.com. They don't really have a follow up to the book, and I was wanting to get into handling sockets and the sort. Thanks for the help
sockets and linux with semi-advanced don't fit together. The book you want is Linux Socket Programming by Example you can also push for a little bit more at amazon and also get Advanced Linux Programming
Linux programming bible. This book covers many things including sockets, fifo's, pipes, semaphores, how to compile a shared library and similar 'loose ends'. It doesn't cover threads though, but you should be able to understand that from the man pages and google.
A non-linux book that I would also recomend is mastering algorithms in C. This book covers data structures like linked lists, hash tables and binary trees, as well as a few simple algorithms such as LZ77 compression and DES and RSA encryption.
>> and I was wanting to get into handling sockets and the sort.
I would recommend "Unix Network Programming" by W. Richard Stevens.
(note that it is also for any Unix-like systems, not only Linux)