did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780201773453

LINUX & UNIX Programming Tools A Primer for Software Developers

by ;
  • ISBN13:

    9780201773453

  • ISBN10:

    0201773457

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2002-12-03
  • Publisher: Pearson
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $106.65

Summary

This book approaches the LINUX environment as a programming companion. No previous exposure to LINUX is necessary to utilize this text. Initially, commands and utilities are reviewed, then the focus shifts toward systematically describing those software tools available to a LINUX programmer. For software practitioners interested in brushing up on basic Linux knowledge or for those learning it for the first time. @ISBN = 0-201-77345-7 @MAINCAT = UNIX @SUBCAT = UNIX @DATALINE1 = 2003, 250 pages, 7 3/8 x 9 1/8 @DATALINE2 = Paperback, $40.00k

Table of Contents

Preface v
Acknowledgements vii
Part I: Using LINUX and UNIX Effectively
Getting Started
1(28)
Introduction
2(1)
A Brief History of LINUX
2(2)
Logon and Logoff Procedures
4(2)
LINUX/UNIX Shells
6(6)
Search Path for a Shell
6(1)
Locations of Various Shells
7(1)
Which Shell Suits Your Needs?
8(1)
Various Ways to Change Your Shell
9(1)
Shell Startup Files and Environment Variables
10(2)
Some Important System Setups
12(2)
Useful General-Purpose Commands for Beginners
14(9)
Displaying the Current Time and Date
14(1)
Displaying A Text File
14(1)
Creating a Directory
15(1)
Displaying a Directory
15(1)
Displaying the Name of Your Current Directory or a Home Directory
16(1)
Changing Directories
16(1)
Removing Directories
17(1)
Printing Files
18(1)
Getting Help
18(2)
Changing Your Password
20(1)
The Command History
21(1)
Displaying a Calendar
22(1)
Displaying System Up Time
22(1)
Shell Metacharacters
23(1)
Web Resources
24(1)
Summary
24(1)
Questions and Problems
25(4)
Files and File Processing
29(46)
Introduction
30(1)
Files in LINUX/UNIX
30(1)
File System Structure
31(3)
File System Organization
31(1)
Pathnames: Absolute and Relative
31(2)
Home and Present Working Directories
33(1)
Search Path
33(1)
Some Standard Directories and Files
34(4)
Directory Operations and Browsing the File System Structure
38(4)
Creating and Removing Directories
38(1)
Moving and Copying Directories
39(1)
Browsing the File System Structure and Listing Directories
40(2)
File Processing
42(28)
Creating Files
42(1)
Displaying File Type and Type of Data in a File
42(2)
Viewing Complete Files
44(1)
Viewing Files One Page at a Time
45(2)
Viewing the Head or Tail of a File
47(2)
Displaying the NIS Database
49(1)
Copying Files
49(2)
Moving and Renaming Files
51(1)
Removing/Deleting Files
52(1)
Determining File Size
53(2)
Appending to Files
55(1)
Combining Files
56(1)
Comparing Files
56(3)
Compressing Files
59(1)
The gzip Command
59(1)
The gunzip Command
59(2)
The gzexe Command
61(1)
The zcat Command
62(1)
Searching for Files and Commands
63(1)
The find Command
63(2)
The whereis Command
65(1)
The which Command
66(1)
Searching Files
67(3)
Summary
70(1)
Questions and Problems
71(4)
Input/Output Redirection
75(14)
Introduction
76(1)
Standard Files, File Descriptors, and Redirection of Standard Files
76(1)
Input, Output, and Error Redirection
77(6)
Input Redirection
77(1)
Output Redirection
78(1)
Error Redirection
79(1)
Redirecting stdin, stdout, and stderr in One Command
80(2)
Appending Data to a File
82(1)
LINUX/UNIX Filters and Pipes
83(2)
Redirection and Piping Combined
85(1)
Summary
86(1)
Questions and Problems
87(2)
Printer Control
89(12)
Introduction
90(1)
LINUX/UNIX Mechanism for Printing Files
90(1)
Printer Control Commands
90(1)
Printing Files
91(1)
Finding the Status of a Print Request
92(2)
Displaying the Names of Printers on Your System
94(1)
Canceling Print Jobs
95(2)
Controlling Printers
97(1)
Summary
98(1)
Questions and Problems
98(3)
File Security
101(18)
Introduction
102(1)
File Protection Based on Access Permission
102(9)
Types of Users
102(1)
Types of File Operations/Access Permissions
103(1)
Default File Access Privileges
104(2)
Determining File Access Privileges
106(1)
Changing File Access Privileges
107(4)
Special Access Bits
111(5)
The Set-User-ID (SUID) Bit
111(2)
The Set-Group-ID (SGID) Bit
113(1)
The Sticky Bit
114(2)
File Permissions and Types
116(1)
Summary
116(1)
Questions and Problems
117(2)
LINUX/UNIX Processes
119(20)
Introduction
120(1)
Processes, Jobs, and Daemons
120(1)
Process and Job Control
121(12)
Displaying Process Attributes
121(5)
Foreground, Background, and Suspended Processes
126(2)
Displaying Jobs
128(1)
Suspending and Resuming a Shell Process
129(1)
Running Commands Sequentially and Simultaneously
130(1)
Abnormal Termination of Commands and Processes
131(2)
Process Hierarchy in LINUX/UNIX
133(1)
Displaying Process Attributes in LINUX/UNIX
134(1)
Summary
135(1)
Questions and Problems
136(3)
File System Backup and Restoration
139(10)
Introduction
140(1)
Archiving and Restoring Files Using tar
140(6)
Archiving Files
141(2)
Restoring Archived Files
143(1)
Complete Restoration
143(1)
Partial Restoration
144(1)
Copying Directory Hierarchies
145(1)
Software Distributions in the tar Format
146(1)
Summary
147(1)
Questions and Problems
147(2)
Part II: Program Development on a LINUX or UNIX Platform
Program Development Process
149(10)
Introduction
150(1)
An Overview of Computer Programming Languages
150(2)
Programming Languages and Programming Paradigms
152(2)
Programming Languages
152(1)
Programming Paradigms
153(1)
The Compilation Process
154(1)
The Interpretation Process
154(1)
Compiling C, C++, and Java Programs
155(1)
The Software Engineering Life Cycle
156(1)
Web Resources
157(1)
Summary
157(1)
Questions and Problems
158(1)
Program Generation Tools
159(22)
Introduction
160(1)
Generating Program Source Files
160(1)
Indenting Source Code
160(4)
Compiling C/C++ Programs
164(10)
Compiling Multiple Source Files
168(1)
Linking Libraries
169(2)
Optimizing Executable Code
171(1)
Defining Macros at Command Line
172(1)
Turning Off Compilation, Assembly, or Linking Phase
173(1)
Compiling C++ Programs
174(2)
Compiling Java Programs
176(1601)
Disastrous Compiler Commands and Typical Compile Time Errors
177(1)
Compiling and Interpreting Programs in Other Programming Languages
177(1)
Web Resources
178(1)
Summary
178(1)
Questions and Problems
178(3)
Compiling and Linking Multimodule Software
181(26)
Introduction
182(1)
The make Utility
182(21)
Makefile and Make Rules
183(2)
Multimodule Software, Dependency Trees, and make
185(6)
Suffix (Default) Rules
191(1)
Macro Support of the make Utility
192(2)
Built-in Macros
194(2)
Dummy Targets
196(4)
Special Targets
200(1)
Common Syntax Errors and Their Cures
201(2)
Command-line Usage and Debugging
203(1)
Web Resources
203(1)
Summary
204(1)
Questions and Problems
204(3)
Developing, Using, and Debugging Libraries
207(20)
Introduction
208(1)
Using Libraries
208(2)
The ar Utility
210(7)
Creating or Appending to an Archive
212(1)
Displaying the Table of Contents
213(1)
Deleting Object Modules from an Archive
214(1)
Extracting Object Modules from an Archive
214(2)
Ordering Archives
216(1)
Installing Libraries
217(1)
The nm Utility
217(6)
Displaying Library Information
219(4)
Web Resources
223(1)
Summary
223(1)
Questions and Problems
224(3)
Source Code Debugging
227(26)
Introduction
228(1)
Source Code Debugging
228(1)
Using printf or cout
228(1)
Using a Debugging Tool
229(1)
The Debugging Process
229(1)
The GNU Debugger gdb
230(14)
Using gdb with C/C++ Programs
231(2)
Entering the gdb Environment
233(4)
Executing a Program
237(1)
Tracing Program Execution
237(1)
Setting Break Points
238(1)
Single-Stepping Through Your Program
239(1)
Displaying the Value of a Variable or Expression
240(1)
Listing Program Code
241(1)
Fixing the Bug
242(1)
Leaving gdb and Wrapping Up
243(1)
Debugging a Process
244(2)
Running a Crashed Program with a Core File
246(1)
Debugging Java Programs with gdb
246(2)
Using gdb Under Emacs
248(1)
Software Testing
248(1)
Web Resources
249(1)
Summary
249(1)
Questions and Problems
250(3)
Software Profiling and Metrics
253(18)
Introduction
254(1)
Software Metrics and Their Purpose
254(1)
Profiling C/C++ Programs
255(8)
Steps for Using gprof
257(2)
Analyzing the Output of gprof
259(4)
Optimizing Software
263(1)
Software Metrics: Size and Running Time
263(5)
The Size of Source and Executable Programs
264(2)
The Running Time of a Program
266(2)
Web Resources
268(1)
Summary
268(1)
Questions and Problems
269(2)
Version Control with RCS and CVS
271(44)
Introduction
272(1)
The Revision Control System (RCS)
272(20)
Working with RCS
273(1)
Creating an RCS History File
273(1)
Checking Out an RCS File
274(2)
Creating a New Version of a File
276(1)
Checking Out Copies of Specific Versions
276(2)
Abandoning Changes
278(1)
Locking a File Without Overwriting (Taking Care of a Mistake)
279(1)
Removing a Version
280(1)
Working in Groups
281(1)
Displaying the History of RCS Files
282(2)
Breaking Locks
284(1)
Displaying Differences Between Versions
285(1)
Merging Versions
286(2)
Limiting Access Rights to RCS
288(1)
RCS Special Character Sequences
289(2)
Miscellaneous RCS Utilities
291(1)
Using RCS from within emacs
291(1)
Beyond RCS
291(1)
Concurrent Versions System (CVS)
292(21)
The CVS Command Syntax
292(1)
Displaying CVS Help
293(2)
Creating a Source Repository
295(2)
Importing Sources into the Repository
297(1)
Checking Out Source Files
298(3)
Making and Committing Changes to Source Files
301(3)
Adding New Files and Directories to the Repository
304(1)
Removing Files and Directories from the Source Repository
305(1)
Freezing and Extracting a Version
306(1)
Displaying Differences
307(1)
Displaying the Log History
307(1)
CVS Special Character Sequences
307(2)
After-Work Cleanup
309(1)
Remote Repositories and Accessing Them through a Client
310(1)
Using CVS Under emacs
311(1)
Important Aspects of CVS
311(1)
Obtaining and Installing CVS
311(2)
Web Resources
313(1)
Summary
313(1)
Questions and Problems
314(1)
Appendix A Editing Text Files with vi and pico 315(6)
The vi or vim Editor
315(4)
The pico Editor
319(2)
Appendix B Electronic Mail 321(6)
The mail Command
321(1)
The pine Command
322(5)
Glossary 327(10)
Index 337

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program