Help on Reading UNIX Programming Books.

I've purchased few unix/linux programming books and also planning to buy couple of books in future. I've got the following books;

Advanced Unix Programming(2nd ed) -- M. Rochkind.

Advanced Programming on Unix Environment(3rd ed) -- Late Rick Stevens & Rago.

Unix Systems Programming - Concurrency and Threads -- Robbins & Robbins.

I'd, also like to buy Linux programming interface (Kerrisk) and Understanding Unix/Linux Progrmming.. (Moley), but, I can't afford to buy those two books now.

Plz tell me which books I should begin with and which one I should study next when I finish (or after gaining some experiences) the first book.

Thank you.

IMHO, books are a bad investment. You should try to come up with scripting project that you can work on. You can also look through the posts here for things that people are working on and either try to understand and verify other people answers or even improve on other people's answers. It's fine to read about programming, but at some point you need to go and do it. If there is a particular snippet of code that you are trying to write finding it in a book will take more time than googling it. Therefore it gets easier to see what you can find from google than to pull out a physical book that might or might not have a good example for what you are trying to accomplish. You may also just want to focus on Bash with perhaps some awk and sed thrown in.

I want to learn unix system programming with the api(s) for system calls and std libs of C. I feel uneasy reading e-books so I bought hard copies.
I'm learning shl scripting.
Thnx.

Hi.

I like books. I like the feel, and I like that I can write notes in them.

However, no one can advise you unless you say what your goals are. System programmer, designer, software craftsman, system administrator, etc.

Best wishes ... cheers, drl

system programming of course, but one has to start from the beginning.

Hi.

OK, assuming this is what you are aiming at:

-- Systems programming - Wikipedia

Then starting from the beginning:

-- The Art of Unix Programming
It is old, but is available on-line if you wish to see if it is worthwhile --
http://www.catb.org/esr/writings/taoup/html/

Still in stock at --
http://www.amazon.com/UNIX-Programming-Addison-Wesley-Professional-Computng/dp/0131429019/ref=sr\_1_1?ie=UTF8&qid=1461011072&sr=8-1&keywords=art\+of\+unix\+programming

Best wishes ... cheers, drl

Thanks. I've got the copy but it's more on programming philosophy.
I have to soil my hands by opening, reading, writing and closing
files with sys calls and using std. lib with the same functionality.
There are plenty of other jobs to do.

Hi.

When we moved from a mainframe environment to a UNIX(TM) environment, most of us used this by Kernighan and Pike:
The Unix Programming Environment (Prentice-Hall Software Series): Brian W. Kernighan, Rob Pike: 9780139376818: Amazon.com: Books

Later, they wrote another:
The Practice of Programming (Addison-Wesley Professional Computing Series): 9780201615869: Computer Science Books @ Amazon.com

The first takes you from very basic stuff to software development tools, the second concentrates on productivity within that environment.

Because these are old, you should be able to find very inexpensive copies.

Best wishes ... cheers, drl

This is true, but it is still the right book.

Unix is as much a collection of various APIs as it is a culture. Unix programs systematically react always "the same" in a very intricate way (the one which this book talks about) and even if you use all the APIs in an apparently correct way you might write a program which is "not UNIX" and will fit poorly into the rest (i have seen accomplished mainframe programmers do exactly that and the result was barely usable albeit being "correct" in some sense).

There are some books which have this lasting value - "Programming in the Unix Environment" is one of them and Raymonds' book is another. Here is another, centering on network programming, which plays a big role in a network-centered OS like UNIX:


"UNIX Network Programming", by W. Richard Stevens

If you budget is unlimited I'd also suggest the 3 volumes of "TCP/IP Illustrated" by the same author.

If you are interested in how a UNIX kernel is actually implemented there is one bible on this:

"Operating Systems Design and Implementation" by Andrew S. Tanenbaum

I hope this helps.

bakunin