Course Outline Introduction
Objectives Course Schedule Course Introductions Pre-requisites Bibliography Delegate Responsibilities Course Summary
Review of Basics - optional
Files Directories and Processes Displaying Directories - ls Getting Help - man Displaying Files - cat, more Simple Commands Piping - using | symbol Redirection - using > symbol Redirection - using >> symbol Redirecting Input - using < symbol Redirecting Errors Using /dev/null Foreground Jobs Background Jobs - & Stopping Jobs - kill Special Files - . and .. The Command Prompt - PS1 Creating Aliases Using Aliases Command history Command Line Edit - using Arrow Keys Command Line Edit - using vi Customising the Shell The Home Directory - HOME The Working Directory - pwd Changing Directories - cd Make Directory - mkdir Remove Directory - rmdir Interactive Copy - cp -i Interactive Move - mv -i Interactive Remove - rm -i Removing Directories - rm -r Wild Cards - File Name Generation Word count - wc Finding Files - find Finding Text in Files - grep, sort, cut, uniq, tr Changing Permissions - chmod
Shell Programming
Creating Shell Scripts Testing the Command Creating the Script File Adding Execute Permissions Testing the Script Running the Script - time Running the Script - dot Running the Script - exec Running the Script - ksh Debugging the Script Passing Parameters The read Command Using read in Scripts Choosing the Shell Tidying The Output Suppressing Input - stty
Special Characters and Variables
Quotation Marks Quoted Strings - ", ' Escape Character - * Quoted Strings - ` Using $(...) System Variables - set Other Special Variables User Variables User Variables - unset Variables in Scripts Typeset Command Integer Variables Special Constructs
Creating Menus
Conditions - case Creating a Menu Iteration - while, until Holding the Output - sleep Holding the Output - dummy read Ending the Script Ending the Loop Hidden Option - forking a shell Trapping Interrupts - trap More on Interrupts Highlighting Text- tput Positioning the Cursor - backtab \b Korn Shell Menu
Selection
Conditional Testing Testing File Attributes Testing File Permissions Multiple Tests - Nested ifs Multiple Tests - elseif The NOT Condition Multiple Conditions in One Test Testing Strings Using Square Brackets Avoiding Null Input Testing Numbers More on case Displaying Variables Placing Spaces Testing Commands
Iteration, Looping
Computations - let Iteration - while, until Infinite Loop Iteration - for More than 9 Parameters - shift
Sub-scripts and Functions
Local and Global Variables Sub-scripts Export Command Exit Status Aliases Functions Useful Functions Return Status Manipulating Functions Functions in Scripts
Advanced Commands
Debugging - set Setting - set Merging Files - join Merging Files - paste, basename and dirname Job Control - jobs Regular Expressions Global Regular Expression Printer - grep Expression grep - egrep Fast grep - fgrep Computations - expr Computations – bc, eval Command, Argument Processing getopts Command Using Arrays
Advanced Edit – vi & sed
vi - Mapping Key Combinations Mapping Control Keys Using Abbreviations Editing Many Files Regular Expressions Global Insert Here document, Batch Stream Editor - sed, sed delete, -d, sed print, -p, sed suppress, -n, sed quit, -q, sed file, -f, sed Multiple Input, sed Find and Replace sed Example
Text File Processing - awk
The awk Programming Tool Pattern Matching Regular Expressions Comparison Patterns Compound Patterns Range Patterns Special Patterns Built-in Functions Troubleshooting awk Scripts Passing Parameters Using Contains printf Function Computations Functions substr length Action Statements Control Flow Statements Arrays Arrays with for Loops awk Examples