| |
| |
| |
Introduction | |
| |
| |
| |
A Quick Review of the Basics | |
| |
| |
Some Basic Commands | |
| |
| |
Displaying the Date and Time: The date Command | |
| |
| |
Finding Out Who's Logged In: The who Command | |
| |
| |
Echoing Characters: The echo Command | |
| |
| |
Working with Files | |
| |
| |
Listing Files: The Is Command | |
| |
| |
Displaying the Contents of a File: The cat Command | |
| |
| |
Counting the Number of Words in a File: The wc Command | |
| |
| |
Command Options | |
| |
| |
Making a Copy of a File: The cp Command | |
| |
| |
Renaming a File: The mv Command | |
| |
| |
Removing a File: The rm Command | |
| |
| |
Working with Directories | |
| |
| |
The Home Directory and Pathnames | |
| |
| |
Displaying Your Working Directory: The pwd Command | |
| |
| |
Changing Directories: The cd Command | |
| |
| |
More on the Is Command | |
| |
| |
Creating a Directory: The mkdir Command | |
| |
| |
Copying a File from One Directory to Another | |
| |
| |
Moving Files Between Directories | |
| |
| |
Linking Files: The In Command | |
| |
| |
Removing a Directory: The rmdir Command | |
| |
| |
Filename Substitution | |
| |
| |
The Asterisk | |
| |
| |
Matching Single Characters | |
| |
| |
Standard Input/Output and I/O Redirection | |
| |
| |
Standard Input and Standard Output | |
| |
| |
Output Redirection | |
| |
| |
Input Redirection | |
| |
| |
Pipes | |
| |
| |
Filters | |
| |
| |
Standard Error | |
| |
| |
More on Commands | |
| |
| |
Typing More Than One Command on a Line | |
| |
| |
Sending a Command to the Background | |
| |
| |
The ps Command | |
| |
| |
Command Summary | |
| |
| |
Exercises | |
| |
| |
| |
What Is the Shell? | |
| |
| |
The Kernel and the Utilities | |
| |
| |
The Login Shell | |
| |
| |
Typing Commands to the Shell | |
| |
| |
The Shell's Responsibilities | |
| |
| |
Program Execution | |
| |
| |
Variable and Filename Substitution | |
| |
| |
I/O Redirection | |
| |
| |
Pipeline Hookup | |
| |
| |
Environment Control | |
| |
| |
Interpreted Programming Language | |
| |
| |
| |
Tools of the Trade | |
| |
| |
Regular Expressions | |
| |
| |
Matching Any Character: The Period (.) | |
| |
| |
Matching the Beginning of the Line: The Caret (^) | |
| |
| |
Matching the End of the Line: The Dollar Sign ($) | |
| |
| |
Matching a Choice of Characters: The [...] Construct | |
| |
| |
Matching Zero or More Characters: The Asterisk (*) | |
| |
| |
Matching a Precise Number of Characters: /{.../} | |
| |
| |
Saving Matched Characters: /(.../) | |
| |
| |
Cut | |
| |
| |
The -d and -f Options | |
| |
| |
Pste | |
| |
| |
The -d Option | |
| |
| |
The -s Option | |
| |
| |
Sed | |
| |
| |
The -n Option | |
| |
| |
Deleting Lines | |
| |
| |
Tr | |
| |
| |
The -s Option | |
| |
| |
The -d Option | |
| |
| |
Grep | |
| |
| |
Regular Expressions and grep | |
| |
| |
The -v Option | |
| |
| |
The -l Option | |
| |
| |
The -n Option | |
| |
| |
Sort | |
| |
| |
The -u Option | |
| |
| |
The -r Option | |
| |
| |
The -o Option | |
| |
| |
The -n Option | |
| |
| |
Skipping Fields | |
| |
| |
The -t Option | |
| |
| |
Other Options | |
| |
| |
Uniq | |
| |
| |
The -d Option | |
| |
| |
Other Options | |
| |
| |
Exercises | |
| |
| |
| |
And Away We Go | |
| |
| |
Command Files | |
| |
| |
Comments | |
| |
| |
Variables | |
| |
| |
Displaying the Values of Variables | |
| |
| |
The Null Value | |
| |
| |
Filename Substitution and Variables | |
| |
| |
The ${variable} Construct | |
| |
| |
Built-in Integer Arithmetic | |
| |
| |
Exercises | |
| |
| |
| |
Can I Quote You on That? | |
| |
| |
The Single Quote | |
| |
| |
The Double Quote | |
| |
| |
The Backslash | |
| |
| |
Using the Backslash for Continuing Lines | |
| |
| |
The Backslash Inside Double Quotes | |
| |
| |
Command Substitution | |
| |
| |
The Back Quote | |
| |
| |
The $(...) Construct | |
| |
| |
The expr Command | |
| |
| |
Exercises | |
| |
| |
| |
Passing Arguments | |
| |
| |
The $# Variable | |
| |
| |
The $* Variable | |
| |
| |
A Program to Look Up Someone in the Phone Book | |
| |
| |
A Program to Add Someone to the Phone Book | |
| |
| |
A Program to Remove Someone from the Phone Book | |
| |
| |
${n} | |
| |
| |
The shift Command | |
| |
| |
Exercises | |
| |
| |
| |
Decisions, Decisions | |
| |
| |
Exit Status | |
| |
| |
The $? Variable | |
| |
| |
The test Command | |
| |
| |
String Operators | |
| |
| |
An Alternative Format for test | |
| |
| |
Integer Operators | |
| |
| |
File Operators | |
| |
| |
The Logical Negation Operator! | |
| |
| |
The Logical AND Operator -a | |
| |
| |
Parentheses | |
| |
| |
The Logical OR Operator -o | |
| |
| |
The else Construct | |
| |
| |
The exit Command | |
| |
| |
A Second Look at the rem Program | |
| |
| |
The elif Construct | |
| |
| |
Yet Another Version of rem | |
| |
| |
The case Command | |
| |
| |
Special Pattern Matching Characters | |
| |
| |
The -x Option for Debugging Programs | |
| |
| |
Back to the case | |
| |
| |
The Null Command | |
| |
| |
The && and II Constructs | |
| |
| |
Exercises | |
| |
| |
| |
'Round and 'Round She Goes | |
| |
| |
The for Command | |
| |
| |
The $@ Variable | |
| |
| |
The for Without the List | |
| |
| |
The while Command | |
| |
| |
The until Command | |
| |
| |
More on Loops | |
| |
| |
Breaking Out of a Loop | |
| |
| |
Skipping the Remaining Commands in a Loop | |
| |
| |
Executing a Loop in the Background | |
| |
| |
I/O Redirection on a Loop | |
| |
| |
Piping Data Into and Out of a Loop | |
| |
| |
Typing a Loop on One Line | |
| |
| |
The getopts Command | |
| |
| |
Exercises | |
| |
| |
| |
Reading and Printing Data | |
| |
| |
The read Command | |
| |
| |
A Program to Copy Files | |
| |
| |
Special echo Escape Characters | |
| |
| |
An Improved Version of mycp | |
| |
| |
A Final Version of mycp | |
| |
| |
A Menu-Driven Phone Program | |
| |
| |
The $$ Variable and Temporary Files | |
| |
| |
The Exit Status from read | |
| |
| |
The printf Command | |
| |
| |
Exercises | |
| |
| |
| |
Your Environment | |
| |
| |
Local Variables | |
| |
| |
Subshells | |
| |
| |
Exported Variables | |
| |
| |
export -p | |
| |
| |
PS1 and PS2 | |
| |
| |
HOME, James | |
| |
| |
Your PATH | |
| |
| |
Your Current Directory | |
| |
| |
CDPATH | |
| |
| |
More on Subshells | |
| |
| |
The . Command | |
| |
| |
The exec Command | |
| |
| |
The (...) and {...;} Constructs | |
| |
| |
Another Way to Pass Variables to a Subshell | |
| |
| |
Your .profile File | |
| |
| |
The TERM Variable | |
| |
| |
The TZ Variable | |
| |
| |
Exercises | |
| |
| |
| |
More on Parameters | |
| |
| |
Parameter Substitution | |
| |
| |
${parameter} | |
| |
| |
${parameter:-value} | |
| |
| |
${parameter:=value} | |
| |
| |
${parameter:?value} | |
| |
| |
${parameter:+value} | |
| |
| |
Pattern Matching Constructs | |
| |
| |
${#variable} | |
| |
| |
The $0 Variable | |
| |
| |
The set Command | |
| |
| |
The -x Option | |
| |
| |
set with No Arguments | |
| |
| |
Using set to Reassign Positional Parameters | |
| |
| |
The--Option | |
| |
| |
Other Options to set | |
| |
| |
The IFS Variable | |
| |
| |
The readonly Command | |
| |
| |
The unset Command | |
| |
| |
Exercises | |
| |
| |
| |
Loose Ends | |
| |
| |
The eval Command | |
| |
| |
The wait Command | |
| |
| |
The $! Variable | |
| |
| |
The trap Command | |
| |
| |
Trap with No Arguments | |
| |
| |
Ignoring Signals | |
| |
| |
Resetting Traps | |
| |
| |
More on I/O | |
| |
| |
[less than sign]&- and [greater than sign]&- | |
| |
| |
Inline Input Redirection | |
| |
| |
Shell Archives | |
| |
| |
Functions | |
| |
| |
Removing a Function Definition | |
| |
| |
The return Command | |
| |
| |
The type Command | |
| |
| |
Exercises | |
| |
| |
| |
Rolo Revisited | |
| |
| |
Design Considerations | |
| |
| |
rolo | |
| |
| |
add | |
| |
| |
lu | |
| |
| |
display | |
| |
| |
rem | |
| |
| |
change | |
| |
| |
listall | |
| |
| |
Sample Output | |
| |
| |
Exercises | |
| |
| |
| |
Interactive and Nonstandard Shell Features | |
| |
| |
Getting the Right Shell | |
| |
| |
The ENV File | |
| |
| |
Command-Line Editing | |
| |
| |
Command History | |
| |
| |
The vi Line Edit Mode | |
| |
| |
Accessing Commands from Your History | |
| |
| |
The Line Edit Mode | |
| |
| |
Accessing Commands from Your History | |
| |
| |
Other Ways to Access Your History | |
| |
| |
The history Command | |
| |
| |
The fc Command | |
| |
| |
The r Command | |
| |
| |
Functions | |
| |
| |
Local Variables | |
| |
| |
Automatically Loaded Functions | |
| |
| |
Integer Arithmetic | |
| |
| |
Integer Types | |
| |
| |
Numbers in Different Bases | |
| |
| |
The alias Command | |
| |
| |
Removing Aliases | |
| |
| |
Arrays | |
| |
| |
Job Control | |
| |
| |
Stopped Jobs and the fg and bg Commands | |
| |
| |
The Restricted Shell rsh | |
| |
| |
Miscellaneous Features | |
| |
| |
Other Features of the cd Command | |
| |
| |
Tilde Substitution | |
| |
| |
Order of Search | |
| |
| |
Compatibility Summary | |
| |
| |
Exercises | |
| |
| |
| |
Shell Summary | |
| |
| |
Startup | |
| |
| |
Commands | |
| |
| |
Comments | |
| |
| |
Parameters and Variables | |
| |
| |
Shell Variables | |
| |
| |
Positional Parameters | |
| |
| |
Special Parameters | |
| |
| |
Parameter Substitution | |
| |
| |
Command Re-entry | |
| |
| |
The fc Command | |
| |
| |
vi Line Edit Mode | |
| |
| |
Quoting | |
| |
| |
Tilde Substitution | |
| |
| |
Arithmetic Expressions | |
| |
| |
Filename Substitution | |
| |
| |
I/O Redirection | |
| |
| |
Exported Variables and Subshell Execution | |
| |
| |
The (...) Construct | |
| |
| |
The {...;} Construct | |
| |
| |
More on Shell Variables | |
| |
| |
Functions | |
| |
| |
Job Control | |
| |
| |
Shell Jobs | |
| |
| |
Stopping Jobs | |
| |
| |
Command Summary | |
| |
| |
The : Command | |
| |
| |
The . Command | |
| |
| |
The alias Command | |
| |
| |
The bg Command | |
| |
| |
The break Command | |
| |
| |
The case Command | |
| |
| |
The cd Command | |
| |
| |
The continue command | |
| |
| |
The echo Command | |
| |
| |
The eval Command | |
| |
| |
The exec Command | |
| |
| |
The exit Command | |
| |
| |
The export Command | |
| |
| |
The false Command | |
| |
| |
The fc Command | |
| |
| |
The fg Command | |
| |
| |
The for Command | |
| |
| |
The getopts Command | |
| |
| |
The hash Command | |
| |
| |
The if Command | |
| |
| |
The jobs Command | |
| |
| |
The kill Command | |
| |
| |
The newgrp Command | |
| |
| |
The pwd Command | |
| |
| |
The read Command | |
| |
| |
The readonly Command | |
| |
| |
The return Command | |
| |
| |
The set Command | |
| |
| |
The shift Command | |
| |
| |
The test Command | |
| |
| |
The times Command | |
| |
| |
The trap Command | |
| |
| |
The true Command | |
| |
| |
The type Command | |
| |
| |
The umask Command | |
| |
| |
The unalias Command | |
| |
| |
The unset Command | |
| |
| |
The until Command | |
| |
| |
The wait Command | |
| |
| |
The while Command | |
| |
| |
| |
For More Information | |
| |
| |
Online Documentation | |
| |
| |
Documentation on the Web | |
| |
| |
Books | |
| |
| |
O'Reilly & Associates | |
| |
| |
Sams and Que | |
| |
| |
Other Publishers | |