| |
| |
Introduction | |
| |
| |
| |
Introduction to UNIX and Shell Tools | |
| |
| |
| |
Shell Basics | |
| |
| |
What Is a Command? | |
| |
| |
What Is the Shell? | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Script Basics | |
| |
| |
The UNIX System | |
| |
| |
Shell Modes and Initialization | |
| |
| |
Getting Help | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Working with Files | |
| |
| |
Listing Files | |
| |
| |
File Contents | |
| |
| |
Manipulating Files | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Working with Directories | |
| |
| |
The Directory Tree | |
| |
| |
Switching Directories | |
| |
| |
Listing Files and Directories | |
| |
| |
Manipulating Directories | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Input and Output | |
| |
| |
Output | |
| |
| |
Input | |
| |
| |
File Descriptors | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Manipulating File Attributes | |
| |
| |
File Types | |
| |
| |
Owners, Groups, and Permissions | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Processes | |
| |
| |
Starting a Process | |
| |
| |
Listing and Terminating Processes | |
| |
| |
Parent and Child Processes | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Shell Programming | |
| |
| |
| |
Variables | |
| |
| |
Working with Variables | |
| |
| |
Environment and Shell Variables | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Substitution | |
| |
| |
Filename Substitution (Globbing) | |
| |
| |
Variable Substitution | |
| |
| |
Command and Arithmetic Substitution | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Quoting | |
| |
| |
Quoting with Backslashes | |
| |
| |
Using Single Quotes | |
| |
| |
Using Double Quotes | |
| |
| |
Quoting Rules and Situations | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Flow Control | |
| |
| |
The if Statement | |
| |
| |
The case Statement | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Loops | |
| |
| |
The while Loop | |
| |
| |
The for and select Loops | |
| |
| |
Loop Control | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Parameters | |
| |
| |
Special Variables | |
| |
| |
Options and Arguments | |
| |
| |
Option Parsing in Shell Scripts | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Functions | |
| |
| |
Using Functions | |
| |
| |
Understanding Scope, Recursion, Return Codes, and Data Sharing | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Text Filters | |
| |
| |
The head and tail Commands | |
| |
| |
Using grep | |
| |
| |
Counting Words | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Filtering Text with Regular Expressions | |
| |
| |
The Basics of awk and sed | |
| |
| |
Using sed | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Filtering Text with awk | |
| |
| |
What Is awk? | |
| |
| |
Using awk Features | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Other Tools | |
| |
| |
The Built-In Commands | |
| |
| |
The sleep Command | |
| |
| |
The find Command | |
| |
| |
xargs | |
| |
| |
The expr Command | |
| |
| |
The bc Command | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Advanced Topics | |
| |
| |
| |
Signals | |
| |
| |
How Are Signals Represented? | |
| |
| |
Dealing with Signals | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Debugging | |
| |
| |
Enabling Debugging | |
| |
| |
Using Syntax Checking | |
| |
| |
Shell Tracing | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Problem Solving with Functions | |
| |
| |
Library Basics | |
| |
| |
Creating a Library | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Problem Solving with Shell Scripts | |
| |
| |
Startup Scripts | |
| |
| |
Maintaining an Address Book | |
| |
| |
Summary | |
| |
| |
Questions | |
| |
| |
Terms | |
| |
| |
| |
Scripting for Portability | |
| |
| |
Determining UNIX Versions | |
| |
| |
Techniques for Increasing Portability | |
| |
| |
Summary | |
| |
| |
Question | |
| |
| |
Terms | |
| |
| |
| |
Shell Programming FAQs | |
| |
| |
Shell and Command Questions | |
| |
| |
Variable and Argument Questions | |
| |
| |
File and Directory Questions | |
| |
| |
Summary | |
| |
| |
| |
Appendixes | |
| |
| |
| |
Command Quick Reference | |
| |
| |
Reserved Words and Built-in | |
| |
| |
Conditional Expressions | |
| |
| |
Arithmetic Expressions (ksh, bash, and zsh Only) | |
| |
| |
Parameters and Variables | |
| |
| |
Input/Output | |
| |
| |
Pattern Matching and Regular Expressions | |
| |
| |
| |
Glossary | |
| |
| |
| |
Answers to Questions | |
| |
| |
| |
Shell Function Library | |
| |
| |
Index | |