26

I am trying to learn Linux system programming, which is the best book to learn this?

13

Linux Systems Programming

you can refer this also link

  • Thanks, I just bought the book. It looks like a good read and isn't huge :) – Khaja Minhajuddin Aug 11 '10 at 11:48
  • gr8. All the best :-) – Hemant Aug 11 '10 at 12:04
23

W. Richard Stevens: Advanced Programming in the UNIX Environment

  • 2
    I agree. It's the holy bible of UNIX system programming – mru Nov 4 '10 at 12:15
  • What about Linux system programming? Is it useful for that too? – skrtbhtngr Jun 1 '15 at 18:45
  • While it is not specific to Linux most topics it covers apply to Linux. Some things are different on each flavor of Unix, including Linux. The book is perfect if you want to get into system programming for any type of Unix. The most important thing to learn is the underlying philosophy which is common to all flavors. For some topics you might want to get an additional, flavor-specific book. There is also this thing called Internet I keep hearing about, which might help you with the specific things... ;-) – EricSchaefer Jun 5 '15 at 14:55
17

The Linux Programming Interface by Michael Kerrisk

Note that the author is the current maintainer of the Linux man pages. And that it's not out yet so I can't actually say how good it is, but I've read the blog posts about it and it sounds like a good book. (and he is the maintainer of the man pages, and those are mostly well written and he ought to know his stuff)

EDIT: book is now out.

http://blog.man7.org/2009/07/whats-book-about.html

http://www.man7.org/tlpi/index.html

http://www.nostarch.com/linuxprogramming.htm

  • Book is out now (has been for a bit) - it's great. More should upvote this answer. – Dan Dec 19 '10 at 7:52
  • Yup it is out, I bought it and it is indeed great – Spudd86 Feb 9 '11 at 3:06
  • Excellent book, highly recommended. – haziz Mar 22 '12 at 2:52
  • He did not write the man pages, they come from all over the place (BSD, some GNU texinfo auto-manified, some pages for separate utilities). But yes, managing such a huge, sprawling mess into something vaguely coherent is a feat. – vonbrand Mar 15 '13 at 21:19
  • 1
    @vonbrand I never said he wrote the man pages, I said he maintains the man pages package. Which is true. He has also written a lot of man pages and updated existing ones because he is the maintainer of the package. – Spudd86 Jul 30 '13 at 19:18
5

Here you can find a database of the best books to learn Linux: http://www.tldp.org/guides.html

I'm currently reading Introduction to Linux - A Hands on Guide by Machtelt Garrels

And I like it, the way it's written make it easy to understand.

  • The TLDP guides are generally excellent, but mostly sadly out of date. – vonbrand Mar 15 '13 at 21:20
4

I second the Stevens recommendation. The only real alternative is Advanced UNIX Programming by M.J. Rochkind: http://basepath.com/aup/

ORA's POSIX Programmer's Guide (http://oreilly.com/catalog/9780937175736) may be useful, but I haven't read it myself.

4

The Linux Programming Interface is now available...

http://www.man7.org/tlpi/

3

I'd recommend Bruce Molay's "Understanding Unix/Linux Programming" (http://wps.prenhall.com/esm_molay_UNIXProg_1/). I had him as an instructor at Harvard, and he was fantastic.

2

The Design of the UNIX Operating System by Maurice J. Bach -classic book describes the internal algorithms and the structures that form the basis of the UNIX ®operating system and their relationship to the programmer interface

1

You can read into the book called, Linux System Programming on Google Books . It's a really good book, I can recommend.

Not the answer you're looking for? Browse other questions tagged or ask your own question.