Course Outline
Introduction
- Learning Objectives
- Schedule Overview
- Course Introductions
- Prerequisites
- Recommended Bibliography
- Delegate Responsibilities
- Course Summary
Review of Fundamentals - Optional
- Files
- Directories and Processes
- Listing Directories - ls
- Accessing Help - man
- Viewing Files - cat, more
- Basic Commands
- Piping - utilizing the | symbol
- Output Redirection - utilizing the > symbol
- Output Redirection - utilizing the >> symbol
- Input Redirection - utilizing the < symbol
- Error Redirection
- Employing /dev/null
- Foreground Jobs
- Background Jobs - &
- Terminating Jobs - kill
- Special Files - . and ..
- The Command Prompt - PS1
- Establishing Aliases
- Utilizing Aliases
- Command History
- Command Line Editing - Arrow Keys
- Command Line Editing - vi
- Customizing the Shell
- The Home Directory - HOME
- The Current Directory - pwd
- Navigating 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 - Filename Generation
- Word Counting - wc
- Locating Files - find
- Searching Text in Files - grep, sort, cut, uniq, tr
- Modifying Permissions - chmod
Shell Programming
- Developing Shell Scripts
- Testing Commands
- Creating the Script File
- Granting 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
- Implementing read in Scripts
- Selecting the Shell
- Formatting 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
- Removing User Variables - unset
- Variables in Scripts
- The typeset Command
- Integer Variables
- Special Constructs
Creating Menus
- Conditions - case
- Developing a Menu
- Iteration - while, until
- Pausing Output - sleep
- Pausing Output - dummy read
- Ending the Script
- Ending the Loop
- Hidden Option - forking a shell
- Handling Interrupts - trap
- Further Details on Interrupts
- Highlighting Text - tput
- Cursor Positioning - backtab \b
- Korn Shell Menu
Selection
- Conditional Testing
- Testing File Attributes
- Testing File Permissions
- Complex Tests - Nested ifs
- Complex Tests - elseif
- The NOT Condition
- Combining Multiple Conditions in One Test
- Testing Strings
- Utilizing Square Brackets
- Avoiding Null Input
- Testing Numbers
- Further Details on case
- Displaying Variables
- Managing Spaces
- Testing Commands
Iteration and Looping
- Arithmetic Operations - let
- Iteration - while, until
- Infinite Loop
- Iteration - for
- Handling More Than 9 Parameters - shift
Sub-scripts and Functions
- Local and Global Variables
- Sub-scripts
- The export Command
- Exit Status
- Aliases
- Functions
- Useful Functions
- Return Status
- Manipulating Functions
- Functions within Scripts
Advanced Commands
- Debugging - set
- Configuration - set
- Merging Files - join
- Merging Files - paste, basename, dirname
- Job Control - jobs
- Regular Expressions
- Global Regular Expression Printer - grep
- Extended grep - egrep
- Faster grep - fgrep
- Arithmetic Operations - expr
- Calculations - bc, eval Command
- Argument Processing
- getopts Command
- Utilizing 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
- Utilizing 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 exclusively 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