Table of Contents


   
book cover
  
• Table of Contents
• Index
Linux for Programmers and Users
By Graham Glass, King Ables
Publisher: Prentice Hall
Pub Date: February 15, 2006
Print ISBN-10: 0-13-185748-7
Print ISBN-13: 978-0-13-185748-3
eText ISBN-10: 0-13-186102-6
eText ISBN-13: 978-0-13-186102-2
Pages: 700
 


   Copyright
   Trademark Informationii
   Prefacexxv
      About the Authorsxxv
      About the Bookxxvi
      Organization of the Bookxxvii
      Layout of the Chaptersxxvii
      A Guide for Teachersxxviii
      Nomenclaturexxix
      References to Other Booksxxix
      Source Code Availability Onlinexxx
      Acknowledgmentsxxx
    Chapter 1.  What Is Linux?1
      Motivation1
      Prerequisites1
      Objectives1
      Presentation1
      Section 1.1.  Computer Systems2
      Section 1.2.  Hardware3
      Section 1.3.  Operating System4
      Section 1.4.  Software5
      Section 1.5.  Sharing Resources5
      Section 1.6.  Communication6
      Section 1.7.  Utilities7
      Section 1.8.  Programmer Support7
      Section 1.9.  Standards8
      Section 1.10.  Linux Lineage8
      Section 1.11.  Linux Packaging11
      Section 1.12.  The Linux and UNIX Philosophy12
      Section 1.13.  Linux Features13
      Section 1.14.  The Rest of This Book14
      Chapter Review15
    Chapter 2.  Installing Your Linux System17
      Motivation17
      Prerequisites17
      Objectives17
      Presentation17
      Section 2.1.  Introduction18
      Section 2.2.  Make Sure Your Hardware Will Support Linux18
      Section 2.3.  Choose Your Linux Distribution20
      Section 2.4.  Consider Optional Software Packages23
      Section 2.5.  Design Your System28
      Section 2.6.  Get Linux33
      Section 2.7.  Install Linux35
      Chapter Review39
    Chapter 3.  GNU Utilities for Nonprogrammers41
      Motivation41
      Prerequisites41
      Objectives41
      Presentation41
      Utilities42
      Shell command42
      Section 3.1.  Obtaining an Account42
      Section 3.2.  Logging In42
      Section 3.3.  Shells43
      Section 3.4.  Running a GNU Utility44
      Section 3.5.  Input, Output, and Error Channels45
      Section 3.6.  Obtaining Online Help: man45
      Section 3.7.  Special Characters47
      Section 3.8.  Setting Your Password: passwd49
      Section 3.9.  Logging Out50
      Section 3.10.  Poetry in Motion: Exploring the File System50
      Section 3.11.  Printing Your Shell's Current Working Directory: pwd52
      Section 3.12.  Absolute and Relative Pathnames52
      Section 3.13.  Creating a File54
      Section 3.14.  Listing the Contents of a Directory: ls55
      Section 3.15.  Listing the Contents of a File: cat/more/head/tail56
      Section 3.16.  Renaming a File: mv58
      Section 3.17.  Creating a Directory: mkdir58
      Section 3.18.  Moving to a Directory: cd59
      Section 3.19.  Copying a File: cp60
      Section 3.20.  Editing a File: vim61
      Section 3.21.  Deleting a Directory: rmdir62
      Section 3.22.  Deleting a File: rm62
      Section 3.23.  Printing a File: lp/lpstat/cancel64
      Section 3.24.  Printing a File: lpr/lpq/lprm65
      Section 3.25.  Counting Words in a File: wc67
      Section 3.26.  File Attributes68
      Section 3.27.  Groups72
      Section 3.28.  Listing Your Groups: groups73
      Section 3.29.  Changing a File's Group: chgrp73
      Section 3.30.  Changing a File's Permissions: chmod74
      Section 3.31.  Changing a File's Owner: chown76
      Section 3.32.  Changing Groups: newgrp76
      Section 3.33.  Poetry in Motion: Epilogue77
      Section 3.34.  Determining Your Terminal's Type: tset77
      Section 3.35.  Changing a Terminal's Characteristics: stty80
      Section 3.36.  Editing a File: vim82
      Section 3.37.  Editing a File: emacs93
      Section 3.38.  Electronic Mail: mail99
      Chapter Review103
    Chapter 4.  GNU Utilities for Power Users107
      Motivation107
      Prerequisites107
      Objectives107
      Presentation107
      Utilities107
      Section 4.1.  Introduction108
      Section 4.2.  Filtering Files: grep, egrep, fgrep, and uniq109
      Section 4.3.  Sorting Files: sort113
      Section 4.4.  Comparing Files: cmp and diff116
      Section 4.5.  Finding Files: find119
      Section 4.6.  Archiving Files: cpio, tar, and dump/restore121
      Section 4.7.  Scheduling Commands: crontab and at128
      Section 4.8.  Programmable Text Processing: gawk132
      Section 4.9.  Hard and Soft Links: ln137
      Section 4.10.  Identifying Shells: whoami139
      Section 4.11.  Substituting a User: su139
      Section 4.12.  Transforming Files140
      Section 4.13.  Looking at Raw File Contents: od148
      Section 4.14.  Mounting File Systems: mount and umount149
      Section 4.15.  Identifying Terminals: tty150
      Section 4.16.  Timing Execution: time151
      Section 4.17.  Rolling Your Own Programs: Perl152
      Chapter Review164
    Chapter 5.  The Linux Shells167
      Motivation167
      Prerequisites167
      Objectives167
      Presentation168
      Utilities168
      Shell Commands168
      Section 5.1.  Introduction168
      Section 5.2.  Selecting a Shell169
      Section 5.3.  Shell Operations170
      Section 5.4.  Executable Files Versus Built-in Commands170
      Section 5.5.  Metacharacters171
      Section 5.6.  Redirection172
      Section 5.7.  Filename Substitution (Wildcards)174
      Section 5.8.  Command Substitution178
      Section 5.9.  Sequences178
      Section 5.10.  Grouping Commands179
      Section 5.11.  Background Processing180
      Section 5.12.  Redirecting Background Processes181
      Section 5.13.  Shell Programs (Scripts)182
      Section 5.14.  Subshells or Child Shells183
      Section 5.15.  Variables184
      Section 5.16.  Quoting187
      Section 5.17.  Here Documents187
      Section 5.18.  Job Control188
      Section 5.19.  Finding a Command: $PATH194
      Section 5.20.  Superseding Standard Utilities195
      Section 5.21.  Termination and Exit Codes196
      Section 5.22.  Common Core Built-Ins197
      Chapter Review200
    Chapter 6.  The Bourne Again Shell203
      Motivation203
      Prerequisites203
      Objectives203
      Presentation203
      Shell Commands204
      Section 6.1.  Introduction204
      Section 6.2.  Startup204
      Section 6.3.  Variables205
      Section 6.4.  Command Shortcuts217
      Section 6.5.  Tilde Substitution220
      Section 6.6.  Redirection221
      Section 6.7.  Command Substitution222
      Section 6.8.  Arithmetic222
      Section 6.9.  Conditional Expressions223
      Section 6.10.  Control Structures226
      Section 6.11.  Functions232
      Section 6.12.  Menus: select236
      Section 6.13.  Directory Access and the Directory Stack237
      Section 6.14.  Job Control239
      Section 6.15.  Command-Line Options242
      Chapter Review242
    Chapter 7.  The Korn Shell245
      Motivation245
      Prerequisites245
      Objectives245
      Presentation245
      Shell Commands245
      Section 7.1.  Introduction246
      Section 7.2.  Startup246
      Section 7.3.  Variables248
      Section 7.4.  Aliases255
      Section 7.5.  History259
      Section 7.6.  Editing Commands262
      Section 7.7.  Arithmetic265
      Section 7.8.  Tilde Substitution267
      Section 7.9.  Menus: select267
      Section 7.10.  Functions269
      Section 7.11.  Job Control273
      Section 7.12.  Enhancements276
      Section 7.13.  Sample Project: junk290
      Section 7.14.  Command-Line Options293
      Chapter Review293
    Chapter 8.  The C Shell295
      Motivation295
      Prerequisites295
      Objectives295
      Presentation295
      Shell Commands296
      Section 8.1.  Introduction296
      Section 8.2.  Startup296
      Section 8.3.  Variables298
      Section 8.4.  Expressions303
      Section 8.5.  Filename Completion307
      Section 8.6.  Command Editing307
      Section 8.7.  Aliases307
      Section 8.8.  History310
      Section 8.9.  Control Structures314
      Section 8.10.  Sample Project: junk321
      Section 8.11.  Enhancements323
      Section 8.12.  Built-Ins328
      Section 8.13.  The Directory Stack330
      Section 8.14.  Command-Line Options332
      Chapter Review333
    Chapter 9.  Networking and the Internet335
      Motivation335
      Prerequisites335
      Objectives335
      Presentation335
      Commands336
      Section 9.1.  Introduction336
      Section 9.2.  Building a Network336
      Section 9.3.  Internetworking338
      Section 9.4.  Identifying Network Users344
      Section 9.5.  Communicating with Network Users347
      Section 9.6.  Distributing Data350
      Section 9.7.  Distributed Processing354
      Section 9.8.  Evolution of the Internet360
      Section 9.9.  Using Today's Internet371
      Chapter Review373
    Chapter 10.  The Linux Desktop375
      Motivation375
      Prerequisites375
      Objectives375
      Presentation375
      Utilities376
      Section 10.1.  Introduction376
      Section 10.2.  X Servers377
      Section 10.3.  Desktop Environments379
      Section 10.4.  Window Managers381
      Section 10.5.  Widgets385
      Section 10.6.  Desktop Operation387
      Section 10.7.  Client Applications389
      Section 10.8.  Standard X Client Arguments391
      Section 10.9.  Advanced Topics392
      Chapter Review397
    Chapter 11.  C Programming Tools399
      Motivation399
      Prerequisites399
      Objectives399
      Presentation399
      Utilities400
      Section 11.1.  The C Language400
      Section 11.2.  C Compilers400
      Section 11.3.  Single-Module Programs401
      Section 11.4.  Multimodule Programs404
      Section 11.5.  Archiving Modules: ar408
      Section 11.6.  Managing Dependencies: make411
      Section 11.7.  The GNU Profiler: gprof418
      Section 11.8.  Debugging a Program: gdb419
      Section 11.9.  When You're Done: strip429
      Chapter Review429
    Chapter 12.  Systems Programming431
      Motivation431
      Prerequisites431
      Objectives431
      Presentation431
      Utilities432
      System calls and library functions432
      Section 12.1.  Introduction432
      Section 12.2.  Error Handling: perror ()434
      Section 12.3.  Regular File Management436
      Section 12.4.  Process Management473
      Section 12.5.  Signals486
      Section 12.6.  Interprocess Communication500
      Chapter Review528
    Chapter 13.  Linux Internals533
      Motivation533
      Prerequisites533
      Objectives533
      Presentation534
      Section 13.1.  Introduction534
      Section 13.2.  Kernel Basics534
      Section 13.3.  The File System541
      Section 13.4.  Process Management552
      Section 13.5.  Virtual Memory Management556
      Section 13.6.  Input and Output560
      Section 13.7.  Interprocess Communication569
      Chapter Review573
    Chapter 14.  System Administration575
      Motivation575
      Prerequisites575
      Objectives575
      Presentation575
      Utilities576
      Section 14.1.  Introduction576
      Section 14.2.  Becoming the Super-User576
      Section 14.3.  Starting Linux578
      Section 14.4.  Stopping Linux580
      Section 14.5.  Maintaining the File System580
      Section 14.6.  Maintaining User Accounts584
      Section 14.7.  Installing New Software587
      Section 14.8.  Peripheral Devices587
      Section 14.9.  The Network Interface588
      Section 14.10.  Automating Tasks589
      Section 14.11.  Tunable Kernel Parameters590
      Section 14.12.  Security Issues591
      Chapter Review592
    Appendix A.  595
      Section A.1.  Regular Expressions595
      Section A.2.  Extended Regular Expressions597
      Section A.3.  Modified Backus-Naur Notation597
      Section A.4.  Utilities and Shell Built-In Commands598
      Section A.5.  System Calls and Library Functions605
   Bibliography609
   Index



Linux for Programmers and Users
Linux for Programmers and Users
ISBN: 0131857487
EAN: 2147483647
Year: 2007
Pages: 339

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net