Course Outline
Introduction
- Learning Objectives
- Schedule Overview
- Course Introduction
- Prerequisites
- Recommended Reading
- Participant Responsibilities
- Course Summary
Review of Basics - optional
- Files
- Directories and Processes
- Listing Directories - ls
- Accessing Help - man
- Viewing File Contents - cat, more
- Basic Commands
- Piping - utilizing the | symbol
- Output Redirection - using the > symbol
- Output Redirection - using the >> symbol
- Input Redirection - using the < symbol
- Error Redirection
- Utilizing /dev/null
- Foreground Jobs
- Background Jobs - &
- Terminating Jobs - kill
- Special Files - . and ..
- Configuring the Command Prompt - PS1
- Creating Aliases
- Using Aliases
- Command History
- Command Line Editing - with Arrow Keys
- Command Line Editing - with vi
- Customizing the Shell
- Home Directory - HOME
- Current Working Directory - pwd
- Navigating Directories - cd
- Creating Directories - mkdir
- Deleting Directories - rmdir
- Interactive Copying - cp -i
- Interactive Moving - mv -i
- Interactive Deleting - rm -i
- Removing Directory Trees - 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
- Creating Shell Scripts
- Testing Commands
- Generating the Script File
- Granting Execute Permissions
- Verifying the Script
- Executing the Script - time
- Executing the Script - dot
- Executing the Script - exec
- Executing the Script - ksh
- Debugging the Script
- Passing Parameters
- The read Command
- Incorporating read in Scripts
- Selecting the Shell
- Formatting Output
- Suppressing Input - stty
Special Characters and Variables
- Quotation Marks
- Quoted Strings - ", '
- Escape Character - *
- Quoted Strings - `
- Using $(...)
- System Variables - set
- Other Special Variables
- User-Defined Variables
- Unsetting User Variables - unset
- Variables within Scripts
- Typeset Command
- Integer Variables
- Special Syntax Constructs
Creating Menus
- Conditions - case
- Building a Menu
- Iteration - while, until
- Pausing Output - sleep
- Pausing Output - dummy read
- Terminating the Script
- Exiting the Loop
- Hidden Option - forking a shell
- Handling Interrupts - trap
- Advanced Interrupt Handling
- Text Highlighting - tput
- Cursor Positioning - backtab \b
- Korn Shell Menu Implementation
Selection
- Conditional Testing
- Testing File Attributes
- Testing File Permissions
- Multiple Tests - Nested ifs
- Multiple Tests - elseif
- The NOT Condition
- Combining Conditions in a Single Test
- Testing Strings
- Using Square Brackets
- Preventing Null Input
- Testing Numerical Values
- Advanced case Statements
- Displaying Variables
- Spacing Considerations
- Testing Command Output
Iteration, Looping
- Arithmetic Operations - let
- Iteration - while, until
- Creating Infinite Loops
- Iteration - for
- Handling Excess Parameters - shift
Sub-scripts and Functions
- Local vs Global Variables
- Sub-scripts
- Export Command
- Exit Status
- Aliases
- Functions
- Useful Function Patterns
- Return Status
- Manipulating Functions
- Functions within Scripts
Advanced Commands
- Debugging - set
- Configuration - set
- Merging Files - join
- Merging Files - paste, basename, and dirname
- Job Control - jobs
- Regular Expressions
- Global Regular Expression Printer - grep
- Extended grep - egrep
- Fixed-string grep - fgrep
- Arithmetic Evaluations - expr
- Arithmetic Evaluations – bc, eval Command,
- Argument Processing
- getopts Command
- Using Arrays
Advanced Edit – vi & sed
- vi - Mapping Key Combinations
- Mapping Control Keys
- Using Abbreviations
- Editing Multiple 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
- Arithmetic Computations
- Functions
- substr
- length
- Action Statements
- Control Flow Statements
- Arrays
- Arrays with for Loops
- awk Examples
Requirements
This course is designed exclusively for individuals who possess a proficient working knowledge of UNIX or have previously 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.