You are previewing UNIX: The Complete Reference, Second Edition, 2nd Edition.
O'Reilly logo
UNIX: The Complete Reference, Second Edition, 2nd Edition

Book Description

The Definitive UNIX Resource--Fully Updated

Get cutting-edge coverage of the newest releases of UNIX--including Solaris 10, all Linux distributions, HP-UX, AIX, and FreeBSD--from this thoroughly revised, one-stop resource for users at all experience levels. Written by UNIX experts with many years of experience starting with Bell Laboratories, UNIX: The Complete Reference, Second Edition provides step-by-step instructions on how to use UNIX and take advantage of its powerful tools and utilities.

Get up-and-running on UNIX quickly, use the command shell and desktop, and access the Internet and e-mail. You'll also learn to administer systems and networks, develop applications, and secure your UNIX environment. Up-to-date chapters on UNIX desktops, Samba, Python, Java Apache, and UNIX Web development are included.

  • Install, configure, and maintain UNIX on your PC or workstation
  • Work with files, directories, commands, and the UNIX shell
  • Create and modify text files using powerful text editors
  • Use UNIX desktops, including GNOME, CDE, and KDE, as an end user or system administrator
  • Use and manage e-mail, TCP/IP networking, and Internet services
  • Protect and maintain the security of your UNIX system and network
  • Share devices, printers, and files between Windows and UNIX systems
  • Use powerful UNIX tools, including awk, sed, and grep
  • Develop your own shell, Python, and Perl scripts, and Java, C, and C++ programs under UNIX
  • Set up Apache Web servers and develop browser-independent Web sites and applications

Table of Contents

  1. Cover Page
  2. Title Page
  3. Copyright Page
  4. About the Authors
  5. Contents at a Glance
  6. Contents
  7. Acknowledgments
  8. Introduction
  9. PART I Basics
    1. 1 Background
      1. What Is UNIX?
      2. Why Is UNIX Important?
        1. Open Source Code
        2. Cooperative Tools and Utilities
        3. Multiuser and Multitasking Abilities
        4. Excellent Networking Environment
        5. Portability
      3. The Structure of the UNIX Operating System
        1. The Kernel
        2. Utilities
        3. The File System
        4. The Shell
      4. Applications
      5. The UNIX Philosophy
      6. The Birth of the UNIX System
        1. UNIX System V
        2. The Berkeley Software Distribution (BSD)
        3. XENIX
      7. GNU and Linux
      8. UNIX Standards
        1. The Open Software Foundation (OSF)
        2. The X/OPEN Consortium
        3. The X/OPEN API
        4. The Common Open Software Environment (COSE)
        5. The Open Group and the Single UNIX Specification
      9. Widely Used UNIX Variants
        1. Linux
        2. BSD Variants: FreeBSD, NetBSD, and OpenBSD
        3. Solaris
        4. MAC OS X
        5. AIX
        6. HP-UX
        7. UNIXWARE
        8. Tru64 UNIX
        9. IRIX
      10. A UNIX System Timeline
      11. UNIX Contributors
      12. The UNIX System and Microsoft Windows NT Versions
        1. Windows NT
        2. Differences Between Windows NT and UNIX
      13. The Future of UNIX
      14. Choosing a UNIX Variant
      15. Summary
      16. How to Find Out More
    2. 2 Getting Started
      1. Starting Out
        1. Connecting Locally
        2. Connecting Remotely
      2. Logging In
        1. Selecting a Login Name
        2. Choosing a Password
        3. A Successful Login
        4. The UNIX System Prompt
      3. Entering Commands
        1. Command Options and Arguments
        2. Stopping a Command
        3. The passwd Command
        4. The cal Command
        5. The who Command
        6. The finger Command
        7. The write Command
        8. The talk Command
        9. The mesg Command
        10. Getting Command Details
      4. Getting Started with Electronic Mail
        1. Notification of New Mail
        2. Reading Mail
        3. Disposing of Messages
        4. Sending Messages
        5. Quitting mailx
      5. Logging Out
      6. Summary
      7. How to Find Out More
    3. 3 Working with Files and Directories
      1. Files
        1. Filenames
        2. Filename Extensions
      2. Directories
        1. Subdirectories
          1. Choosing Directory Names
        2. The Hierarchical File Structure
          1. Pathnames
          2. UNIX and Windows File Structure
        3. UNIX System File Types
          1. Ordinary Files
          2. Symbolic Links
          3. Directories
          4. Special Files
        4. Common Commands for Files and Directories
          1. Listing the Contents of a Directory
          2. Viewing Files
          3. Moving Around in Directories
          4. Moving and Renaming Files and Directories
          5. Copying Files
          6. Linking Files
          7. Removing Files
          8. Creating a Directory
          9. Removing a Directory
          10. Getting Information About File Types
        5. Searching for Files
          1. Using find
          2. Running find in the Background
          3. Other Search Criteria
        6. More About Listing Files
          1. Listing Hidden Files
          2. Controlling the Way Is Displays Filenames
          3. Showing Nonprinting Characters
          4. Sorting Listings
          5. Combining Options to Is
          6. The Long Form of Is
        7. Permissions
          1. Permissions for Files
          2. Permissions for Directories
          3. The chmod Command
          4. Setting Absolute Permissions
          5. Setting Permissions for Groups of Files
          6. Using umask to Set Permissions
          7. Changing the Owner of a File
          8. Changing the Group of a File
        8. Viewing Long Files
          1. Using pg
          2. Using more
          3. Using less
          4. Viewing the Beginning or End of a File
        9. Printing Files
          1. Sending Output to the Printer
          2. Specifying a Printer
          3. Print Spooling
          4. Printing Command Output
          5. Using Ipstat to Monitor the Print System
          6. Canceling Print Jobs
          7. Formatting
        10. Summary
        11. How to Find Out More
    4. 4 The Command Shell
      1. The Common Shells
      2. Running the Shell
        1. Changing Your Login Shell
        2. Logging Out
        3. What the Shell Does
        4. Entering Commands
        5. Argument Expansion
        6. Grouping Commands
      3. Using Wildcards
        1. Wildcards and Hidden Files
        2. How Wildcards Work
      4. Standard Input and Output
        1. Using Pipes
        2. Output Redirection to a File
        3. Input Redirection from a File
        4. Standard Input from the Keyboard
        5. Standard Error
      5. Running Commands in the Background
        1. Running Windowed Commands
        2. Standard I/O and Background Jobs
        3. Logging Off with Active Jobs
      6. Job Control
      7. Configuring the Shell
        1. Interactive Shells
        2. Sample Configuration Files
      8. Shell Variables
        1. Variables in sh, ksh, and bash
        2. Variables in csh and tcsh
      9. Command Aliases
        1. Aliases in ksh and bash
        2. Aliases in csh and tcsh
      10. Command History
        1. History Substitution in csh and tcsh
        2. History Substitution in ksh and bash
      11. Command-Line Editing
        1. Setting the Line Editor in bash and ksh
        2. Setting the Line Editor in tcsh
      12. Command Substitution
      13. Filename Completion
      14. Removing Special Meanings in Command Lines
      15. Summary
      16. How to Find Out More
    5. 5 Text Editing
      1. Editing with vi
        1. Setting Your Terminal Display Type for vi
        2. Starting vi
        3. Entering Input Mode
        4. Leaving Input Mode
        5. Exiting vi
        6. Moving Within a Window
        7. Moving the Window in the Buffer
        8. Modifying Text
        9. Deleting Text
        10. Undoing Changes and Deletions
        11. The Ten-Minute vi Tutorial
        12. Advanced Editing with vi
        13. Writing vi Macros
        14. Useful Text Processing Macros
      2. Editing with emacs
        1. Setting Your Terminal Display Type for emacs
        2. Starting emacs
        3. Creating Text with emacs
        4. Exiting emacs
        5. Moving Within a Window
        6. Moving the Window in the Buffer
        7. Deleting Text
        8. emacs Help
        9. The Ten-Minute emacs Tutorial
        10. Advanced Editing with emacs
        11. Modifying Text with emacs
        12. Editing with Multiple Windows
        13. emacs Environments
        14. How to Get emacs
      3. Editing with vim
        1. Starting vim
        2. Some Advanced Features of vim
        3. Exiting vim
        4. Other Variants of vim
      4. Editing with pico
        1. Starting pico
        2. Exiting pico
        3. How to Get pico
      5. Summary
      6. How to Find Out More
    6. 6 The GNOME Desktop
      1. The Evolution of the GNOME Desktop
        1. Installing GNOME
        2. Booting GNOME
        3. Working with the GNOME Desktop
        4. Becoming Familiar with GNOME Desktop Concepts
        5. The Nautilus File Manager
        6. GNOME Built-in Applications and Utilities
        7. Printing from GNOME
        8. Logging Out of GNOME
      2. Summary
      3. How to Find Out More
        1. Useful Books on GNOME
        2. Useful Web Sites for GNOME
    7. 7 The CDE and KDE Desktops
      1. The Evolution of the CDE and KDE Desktops
      2. The CDE Desktop
        1. Obtaining CDE
        2. CDE Features
        3. CDE End-User Components
        4. CDE Developer Components
        5. CDE Online Documentation
        6. Internationalization Features
        7. How to Find More about CDE
      3. The KDE Desktop
        1. Installing KDE
        2. Booting KDE
        3. Working with the KDE Desktop
        4. Becoming Familiar with KDE Desktop Concepts
        5. The Konqueror File Manager
        6. KDE Built-in Applications and Utilities
        7. Printing from KDE
        8. Logging Out of KDE
      4. Summary
      5. How to Find Out More
        1. Useful Books on CDE
        2. Useful Web Sites for CDE
        3. Useful Books on KDE
        4. Useful Web Sites for KDE
  10. Part II User Networking
    1. 8 Electronic Mail
      1. E-Mail on the UNIX System
        1. Local Mail, Remote Mail, and Webmail
        2. Types of UNIX Mail Clients
        3. Common UNIX Mail Clients
      2. Command-Line Mail Programs
      3. Screen-Oriented Mail Programs
        1. pine
        2. mutt
      4. Graphical Interfaces for E-Mail
        1. KMail
        2. Evolution
      5. Tools for Managing E-Mail
        1. Forwarding Mail
        2. The vacation Command
        3. Notification of New Mail
        4. Remote Access with fetchmail
      6. Summary
      7. How to Find Out More
    2. 9 Networking with TCP/IP
      1. Basic Networking Concepts
      2. The Internet Protocol Family
      3. How TCP/IP Works
      4. UNIX Commands for TCP/IP Networking
        1. The Remote Commands
      5. The DARPA Commands, Including ftp and telnet
        1. Using ftp
        2. Using tftp
        3. Remote Login Using telnet
        4. Obtaining Information About Users and Hosts
        5. The Secure Shell (ssh)
        6. PPP and PPPoE
        7. Summary
        8. How to Find Out More
    3. 10 The Internet
      1. What Is the Internet?
      2. Accessing the Internet
        1. Using a Public-Access Provider
        2. Internet Addresses
      3. The Usenet
        1. Usenet Background
        2. How Usenet Articles Are Distributed
        3. Reading Nernews
        4. Posting News
      4. Internet Mailing Lists
        1. Subscribing and Unsubscribing to a Mailing List
      5. Internet Relay Chat
        1. Getting Started with the IRC
        2. Summary of IRC Commands
        3. Running an IRC Server
        4. Finding Out More about the IRC
      6. Instant Messaging (IM)
        1. Gaim
      7. The World Wide Web
        1. Browsers
      8. Web Browsers
        1. Browser History
        2. Using UNIX Browsers
        3. Helper Applications and Plug-Ins
        4. Web Documents
        5. Links
        6. Addressing
      9. Summary
      10. How to Find Out More
  11. Part III System Administration
    1. 11 Processes and Scheduling
      1. Processes
        1. The ps Command
        2. How to Kill a Process
        3. Parent and Child Processes
      2. Process Scheduling
        1. The at Command
        2. The cron Facility
        3. The crontab Command
        4. The batch Command
        5. Daemons
      3. Process Priorities
        1. The nice Command
        2. The sleep Command
        3. The wait Command
        4. ps Command Options
      4. Signals and Semaphores
        1. The nohup Command
        2. Zombie Processes
      5. Real-Time Processes
        1. Priority Classes of Processes
        2. Setting the Priority of a Process
        3. Executing a Process with a Priority Class
        4. Time Quanta for Real-Time Processes
        5. Displaying the Priority Classes of Processes
        6. Displaying Priority Classes and Limits
        7. The /proc File System
      6. Summary
      7. How to Find Out More
    2. 12 System Security
      1. Security Is Relative
      2. User and Group IDs
        1. Setting User ID Permission
        2. Setting Group ID Permission
      3. Access Control Lists
        1. HP-UX ACLs
      4. Role-Based Access Control
      5. Password Files
        1. The /etc/passwd File
        2. HP-UX Password Security
      6. File Encryption
        1. Using crypt
        2. Strong Replacements for crypt
        3. Compressing and Encrypting Files
      7. Pretty Good Privacy (PGP)
        1. Obtaining and Installing PGP
        2. Configuring PGP
        3. Key Rings and Key Servers
        4. Encrypting Files
        5. Secure Signatures
        6. Decrypting Files
        7. Advanced PGP Features
        8. GNU Privacy Guard (GPG)
      8. Console Locking
      9. Logging Off Safely
      10. Trojan Horses
      11. Viruses and Worms
      12. Security Guidelines for Users
      13. The Restricted Shell (rsh)
      14. Levels of Operating System Security
        1. Minimal Protection (Class D)
        2. Discretionary Security Protection (Class C1)
        3. Controlled Access Protection (Class C2)
        4. Labeled Security Protection (Class B1)
        5. Structured Protection (Class B2)
        6. Security Domains (Class B3)
        7. Verified Design (Class A1)
        8. The Level of UNIX Security
      15. Summary
      16. How to Find Out More
    3. 13 Basic System Administration
      1. Administrative Concepts
        1. Multiuser Concepts
        2. Multitasking Concepts
        3. Administrative Interfaces
        4. Commands
        5. Directory Structure
      2. Setup Procedures
        1. Installing the Console Terminal
        2. Installation
        3. Powering Up
        4. The Superuser
        5. Maintaining the Superuser Login
        6. Setting Date/Time
        7. Setting the Time Zone
        8. Setting System Names
        9. Using Administrative Logins
        10. Startup and Shutdown (Changing System States)
        11. Managing User Logins
        12. Display Default User Environment
        13. Changing Default User Environment
        14. Default profile Files
        15. Adding a User
        16. useradd Options
        17. User Passwords
        18. Blocking User Access
        19. Hard Delete of a User
        20. Soft Delete of a User
        21. Adding a Group
        22. Deleting a Group
        23. Setting Up Terminals and Printers
      3. Maintenance Tasks
        1. Communicating with Users
        2. Checking the System
      4. Security Tips for System Administrators
      5. Summary
      6. How to Find Out More
        1. Web Sites with Useful Information on System Administration
        2. Newsgroups to Consult for Information on System Administration
        3. Journals and Publications on System Administration
    4. 14 Advanced System Administration
      1. Managing Information Storage
        1. Storage Media and UNIX File Systems
        2. UNIX File Systems
        3. Managing Storage Media
        4. UNIX System Directory Structure
        5. Managing Disk Space
        6. Backup and Restore
        7. Backup Plan
        8. Backing Up Data Using uf sdump
        9. Restore Plan
        10. Restoring Data Using uf srestore
        11. Restore Strategy
      2. Managing System Services
        1. Service Access Facility
        2. Process Scheduling Parameters
        3. Display Scheduler Parameters
      3. Summary
      4. How to Find Out More
        1. Web Sites with Useful Information on System Administration
        2. Newsgroups to Consult for Information on System Administration
        3. Journals and Publications on System Administration
  12. Part IV Network Administration
    1. 15 Clients and Servers
      1. Mid-Range Power: The Evolution of Client/Server Computing
      2. Principles of Client/Server Architecture
        1. Clients and Client Functions
        2. Servers and Server Functions
        3. Client/Server Security
      3. File Sharing
        1. Distributed File System Basics
        2. Benefits of Distributed File Systems
        3. NFS Features
        4. Sharing NFS Resources
        5. Unsharing NFS Resources
        6. Mounting Remote NFS Resources
        7. Unmounting a Remote Resource
        8. Displaying Information About Shared Resources
        9. Browsing Shared Resources
        10. Monitoring the Use of Local NFS Resources
      4. Summary
      5. How to Find Out More
    2. 16 The Apache Web Server
      1. An Overview of Web Servers
      2. The History and Popularity of Apache
      3. Apache Installation
        1. Binary Package Installation
        2. Binary Package Installation on UNIX
        3. Source Installation of Apache on UNIX
        4. Apache Modules
      4. Apache Configuration
        1. Elements and Syntax of httpd.conf
        2. User Directories
        3. Virtual Hosts
        4. CGI Support in Apache
        5. CGI Security and Suexec
        6. Password-Protected Web Pages with Basic Authentication
        7. Apache and LAMP
        8. Apache Configuration Front Ends
        9. Apache Log Files
      5. Summary
      6. How to Find Out More
    3. 17 Network Administration
      1. Network Administration Concepts
      2. TCP/IP Administration
        1. Internet Addresses
        2. The Format of Internet Addresses
        3. Obtaining IP Addresses
        4. Installing and Setting Up TCP/IP
        5. Network Provider Setup
        6. Listener Administration
        7. Starting TCP/IP
        8. TCP/IP Security
        9. Administering Anonymous FTP
        10. Troubleshooting TCP/IP Problems
        11. Netcat, the “TCP/IP Swiss Army Knife”
        12. Advanced Features
        13. PPP ADMINISTRATION
      3. DNS (Domain Name Service) Administration
        1. A Brief History of DNS
        2. The Structure of DNS
        3. Top-Level Domains
        4. Subdomains
        5. Fully Qualified Domain Names
        6. Resolvers
        7. DNS Resource Records
        8. The Structure of DNS Database Files
        9. Using NSLOOKUP to Find a Machine on the Network
        10. Using host and dig
      4. sendmail Mail Administration
        1. Monitoring sendmail Performance
        2. Networked Mail Directories
      5. NIS+ (Network Information Service Plus) Administration
      6. NFS (Network File System) Administration
        1. Checking RPC
        2. Setting Up NFS
        3. NFS Security
        4. Secure NFS
        5. Troubleshooting NFS Problems
      7. Firewalls, Proxy Servers, and Web Security
        1. Firewalls for UNIX
        2. Keeping Your Network Safe
        3. Intrusion Detection
        4. Proxy Servers
      8. Summary
      9. How to Find Out More
    4. 18 Using UNIX and Windows Together
      1. Moving to UNIX If You Are a Windows User
        1. Differences Between Windows and the UNIX System
        2. Similarities Between UNIX and Windows
      2. Networking UNIX and Windows Machines
      3. Terminal Emulation
        1. Logging In to Your UNIX System from Your PC
        2. Microsoft Windows Terminal Emulators
      4. Running Windows Applications and Tools on UNIX Machines
        1. Running DOS and Windows Emulators Under UNIX
      5. Sharing Files and Applications Across UNIX and Windows Machines
        1. Accessing Your UNIX Files from a Windows Machine
        2. Using UNIX Servers in Windows Networks
        3. Virtual Network Computing (VNC)
      6. Running UNIX Applications on DOS/Windows Machines
        1. Running an X Window System Server on Your Windows PC
        2. Using Tools to Emulate a UNIX Environment
        3. UNIX Kernel Built-in Capabilities
      7. Running UNIX and Windows Together on the Same Machine
        1. Partitioning a Hard Disk for Use by both UNIX and Windows
        2. VMware
      8. A Simple Solution for Sharing UNIX and Windows Environments
      9. Summary
      10. How to Find Out More
        1. Books on Using Windows and UNIX Together
        2. Journals That Cover Using Windows and UNIX Together
        3. Online Information About Using Windows and UNIX Together
  13. Part V Tools and Programming
    1. 19 Filters and Utilities
      1. Finding Patterns in Files
        1. grep
        2. fgrep
        3. egrep
      2. Compressing and Packaging Files
        1. pack
        2. compress
        3. gzip
        4. tar
      3. Counting Lines, Words, and File Size
        1. wc
        2. nl
      4. Working with Columns and Fields
        1. cut
        2. colrm
        3. paste
        4. join
      5. Sorting the Contents of Files
        1. sort
        2. uniq
      6. Comparing Files
        1. cmp
        2. comm
        3. diff
        4. patch
        5. dircmp
      7. Examining File Contents
        1. od
        2. strings
        3. tac
      8. Editing and Formatting Files
        1. pr
        2. fmt
        3. tr
        4. spell
      9. Saving Output
        1. tee
        2. script
        3. mail
      10. Working with Dates and Times
        1. date
        2. touch
      11. Performing Mathematical Calculations
        1. bc
        2. dc
      12. Summary
      13. How to Find Out More
    2. 20 Shell Scripting
      1. The Shell Language vs. Other Programming Languages
      2. A Sample Shell Script
        1. Executing Your Script
      3. Other Ways to Execute Scripts
        1. Specifying Which Shell to Use
        2. Explicitly Invoking the Shell
        3. Running Scripts in the Current Shell
      4. Putting Comments in Shell Scripts
      5. Working with Variables
        1. Special Variable Expansions
        2. Special Variables for Shell Programs
        3. Arrays and Lists
        4. Working with Strings
      6. Using Command-Line Arguments
        1. Shifting Positional Parameters
        2. The set Command
      7. Arithmetic Operations
        1. Drawbacks of expr
        2. Using let for Arithmetic
      8. Conditional Execution
        1. Testing Logical Conditions
        2. Exiting from Scripts
        3. if ... elif ... else Statements
        4. case Statements
      9. Writing Loops
        1. for Loops
        2. while and until Loops
        3. break and continue
        4. The true and false Commands
        5. Printing Menus with select
      10. Shell Input and Output
        1. The echo Command
        2. The read Command
        3. Here Documents
      11. Creating Functions
      12. Further Scripting Techniques
        1. Command-Line Options in Shell Scripts
        2. Grouping Commands
        3. The trap Command
        4. The xargs Command
      13. Debugging Shell Programs
      14. Summary
      15. How to Find Out More
    3. 21 awk and sed
      1. Versions of awk
      2. How awk Works
        1. Default Patterns and Actions
        2. Working with Fields
        3. Using Standard Input and Output
        4. Running an awk Program from a File
        5. Multiline Programs
      3. Specifying Patterns
        1. Regular Expressions
        2. Comparison Operators
        3. Compound Patterns
        4. Range Patterns
        5. BEGIN and END
      4. Specifying Actions
        1. Variables
        2. Working with Strings
        3. Working with Numbers
        4. Arrays
        5. Control Statements
        6. User-Defined Functions
      5. Input and Output
        1. Getting Input
        2. Using Command-Line Arguments
        3. Printing Output
        4. Sending Output to Files
      6. sed
        1. How sed Works
        2. Selecting Lines
        3. Editing Commands
        4. Replacing Strings
        5. Using sed and awk Together
      7. Troubleshooting Your awk Programs
      8. Summary
      9. How to Find Out More
    4. 22 Perl
      1. Obtaining Perl
      2. Running Perl Scripts
      3. Perl Syntax
      4. Scalar Variables
        1. Working with Numbers
        2. Working with Strings
        3. Variable Scope
        4. Reading in Variables from Standard Input
      5. Arrays and Lists
        1. Reading and Printing Arrays
        2. Modifying Arrays
        3. Array Slices
        4. Sorting Arrays
      6. Hashes
        1. Working with Hashes
      7. Control Structures
        1. if Statements
        2. while Loops
        3. foreach Loops
        4. for Loops
      8. Defining Your Own Procedures
      9. File I/O
        1. Standard I/O
        2. Using Filename Arguments
        3. Opening Files
        4. Opening Command Pipes
        5. Working with Files
      10. Regular Expressions
        1. Pattern Matching
        2. Constructing Patterns
        3. Saving Matches
        4. Substitutions
        5. Translations
        6. More Uses for Regular Expressions
        7. A Sample Program
      11. Perl Modules
      12. Using Perl for CGI Scripting
      13. Troubleshooting
      14. Summary
      15. How to Find Out More
    5. 23 Python
      1. Installing Python
      2. Running Python Commands
      3. Python Syntax
      4. Using Python Modules
      5. Variables
        1. Numbers
        2. Strings
        3. Lists
        4. List Slices
        5. Dictionaries
      6. Control Structures
        1. if Statements
        2. for Loops
        3. while Loops
      7. Defining Your Own Functions
        1. Variable Scope
      8. Input and Output
        1. Getting Input from the User
        2. File I/O
        3. Standard Input, Output, and Error
        4. Using Filename Arguments
      9. Interacting with the UNIX System
        1. File Manipulation
        2. Running UNIX Commands
        3. Opening Pipelines
      10. Regular Expressions
        1. Pattern Matching
        2. Constructing Patterns
        3. Saving Matches
        4. Finding a List of Matches
        5. Splitting a String
        6. Substitutions
        7. Creating Simple Classes
        8. Exceptions
        9. Troubleshooting
        10. Summary
        11. How to Find Out More
    6. 24 C and C++ Programming Tools
      1. Obtaining C/C++ Development Tools
      2. The gcc Compiler
        1. Compiling C Programs Using gcc
        2. Compiling C++ Programs Using gcc and g++
        3. Useful gcc Options
        4. Creating and Including Libraries
        5. Inside gcc
      3. Makefiles
        1. A Short Makefile
        2. Makefile Syntax
        3. Makefiles with Multiple Dependencies
        4. A Complex C++ Makefile
        5. Non-Programming Makefiles
      4. The gdb Debugger
        1. Launching gdb
        2. Common gdb Commands
        3. Debugging with gdb
      5. Source Control with cvs
        1. Obtaining CVS
        2. Configuring Your Environment and Repository
        3. Adding a Project
        4. Checking Out Source Files
        5. Working with Files
      6. Manual Pages
      7. Other Development Tools
      8. Summary
      9. How to Find Out More
    7. 25 An Overview of Java
      1. Object-Oriented Programming
      2. Bytecode and the Java Virtual Machine (JVM)
      3. Applications and Applets
      4. The Java Development Kit (JDK)
      5. A Simple Java Application
        1. Create the Source File
        2. Compile the Source File
        3. Invoke the Java Interpreter
      6. The Eclipse IDE
      7. The Java Language
        1. Comments
        2. Simple Types
        3. Arrays
        4. Operators
        5. Control Statements
        6. Creating Classes and Objects
        7. Class Inheritance
        8. Method Overriding
        9. Static Methods and Variables
        10. Interfaces
        11. Packages
        12. Strings
        13. Vectors
        14. Exceptions
      8. A Simple Java Applet
        1. Create the HTML Source File
        2. Create and Compile the Java Source File
        3. Invoke the Applet Viewer
      9. The Abstract Window Toolkit (AWT)
        1. Event Handling
      10. Multithreaded Programming
      11. Summary
      12. How to Find Out More
  14. Part IV Enterprise Solutions
    1. 26 UNIX Applications and Databases
      1. Commercially Available Software Packages
      2. Open-Source Software
      3. About Specific Packages Mentioned
      4. Horizontal Applications
        1. Office Automation Packages
        2. Word Processing and Desktop Publishing Programs
        3. Text Editors
        4. Text Formatters
        5. Spreadsheet Applications
        6. Database Management Software
        7. Drawing Applications
        8. Graphing Applications
        9. Image Manipulation and Viewing
        10. Audio Applications
        11. Movie Players
        12. Other Multimedia Tools
        13. Games
        14. Internet Applications
        15. Software for Mathematical Computations
        16. UNIX Scientific and Engineering Applications
        17. Software for Running Windows Applications on UNIX Machines
      5. Summary
      6. How to Find Out More
        1. Commercial Software Lists
        2. Books on UNIX Open-Source Software
        3. Journals Regarding UNIX Software
        4. Web Sites for Software Information and Downloads
    2. 27 Web Development under UNIX
      1. History of the Web and Web Standards
        1. The Early Web
        2. The Dynamic Web
        3. HTML Standards
      2. HTML Syntax Basics
        1. A Minimum Document
        2. A Proper Minimum Document
        3. Headings
        4. Paragraphs
        5. Hypertext Links
        6. Inline Images
        7. Image Maps
        8. Named Anchors
        9. Lists
        10. Phrase Markup
        11. Preformatted Text
        12. Comments
        13. Line Breaks
        14. Horizontal Rules
        15. Forms
      3. JavaScript and the Document Object Model
        1. Introduction to JavaScript Usage
        2. The Document Object Model
      4. Cascading Style Sheets
      5. Server-Side Web Applications
        1. The Common Gateway Interface
        2. PHP: Hypertext Preprocessor
      6. Web Authoring Software
        1. Office Suites and Filters
        2. Dedicated Web Page Editors
      7. Summary
      8. How to Find Out More
  15. A How to Use the man (Manual) Pages
    1. Using the Manual Pages
      1. The man Command
      2. The Structure of a Manual Page
      3. Permuted Indexes
      4. Online Manual Pages on the Web
  16. Index