Course Outline
Introduction
- Learning Objectives
- Course Timetable
- Course Overview
- 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
- Redirection - using the > symbol
- Redirection - using the >> symbol
- Input Redirection - using the < symbol
- Error Redirection
- 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 Editing - using Arrow Keys
- Command Line Editing - using vi
- Customizing the Shell
- The Home Directory - HOME
- The Working Directory - pwd
- Changing Directories - cd
- Create Directory - mkdir
- Remove Directory - rmdir
- Interactive Copy - cp -i
- Interactive Move - mv -i
- Interactive Remove - rm -i
- Removing Directories - rm -r
- Wildcards - File Name Generation
- Word Count - wc
- Finding Files - find
- Finding Text in Files - grep, sort, cut, uniq, tr
- Modifying Permissions - chmod
Shell Programming
- Creating Shell Scripts
- Testing Commands
- Creating Script Files
- Adding Execute Permissions
- Testing Scripts
- Running Scripts - time
- Running Scripts - dot
- Running Scripts - exec
- Running Scripts - ksh
- Debugging Scripts
- Passing Parameters
- The read Command
- Using 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 Variables
- User Variables - unset
- Variables in Scripts
- Typeset Command
- Integer Variables
- Special Constructs
Creating Menus
- Conditions - case
- Building a Menu
- Iteration - while, until
- Pacing Output - sleep
- Pacing Output - dummy read
- Terminating the Script
- Exiting the Loop
- Hidden Option - forking a shell
- Trapping Interrupts - trap
- Further Details on Interrupts
- Text Highlighting - tput
- Cursor Positioning - 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 a Single Test
- Testing Strings
- Using Square Brackets
- Avoiding Null Input
- Testing Numbers
- More on case
- Displaying Variables
- Spacing
- Testing Commands
Iteration and Looping
- Calculations - let
- Iteration - while, until
- Infinite Loops
- Iteration - 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
- Manipulating Functions
- Functions in Scripts
Advanced Commands
- Debugging - set
- Settings - set
- Merging Files - join
- Merging Files - paste, basename and dirname
- Job Control - jobs
- Regular Expressions
- Global Regular Expression Printer - grep
- Extended grep - egrep
- Fast grep - fgrep
- Calculations - expr
- Calculations – bc, eval Command,
- Argument Processing
- getopts Command
- Using Arrays
Advanced Editing – 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
- Calculations
- Functions
- substr
- length
- Action Statements
- Control Flow Statements
- Arrays
- Arrays with for Loops
- awk Examples
Requirements
This course is designed exclusively for individuals with a solid working knowledge of UNIX or those who have completed an 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