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