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
Requirements
The course is only suitable for those who have a good working knowledge of UNIX or have attended the Introduction to UNIX course.
Testimonials (4)
I liked the training because it was interactive, the trainer was knowledgeable, and the exercises helped me learn. The hourly breaks also kept me refreshed and focused.
Musat Robert
Course - UNIX/Linux Shell Scripting
I like the manner of presenting the theory and giving practical examples. Very well structured. I also like the fact that the trainer is always on time and has good communication skills.
Louise
Course - UNIX/Linux Shell Scripting
the constant feedback. possibility to ask questions and get the answers, get some working scripts which we were working on, modifying them and improving them at some point.
Nikita - DB Global Technology SRL
Course - UNIX/Linux Shell Scripting
Wojciech and NobleProg focused the itinerary to feet my needs.