Course Outline
Introduction
- Objectives
- Course Schedule
- Course Introductions
- Prerequisites
- Bibliography
- Delegate Responsibilities
- Course Summary
Review of Basics - Optional
- Files
- Directories and Processes
- Listing Directories - ls
- Accessing Help - man
- Displaying File Contents - cat, more
- Basic Commands
- Piping - using | symbol
- Output Redirection - using > symbol
- Output Redirection - using >> symbol
- Input Redirection - using < symbol
- Error Redirection
- Utilizing /dev/null
- Foreground Jobs
- Background Jobs - &
- Terminating Jobs - kill
- Special Files - . and ..
- The Command Prompt - PS1
- Creating Aliases
- Utilizing Aliases
- Command History
- Command Line Editing - using Arrow Keys
- Command Line Editing - using vi
- Customizing the Shell
- The Home Directory - HOME
- The Working Directory - pwd
- Changing Directories - cd
- Creating Directories - mkdir
- Removing Directories - rmdir
- Interactive Copy - cp -i
- Interactive Move - mv -i
- Interactive Remove - rm -i
- Removing Directories Recursively - rm -r
- Wild Cards - Filename Generation
- Word Count - wc
- Locating Files - find
- Searching for Text in Files - grep, sort, cut, uniq, tr
- Modifying Permissions - chmod
Shell Programming
- Developing Shell Scripts
- Verifying Commands
- Constructing the Script File
- Setting Execute Permissions
- Testing 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
- Employing read in Scripts
- Selecting the Shell
- Formatting the Output
- Suppressing Input - stty
Special Characters and Variables
- Quotation Marks
- Quoted Strings - ", '
- Escape Character - *
- Quoted Strings - `
- Utilizing $(...)
- System Variables - set
- Other Special Variables
- User Variables
- Deleting User Variables - unset
- Variables within Scripts
- Typeset Command
- Integer Variables
- Special Constructs
Creating Menus
- Conditions - case
- Constructing a Menu
- Loops - while, until
- Pacing Output - sleep
- Pacing Output - dummy read
- Terminating the Script
- Exiting the Loop
- Hidden Option - forking a shell
- Handling Interrupts - trap
- Further on Interrupts
- Highlighting Text - tput
- Cursor Positioning - backtab \b
- Korn Shell Menu
Selection Logic
- Conditional Testing
- Evaluating File Attributes
- Evaluating File Permissions
- Complex Tests - Nested ifs
- Complex Tests - elseif
- The NOT Condition
- Multiple Conditions in a Single Test
- String Testing
- Using Square Brackets
- Preventing Null Input
- Number Testing
- Further Details on case
- Displaying Variables
- Inserting Spaces
- Testing Commands
Iteration and Looping
- Arithmetic Operations - let
- Loops - while, until
- Infinite Loop
- Loops - for
- Handling 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
- Managing Functions
- Functions in 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
- Faster grep - fgrep
- Arithmetic Operations - expr
- Arithmetic Operations - bc, eval Command,
- Argument Processing
- getopts Command
- Working with Arrays
Advanced Editing - vi & sed
- vi - Mapping Key Combinations
- Mapping Control Keys
- Using Abbreviations
- Editing Multiple Files
- Regular Expressions
- Global Insert
- Here Document,
- 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
- Debugging awk Scripts
- Passing Parameters
- Using Contains
- printf Function
- Arithmetic Operations
- Functions
- substr
- length
- Action Statements
- Control Flow Statements
- Arrays
- Arrays with for Loops
- awk Examples
Requirements
This course is designed specifically for individuals who possess a solid working knowledge of UNIX or have previously completed the Introduction to UNIX course.
Testimonials (7)
the additional course material is great, and can be used later on; the trainer was engaging throughout sessions, maintained a great energy, helped us a lot in the exercises and was patient, encourage us to keep practicing, shared real productive examples where we would need the samples that were shared during the training hours.
Ionelia
Course - Shell Scripting UNIX/Linux
learning bash
ALIN CRISTIAN
Course - Shell Scripting UNIX/Linux
bash scripting - practice exercises
Ionut D
Course - Shell Scripting UNIX/Linux
Large reach on bash subject.
Catalin Opris
Course - Shell Scripting UNIX/Linux
I liked that we practiced a lot of theory, which is the perfect way to learn new things.
Roxana
Course - Shell Scripting UNIX/Linux
I liked that the trainer adapted to each person and made analogies with real situations
AnaMaria
Course - Shell Scripting UNIX/Linux
Practical approach