30

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

Rui F Ribeiro
  • 56,709
  • 26
  • 150
  • 232

9 Answers9

25

W. Richard Stevens: Advanced Programming in the UNIX Environment

EricSchaefer
  • 2,823
  • 2
    I agree. It's the holy bible of UNIX system programming – mru Nov 04 '10 at 12:15
  • What about Linux system programming? Is it useful for that too? – skrtbhtngr Jun 01 '15 at 18:45
  • 1
    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 05 '15 at 14:55
21

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

Spudd86
  • 335
  • Book is out now (has been for a bit) - it's great. More should upvote this answer. – Dan Dec 19 '10 at 07:52
  • Yup it is out, I bought it and it is indeed great – Spudd86 Feb 09 '11 at 03:06
  • Excellent book, highly recommended. – haziz Mar 22 '12 at 02: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
  • It's the newest & very detailed, and not boring, quite practical. – Eric Feb 25 '15 at 17:21
14

Linux Systems Programming

you can refer this also link

Hemant
  • 6,910
  • 5
  • 39
  • 42
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.

Kevin
  • 40,767
Toon
  • 51
  • 2
4

The Linux Programming Interface is now available...

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

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.

0xYUANTI
  • 4,366
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.

user603
  • 131
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.

miklosq
  • 130