The book is laced with many diagrams and tables, hundreds of in-chapter tutorials and interactive shell sessions, in--chapter exercises, and end-of chapter problems. A syntax box for every command, tool, and application covered describes the syntax of the command, its purpose, the output produced by the command, and its useful options and features. In addition, every chapter contains a summary of the material covered in the chapter.\r\n
Chapter 1 Overview of Operating Systems\r\n\r\n1.1 Introduction\r\n1.2 What Is an Operating System?\r\n1.3 Operating System Services\r\n1.4 Character Versus Graphical User Interfaces\r\n1.5 Types of Operating Systems\r\n1.6 The UNIX Family\r\nSummary\r\nProblems\r\n\r\nChapter 2 Brief History of the UNIX Operating System\r\n\r\n2.1 Introduction\r\n2.2 Historical Development of the UNIX Operating System\r\n2.2.1 Beginnings\r\n2.2.2 Research Operating System\r\n2.2.3 AT&T System V\r\n2.2.4 Berkely Software Distributions\r\n2.2.5 The History of Shells\r\n2.2.6 Current and Future Developments--LINUX\r\n2.3 Variations in UNIX Systems\r\nSummary\r\nProblems\r\n\r\nChapter 3 Getting Started\r\n\r\n3.1 Introduction\r\n3.2 Computer System Hardware\r\n3.2.1 Main/Primary storage\r\n3.2.2 Central Processing Unit (CPU)\r\n3.2.3 Disk\r\n3.2.4 Bus\r\n3.2.5 I/O Devices\r\n3.3 UNIX Software Architecture\r\n3.3.1 Device Driver Layer\r\n3.3.2 The UNIX Kernel\r\n3.3.3 The System Call Interface\r\n3.3.4 Language Libraries\r\n3.3.5 UNIX Shell\r\n3.3.6 Applications\r\n3.4 Logging On and Logging Off\r\n3.5 Correcting Mistakes\r\n3.6 Some Important System Setups\r\n3.7 Some Useful Commands for the Beginner\r\n3.7.1 Changing Your Password\r\n3.7.2 Getting Help\r\n3.7.3 Finding Out Who You Are and What the Name of Your UNIX System Is\r\nSummary\r\nProblems\r\n\r\nChapter 4 UNIX Shells\r\n\r\n4.1 Introduction\r\n4.2 Various UNIX Shells\r\n4.2.1 Shell Programs\r\n4.2.2 Which Shell Suits Your Needs?\r\n4.2.3 Ways to Change Your Shell\r\n4.2.4 Shell Start-up Files and Environment Variables\r\n4.3 Some Other Useful General-Purpose Commands\r\n4.3.1 Creating and Displaying Directories\r\n4.3.2 Displaying Files\r\n4.3.3 Printing Files\r\n4.3.4 Displaying a Calendar\r\n4.3.5 One-Way Real-Time Messaging\r\n4.3.6 Notification of and Permission for Electronic Communication\r\n4.3.7 Creating Pseudonyms for Commands\r\n4.3.8 Displaying System Up Time\r\n4.4 Shell Metacharacters\r\nSummary\r\nProblems\r\n\r\nChapter 5 Editing Text Files\r\n\r\n5.1 Introduction\r\n5.2 How to Do Short and Simple Edits by using the pico Editor\r\n5.2.1 Creating the Text of an e-mail Message with the pico Text Editor\r\n5.2.2 How to Start, Save a File, and Exit\r\n5.2.3 General Keystroke Commands and Cursor Management\r\n5.2.4 Cutting/Pasting and Searching\r\n5.3 Obtaining More Control by Using the vi Editor\r\n5.3.1 Shell Script File\r\n5.3.2 How to Start, Save a File, and Exit\r\n5.3.3 The Format of a vi Command and the Modes of Operation\r\n5.3.4 Cursor Movement and Editing Commands\r\n5.3.5 Yank and Put (Copy and Paste) and Substitute (Search and Replace)\r\n5.3.6 Setting the vi Environment\r\n5.3.7 Executing Shell Commands from Within vi\r\n5.4 Getting the Maximum Control by Using the emacs Editor\r\n5.4.1 DOS Aliases\r\n5.4.2 How to Start, Save a File, and Exit\r\n5.4.3 Cursor Movement and Editing Commands\r\n5.4.4 Keyboard Macros\r\n5.4.5 Cut or Copy and Paste and Search and Replace\r\n5.5 Optional--How to Do Graphical Editing by Using emacs and the X Window System\r\n5.5.1 Editing Data Files\r\n5.5.2 How to Start, Save a File, and Exit\r\n5.5.3 X Window emacs Menus\r\nSummary\r\nProblems\r\n\r\nChapter 6 Electronic Mail\r\n\r\n6.1 Introduction\r\n6.2 How to Use the UNIX mail Command Effectively\r\n6.2.1 Sending and Reading e-mail with the UNIX mail Command\r\n6.2.2 Sending e-mail with mail\r\n6.2.3 Reading e-mail with mai1\r\n6.2.4 Saving Messages in Folders\r\n6.2.5 Replying to and Forwarding Messages--and Including Attachments\r\n6.2.6 mail Aliases\r\n6.3 elm--A Full Screen Display e-mail System\r\n6.3.1 Sending a Message in elm\r\n6.3.2 Sending e-mail with elm\r\n6.3.3 Reading e-mail in elm\r\n6.3.4 Forwarding and Replying to an e-mail Message in elm\r\n6.3.5 Saving Messages in Folders\r\n6.3.6 elm Aliases\r\n6.4 pine--Another Full-Screen Display e-mail System\r\n6.4.1 Sending an e-mail Message by Using pine with an Attachment Created in vi\r\n6.4.2 Sending e-mail with pine\r\n6.4.3 Reading e-mail with pine\r\n6.4.4 Disposing of e-mail in Folders in pine\r\n6.4.5 Using the pine Address Book\r\n6.4.6 A Summary of pine Commands\r\nSummary\r\nProblems\r\n\r\nChapter 7 Files and File System Structure\r\n\r\n7.1 Introduction\r\n7.2 The UNIX File Concept\r\n7.3 Types of Files\r\n7.3.1 Simple/Ordinary File\r\n7.3.2 Directory\r\n7.3.3 Link File\r\n7.3.4 Special File (Device)\r\n7.3.5 Named Pipe (FIFO)\r\n7.4 File System Structure\r\n7.4.1 File System Organization\r\n7.4.2 Home and Present Working Directories\r\n7.4.3 Pathnames: Absolute and Relative\r\n7.4.4 Some Standard Directories and Files\r\n7.5 Navigating the File Structure\r\n7.5.1 Determining the Absolute Pathname for Your Home Directory\r\n7.5.2 Browsing the File System\r\n7.5.3 Creating Files\r\n7.5.4 Creating and Removing Directories\r\n7.5.5 Determing File Attributes\r\n7.5.6 Determing the Type of a File's Contents\r\n7.6 File Representation and Storage in UNIX\r\n7.7 Standard Files and File Descriptions\r\n7.8 End of File (eof) Marker\r\nSummary\r\nProblems\r\n\r\nChapter 8 File Security\r\n\r\n8.1 Introduction\r\n8.2 Password-Based Protection\r\n8.3 Encryption-Based Protection\r\n8.4 Protection Based on Access Permission\r\n8.4.1 Types of Uses\r\n8.4.2 Types of File Operations/Access Permissions\r\n8.5 Determining and Changing File Access Privileges\r\n8.5.1 Determing File Access Privileges\r\n8.5.2 Changing File Access Privileges\r\n8.5.3 Default File Access Privileges\r\n8.6 Special Acces Bits\r\n8.6.1 The Set-User-ID (SUID) Bit\r\n8.6.2 The Set-Group-ID (SGID) Bit\r\n8.6.3 The Sticky Bit\r\nSummary\r\nProblems\r\n\r\nChapter 9 Basic File Processing\r\n\r\n9.1 Introduction\r\n9.2 Viewing Contents of Text Files\r\n9.2.1 Viewing Complete Files\r\n9.2.2 Viewing Files One Page at a Time\r\n9.2.3 Viewing the Head or Tail of a File\r\n9.3 Copying, Moving, and Removing Files\r\n9.3.1 Copying Files\r\n9.3.2 Moving Files\r\n9.3.3 Removing/Deleting Files\r\n9.3.4 Determing File Size\r\n9.4 Appending to Files\r\n9.5 Combining Files\r\n9.6 Comparing Files\r\n9.7 Removing Repeated Lines\r\n9.8 Printing Files and Controlling Print Jobs\r\n9.8.1 UNIX Mechanism for Printing Files\r\n9.8.2 Printing Files\r\n9.8.3 Finding the Status of Your Print Requests\r\n9.8.4 Canceling Your Print Jobs\r\nSummary\r\nProblems\r\n\r\nChapter l0 Advanced File Processing\r\n\r\n10.1 Introduction\r\n10.2 Regular Expressions\r\n10.3 Compressing Files\r\n10.4 Sorting Files\r\n10.5 Searching for Commands and Files\r\n10.6 Searching Files\r\n10.7 Cutting and Pasting\r\n10.8 Encoding and Decoding\r\n10.9 The Encryption and Decryption\r\nSummary\r\nProblems\r\n\r\nChapter 11 File Sharing\r\n\r\n11.1 Introduction\r\n11.2 Duplicate Shared Files\r\n11.3 Common Login for Memebers of a Team\r\n11.4 Setting Appropriate Access Permissions on Shared Files\r\n11.5 Common Group for Members of a Team\r\n11.6 File Sharing Via Links\r\n11.6.1 Hard Links\r\n11.6.2 Drawbacks of Hard Links\r\n11.6.3 Soft/Symbolic Links\r\n11.6.4 Pros and Cons of Symbolic Links\r\nSummary\r\nProblems\r\n\r\nChapter 12 Redirection and Piping\r\n\r\n12.1 Introduction\r\n12.2 Standard Files\r\n12.3 Input Redirection\r\n12.4 Output Redirection\r\n12.5 Combining Input and Output Redirection\r\n12.6 I/O Redirection with File Descriptors\r\n12.7 Redirection Standard Error\r\n12.8 Redirecting stdout and stderr in One Command\r\n12.9 Redirecting stdin, stdout, and stderr in One Command\r\n12.10 Redirecting Without Overwriting File Contents (Appending)\r\n12.11 UNIX Pipes\r\n12.12 Redirection and Piping Combined\r\n12.13 Error Redirection in the C Shell\r\n12.14 Recap of I/O and Error Redirection\r\nSummary\r\nProblems\r\n\r\nChapter 13 Processes\r\n\r\n13.1 Introduction\r\n13.2 Running Multiple Processes Simultaneously\r\n13.3 UNIX Process States\r\n13.4 Execution of Shell Commands\r\n13.5 Process Attributes\r\n13.6 Process and Job Control\r\n13.6.1 Foreground and Background Processes and Related Commands\r\n13.6.2 UNIX Daemons\r\n13.6.3 Sequential and Parallel Execution of Commands\r\n13.6.4 Abnormal Termination of Commands and Processes\r\n13.7 Process Hierarchy in UNIX\r\nSummary\r\nProblems\r\n\r\nChapter 14 Networking and Internetworking\r\n\r\n14.1 Introduction\r\n14.2 Computer Networks and Internetworks\r\n14.3 The Reasons for Computer Networks and Internetworks\r\n14.4 Network Models\r\n14.5 The TCP/IP Protocol Suite\r\n14.5.1 TCP and UDP\r\n14.5.2 Routing of Application Data--The Internet Protocol (IP)\r\n14.5.3 IPv4 Addresses in Dotted Decimal Notation\r\n14.5.4 Symbolic Names\r\n14.5.5 Translating Names to IP Addresses--The Domain Name System\r\n14.6 Internet Services and Protocols\r\n14.7 The Client-Server Software Model\r\n14.8 Application Software\r\n14.8.1 Displaying the Host Name\r\n14.8.2 Displaying List of Users Using Hosts on a Network\r\n14.8.3 Displaying the Status of Hosts on a Network\r\n14.8.4 Testing a Network Connection\r\n14.8.5 Displaying Information about Users\r\n14.8.6 Remote Login\r\n14.8.7 Remote Command Execution\r\n14.8.8 File Transfer\r\n14.8.9 Remote Copy\r\n14.8.10 Interactive Chat\r\n14.8.11 Tracing the Route from One Site to Another Site\r\nSummary\r\nProb1ems\r\n\r\nChapter 15 Introductory Bourne Shell Programming\r\n\r\n15.1 Introduction\r\n15.2 Running a Bourne Shell Script\r\n15.3 Shell Variables and Related Commands\r\n15.3.1 Reading and Writing Shell Variables\r\n15.3.2 Command Substitution\r\n15.3.3 Exporting Environment\r\n15.3.4 Resetting Variables\r\n15.3.5 Creating Read-Only User-Defined Variables\r\n15.3.6 Reading from Standard Input\r\n15.4 Passing Arguments to Shell Scripts\r\n15.5 Comments and Program Headers\r\n15.6 Program Control Flow Commands\r\n15.6.1 The if-then-elif-else-fi Statement\r\n15.6.2 The for Statement\r\n15.6.3 The while Statement\r\n15.6.4 The until Statement\r\n15.6.5 The break and continue Commands\r\n15.6.6 The case Statement\r\nSummary\r\nProblems\r\n\r\nChapter 16 Advanced Bourne Shell Programming\r\n\r\n16.1 Introduction\r\n16.2 Numeric Data Processing\r\n16.3 The Here Document\r\n16.4 Interrupt (Signal) Processing\r\n16.5 The exec Command and File I/O\r\n16.5.1 Execution of a Command Without Creating a New Process\r\n16.5.2 File I/O via the exec Command\r\n16.6 Functions in the Bourne Shell\r\n16.6.1 The Reasons for Functions\r\n16.6.2 Function Definition\r\n16.6.3 Function Invocation/Call\r\n16.6.4 Examples of Functions\r\n16.7 Debugging Shell Programs\r\nSummary\r\nPrograms\r\n\r\nChapter 17 Introductory C Shell Programming\r\n\r\n17.1 Introduction\r\n17.2 Running a C Shell Script\r\n17.3 Shell Variables and Related Commands\r\n17.3.1 Reading and Writing Shell Variables\r\n17.3.2 Command Substitution\r\n17.3.3 Exporting Environment\r\n17.3.4 Resetting Variables\r\n17.3.5 Reading from Standard Input\r\n17.4 Passing Arguments to Shell Scripts\r\n17.5 Comments and Program Headers\r\n17.6 Program Control Flow Commands\r\n17.6.1 The if the-e1se-endif Statement\r\n17.6.2 The foreach Statement\r\n17.6.3 The while Statement\r\n17.6.4 The break, continue, and goto Commands\r\n17.6.5 The switch Statement\r\nSummary\r\nProblems\r\n\r\nChapter 18 Advanced C Shell Programming\r\n\r\n18.1 Introduction\r\n18.2 Numeric Data Processing\r\n18.3 Array Processing\r\n18.4 The Here Document\r\n18.5 Interrupt (Signal) Processing\r\n18.6 Debugging Shell Programs\r\nSummary\r\nProblems\r\n\r\nChapter 19 File System Backup\r\n\r\n19.1 Introduction\r\n19.2 Archiving and Restoring Files Via tar\r\n19.2.1 Archiving Files\r\n19.2.2 Restoring Archived Files\r\n19.2.3 Copying Directory Hierarchies\r\n19.3 Software Distributions in the tar Format\r\nSummary\r\nProblems\r\n\r\nChapter 20 Unix Tools for Software Development\r\n\r\n20.1 Introduction\r\n20.2 Computer Programming Languages\r\n20.3 The Compilation Process\r\n20.4 The Software Engineering Life Cycle\r\n20.5 Program Generation Tools\r\n20.5.1 Generating C Source Files\r\n20.5.2 Indenting C Source Code\r\n20.5.3 Compiling C Programs\r\n20.5.4 Handling Module-Based C Software\r\n20.5.5 Building Object Files into a Library\r\n20.5.6 Working with Libraries\r\n20.5.7 Version Control\r\n20.6 Stattic Analysis Tools\r\n20.6.1 Verifying Code for Portability\r\n20.6.2 Source Code Metrics\r\n20.7 Dynamic Analysis Tools\r\n20.7.1 Tracing Program Execution\r\n20.7.2 Source Code Debugging\r\n20.7.3 Run-Time Performance\r\nSummary\r\nProblems\r\n\r\nChapter 21 X Window System --The UNIX Graphical User Interface\r\n\r\n21.1 Introduction\r\n21.2 User-Computer Interactivity and the X Window System\r\n21.2.1 The Key Components of Interactivity--Events and Request\r\n21.3 The Role of a Window Manager in the User Interface and fvwm\r\n21.3.1 Functions and Appearance of the Window Manager Interface\r\n21.3.2 The Appearance and Operation of fvwm\r\n21.4 Customizing the X Window System and fvwm\r\n21.4.1 Command Line Changes to an X Window System Application\r\n21.4.2 Preference Changes in .Xdefaults and .xinitrc Initialization Files\r\n21.4.3 Typical Changes in .fvwmrc to Customize the fvwm Window Manager\r\nSummary\r\nProblems\r\n\r\nAppendix: Command Dictionary\r\nGlossary\r\nIndex
无封面