Course Outline
Introduction
- Learning Objectives
- Schedule Overview
- Participant Introductions
- Prerequisites
- Recommended Reading
- Participant Responsibilities
- Course Summary
Basics Review - Optional
- Files
- Directories and Processes
- Listing Directories - ls
- Accessing Help - man
- Viewing Files - cat, more
- Basic Commands
- Piping - using the | symbol
- Output Redirection - using the > symbol
- Output Redirection - using the >> symbol
- Input Redirection - using the < symbol
- Error Redirection
- Utilizing /dev/null
- Foreground Processes
- Background Processes - &
- Terminating Jobs - kill
- Special Directory References - . and ..
- Command Prompt Configuration - PS1
- Creating Aliases
- Using Aliases
- Command History
- Command Line Editing - using Arrow Keys
- Command Line Editing - using vi
- Customizing the Shell Environment
- Home Directory - HOME
- Working Directory - pwd
- Changing Directories - cd
- Creating Directories - mkdir
- Removing Directories - rmdir
- Interactive Copy - cp -i
- Interactive Move - mv -i
- Interactive Removal - rm -i
- Recursive Directory Removal - rm -r
- Wildcards - File Name Generation
- Word Counting - wc
- Locating Files - find
- Searching Text in Files - grep, sort, cut, uniq, tr
- Modifying Permissions - chmod
Shell Programming
- Writing Shell Scripts
- Testing Commands
- Creating Script Files
- Granting Execute Permissions
- Script Testing
- Executing Scripts - time
- Executing Scripts - dot
- Executing Scripts - exec
- Executing Scripts - ksh
- Script Debugging
- Parameter Passing
- The read Command
- Using read within Scripts
- Selecting the Shell
- Refining Output
- Input Suppression - stty
Special Characters and Variables
- Quotation Marks
- Quoted Strings - ", '
- Escape Character - *
- Quoted Strings - `
- Using $(...)
- System Variables - set
- Additional Special Variables
- User-Defined Variables
- Unsetting Variables - unset
- Variables in Scripts
- The typeset Command
- Integer Variables
- Special Syntax Constructs
Creating Menus
- Conditional Logic - case
- Menu Creation
- Loops - while, until
- Output Delay - sleep
- Output Delay - dummy read
- Script Termination
- Loop Termination
- Hidden Option - forking a shell
- Handling Interrupts - trap
- Advanced Interrupt Handling
- Text Highlighting - tput
- Cursor Positioning - backtab \b
- Korn Shell Menu Implementation
Selection Logic
- Conditional Testing
- File Attribute Checks
- File Permission Checks
- Complex Tests - Nested ifs
- Complex Tests - elseif
- Negation Condition
- Combined Conditions in a Single Test
- String Evaluation
- Using Square Brackets
- Preventing Null Input
- Numeric Testing
- Advanced case Statements
- Variable Display
- Space Handling
- Command Testing
Iteration and Looping
- Arithmetic - let
- Loops - while, until
- Infinite Loops
- Loops - for
- Handling More Than 9 Parameters - shift
Sub-scripts and Functions
- Local vs. Global Variables
- Sub-scripting
- The export Command
- Exit Status Codes
- Aliases
- Functions
- Commonly Useful Functions
- Return Status
- Function Manipulation
- Functions within Scripts
Advanced Commands
- Debugging - set
- Configuration - set
- File Merging - join
- File Merging - paste, basename, and dirname
- Job Management - jobs
- Regular Expressions
- Global Regular Expression Printer - grep
- Extended Regular Expressions - egrep
- Fixed-String Search - fgrep
- Arithmetic - expr
- Arithmetic – bc, eval Command,
- Argument Handling
- The getopts Command
- Array Usage
Advanced Editing – vi & sed
- vi - Key Combination Mapping
- Control Key Mapping
- Utilizing Abbreviations
- Batch File Editing
- Regular Expressions
- Global Insertion
- Here Documents,
- 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 Operations
- sed Practical Examples
Text File Processing - awk
- The awk Programming Tool
- Pattern Matching
- Regular Expressions
- Comparison Patterns
- Compound Patterns
- Range Patterns
- Special Patterns
- Built-in Functions
- Debugging awk Scripts
- Parameter Passing
- String Containment Check
- The printf Function
- Arithmetic Operations
- User-Defined Functions
- substr Function
- length Function
- Action Statements
- Control Flow Statements
- Arrays in awk
- Arrays with for Loops
- awk Practical Examples
Requirements
This course is designed exclusively for individuals with a solid working knowledge of UNIX or those who have completed 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.