Beginning Linux Programming 2nd Edition
The document has a number of aims as: To teach the use of the standard UNIX C libraries and other facilities as specified by the UNIX98 standard created from the earlier IEEE POSIX and X/Open (SPEC 1170) specifications; to show how to make the most of advanced development tools; to give concise introductions to popular rapid development languages like the shell, Tcl and Perl; to show how to build graphical user interfaces for the X Window System; having given you firm grounding, to progress to topics of real−world applications which you want to program