John Goerzen > Publications > Linux Programming Bible > Downloads

Linux Programming Bible Download Area

You can download the Linux Programming Bible examples here:

About This File

This file contains every Listing in the book, plus many additional code examples. You can use this file to save yourself much typing later! All code is included in ready-to-compile format; just follow the instructions in the book to use it.

The contents of this file are arranged by chapter. Because some chapters contain both code with a numbered listing and code without, you'll want to use the LPB Examples Guide (below) to locate specific code corresponding to the section in the book with which you are working.

Index to File

ChapterFilenameListing ReferenceDescription
Chapter 3
3 ch03/pattest   Pattern Matcher/Tester in Perl
3 ch03/splittest   Regexp-based Data Splitter in Perl
Chapter 5
5 ch04/init-sendmail.sh 5-1 Debian's /etc/init.d/sendmail script
5 ch04/inittab 5-2 Sample /etc/inittab file
Chapter 7
7 ch07/compute.c   The compute.c example file
7 ch07/init.c   The init.c example file
7 ch07/io.c   The io.c example file
7 ch07/myprogram.h   The myprogram.h example file
7 ch07/example01/Makefile   Very first example Makefile
7 ch07/example02/Makefile   Final "smarter" Makefile
7 ch07/example03/Makefile   Makefile with wildcards
7 ch07/example04/Makefile 7-1 Makefile with dependency generation
7 ch07/example05/Makefile 7-2 Revised Makefile
7 ch07/example06/Makefile 7-3 Finished multi-language Makefile
7 ch07/example07/Makefile 7-4 Makefile to generate HTML
7 ch07/example07/page1.mac   Sample file
7 ch07/example07/page2.mac   Sample file
7 ch07/example07/stdinc.hmac   Sample file
7 ch07/example08/Makefile 7-5 Top-level recursive Makefile
7 ch07/example08/input/Makefile 7-6 Lower-level Makefile
7 ch07/example08/format/Makefile 7-6 Copy of the above (identical)
7 ch07/example08/input/test.cc   Empty example file
7 ch07/example08/format/formattest.c   Empty example file
Chapter 8
8 ch08/ch8-1.c   Error-prone example program
8 ch08/ch8-1r1.c   Revision 1 of example: uses dynamic RAM
8 ch08/ch8-1r2.c   Revision 2 of example: uses strdup()
8 ch08/memleak.c   Example program with a memory leak
8 ch08/ch8-2.c   Fixed-size buffer
8 ch08/ch8-3.c 8-1 Dynamic Allocation with Linked List
8 ch08/ch8-3r1.c 8-2 Revised linked list example
8 ch08/ch8-3r2.c 8-3 Linked list with append at insert time
8 ch08/ch8-4.c 8-4 Example shell in C
8 ch08/ch8-5.txt 8-5 Example shell session
Chapter 9
9 ch09/safecalls2.c 9-1 Example extra wrappers
9 ch09/safecalls2.h   Header file for safecalls2.c
9 ch09/ch9-1.c   Example program that demonstrates the safecalls
9 ch09/example01/Makefile   Example Makefile to build ch9-1 with library
9 ch09/example02/Makefile   Makefile to build ch9-1 with dynamic library
9 ch09/example02/interceptor.c 9-2 Sample code for LD_PRELOAD
Chapter 10
10 ch10/ch10-1.c   First example to debug
10 ch10/ch10-2.c 10-1 Second example to debug
10 ch10/ch10-3.c   Third example
10 ch10/ch10-4.c 10-2 Example with a bug
10 ch10/ch10-2r1.c 10-3 Fixed example
Chapter 11
11 ch11/ch11-1.c 11-1 Demonstration of stat() and lstat()
11 ch11/ch11-1-sample.txt   listing="11-2">Sample execution of ch11-1
11 ch11/ch11-2.pl   Perl program to demonstrate opendir() and friends
11 ch11/ch11-2r1.pl   Revised Perl program, with recursion
11 ch11/ch11-2r1-sample.txt 11-3 Sample execution of ch11-2r1.pl
11 ch11/stream.c   Sample code with stream I/O
11 ch11/syscall.c   Sample code with system call I/O
Chapter 12
12 ch12/ch12-3.c   Example of buggy code creating a zombie process
12 ch12/ch12-4.c 12-1 First wait() example
12 ch12/ch12-5.c 12-2 Signal handler for waiting
12 ch12/ch12-6.c 12-3 Forking with exec() and wait()
12 ch12/ch12-7.c 12-4 Reading return codes
12 ch12/ch12-8.c 12-5 Sample setuid program
12 ch12/ch12-9.c 12-6 Revoking permissions
Chapter 13
13 ch13/ch13-1.c   Handler for SIGTERM
13 ch13/ch13-2.c 13-1 A multi-signal handler
13 ch13/ch13-3.c 13-2 Blocking signals
13 ch13/ch13-4.c 13-3 Pending signals
13 ch13/ch13-5.c 13-4 Example with sigaction
13 ch13/ch13-6.c 13-5 Example of sending a signal
13 ch13/ch13-7.c 13-6 Example with inactivity timeout
13 ch13/ch13-8.c 13-7 Example using setitimer()
Chapter 14
14 ch14/ch14-01.c 14-1 I/O program that checks return values
14 ch14/ch14-02.c 14-2 I/O with system call
14 ch14/ch14-03.c 14-3 System call I/O for terminal interaction
14 ch14/safecalls.h   Header file for safecalls.c
14 ch14/safecalls.c 14-4 A safe call wrapper system
14 ch14/ch14-05.c 14-5 Sample usage of safecalls.c
14 ch14/ch14-06.c 14-6 Creating a sparse file
14 ch14/ch14-07.c 14-7 Example of memory-mapped I/O
14 ch14/ch14-08.c 14-8 Example of select()
14 ch14/ch14-09.c 14-9 Example of poll()
14 ch14/ch14-10.c 14-10 Example of locking
Chapter 15
15 ch15/ch15-1.c 15-1 Sample of raw mode
15 ch15/myscript.c 15-2 Example script replacement
15 ch15/Makefile   Makefile for ch15-2.c and genrandom.c
15 ch15/genrandom.c   Random generator program
15 ch15/ch15-2.c 15-3 Example usage of curses
15 ch15/ch15-3.c 15-4 Example of color with ncurses
15 ch15/ch15-4.pl 15-5 Using curses in Perl
15 ch15/assignments   Sample data file for ch15-4.pl
15 ch15/categories   Sample data file for ch15-4.pl
15 ch15/students   Sample data file for ch15-4.pl
Chapter 16
16 ch16/ch16-1.c 16-1 First semaphore example
16 ch16/ch16-2.c 16-2 Revised semaphore example
16 ch16/ch16-3.c 16-3 Shared memory example
16 ch16/ch16-4.c 16-4 Revised shared memory example
Chapter 17
17 ch17/ch17-1.c 17-1 Pipe Example
17 ch17/ch17-2.c 17-2 Revised pipe example
17 ch17/ch17-3.c 17-3 Using redirection
17 ch17/ch17-4.c 17-4 Sample usage of FIFOs
Chapter 18
18 ch18/ch18-1.c 18-1 Sample web client
18 ch18/ch18-2.c 18-2 Sample server
18 ch18/ch18-3.c 18-3 Sample server code that forks
18 ch18/networkinglib.h 18-4 Network library header
18 ch18/networkinglib.c 18-5 Network library implementation
18 ch18/newclient.c   Simple client rewrite
18 ch18/newserver.c 18-6 Revised network server code
Chapter 19
19 ch19/queue.c 19-1 Server with select() multiplexing
19 ch19/queue.h 19-2 Header file queue.h
19 ch19/ch19-1.c 19-3 Main server code
Chapter 20
20 ch20/ch20-1.pl   Simple line sorter
20 ch20/ch20-2.pl   Another example program
20 ch20/ch20-3.pl   Working with files
20 ch20/ch20-4.pl   Anonymous references
20 ch20/ch20-5.pl   Arrays and references
20 ch20/ch20-6.pl 20-1 Example of nested Arrays
20 ch20/ch20-7.pl 20-2 Example of nested hashes
20 ch20/ch20-8.pl 20-3 Revised hash example
20 ch20/ch20-9.pl   Anonymous subroutine example
20 ch20/ch20-10.pl 20-4 Example of OOP features
20 ch20/FileObject.pm 20-5 OOP example module
20 ch20/output-ch20-10.txt 20-6 Sample output from ch20-10
Chapter 21
21 ch21/ch21-1.pl   Angle-bracket operator in loop
21 ch21/pattest-ch3   Regular expression pattern testing program, as in chapter 3
21 ch21/pattest   Revised pattest
21 ch21/splittest   Revised code, to use split
21 ch21/mygrep   A Perl implementation of grep
21 ch21/mygrep2   Revised mygrep
21 ch21/ch21-2.pl 21-1 Example of tie
21 ch21/ch21-3.pl 21-2 Revised tie example
21 ch21/FileObject.pm 21-3 An object with serialization
21 ch21/ch21-4.pl 21-4 Example usage of FileObject
21 ch21/ch21-5.pl 21-5 Using the Data Dumper
Chapter 22
22 ch22/ch22-1.pl   Hello world example
22 ch22/ch22-2.pl   Interactive example
22 ch22/ch22-3.pl   More complex interactive example
22 ch22/ch22-4.pl   Example with the CGI form functions
22 ch22/ch22-5.pl 22-1 CGI script with multiple pages
Chapter 23
23 ch23/ch23-1.pl 23-1 Using the DBI module
23 ch23/ch23-2.pl 23-2 Inserting information
23 ch23/ch23-3.pl 23-3 DBI with CGI: addressbook. SEE NOTE IN TEXT BEFORE RUNNING.
Chapter 24
24 ch24/ch24-1.pl   First Tk example
24 ch24/ch24-2.pl   Example with multiple top-level windows
24 ch24/ch24-3.pl 24-1 Color picker
24 ch24/ch24-4.pl 24-2 Menu bar
24 ch24/ch24-5.pl 24-3 Grid geometry manager
24 ch24/ch24-6.pl 24-4 Sample SpecTcl output
Chapter 25
25 ch25/Makefile   Sample Makefile
25 ch25/ch25-1.c 25-1 Simple Gnome example
25 ch25/ch25-2.c 25-2 Recognizing a close event
25 ch25/ch25-3.c 25-3 Example with GTK color selector
Chapter 28
28 ch28/ch28-1.c 28-1 Program to profile
28 ch28/profile.txt 28-2 Profiler output
28 ch28/profile2.txt 28-3 Example with line granularity
28 ch28/profile3.txt 28-4 Output from gprof -A -l -x