Let us help you find the training program you are looking for.

If you can't find what you are looking for, contact us, we'll help you find it. We have over 800 training programs to choose from.


Course Skill Level:


Course Duration:

5 day/s

  • Course Delivery Format:

    Live, instructor-led.

  • Course Category:

    Linux & Unix

  • Course Code:


Who should attend & recommended skills:

System administrators, programmers, & power users of Linux

Who should attend & recommended skills

  • Individuals requiring a mastery of the command line interface to the Linux operating system. This course combines aspects of the Advanced Bash Shell Programming course with practical applications for common Linux users including system administrators, programmers, and power users
  • Unix: Completion of an Introduction to Unix or similar course, required
  • Unix/Unix-like operating system command line experience (6 months), required
  • Programming: Not required, but helpful

About this course

Fast-paced course. Shell scripting is equal parts of running commands and processing the results generated by those commands. This course covers the most important of the text processing commands that are frequently used in efficient shell scripts, and combines that with the built-in control functions of the shell to make them fast and effective. Each chapter includes discussion of when to use each feature, so that students gain an understanding of what works best in a particular situation. Best practices are described throughout the course.

Skills acquired & topics covered

  • Write Bash Shell scripts using the following features and more:
  • I/O redirection, pipes, and command and variable substitution
  • Passing parameters to shell scripts and interpreting their meaning
  • Controlling the program flow using conditionals and loops
  • Catch and interpret Control-C and other asynchronous events
  • Apply debugging techniques to quickly locate coding errors

Course breakdown / modules

  • What is Unix?
  • What is Linux?
  • Open Source vs. Free Software vs. Public Domain
  • Linux Components
  • A Historical Overview
  • Linux Features
  • Linux Programming Support

  • Linux Components
  • I/O Redirection
  • Using Pipes
  • Wildcards For Filenames
  • Command Substitution
  • Variable Substitution
  • Quoting To Prevent Interpretation
  • Command Parsing Order
  • Introducing Shell Scripts
  • Special Shell Scripts

  • Automatic Configuration
  • Command History
  • Command Prompt Customization
  • Command Line Editing
  • Set Options
  • Aliases (Command Macros)
  • Environment Variables
  • Example Startup Scripts

  • Review of Regular Expressions
  • Simple metacharacters
  • Advanced metacharacters
  • Extended metacharacters
  • The grep Command
  • The egrep Command

  • Applying Commands in a Script
  • Regular Expressions in sed
  • A Global Perspective on Addressing
  • Testing and Saving Output
  • Four Types of sed Scripts
  • Getting to the Promised Land
  • Basic sed Commands
  • Substitution
  • Delete
  • Append, Insert, and Change
  • List
  • Transform
  • Print
  • Next
  • Reading and Writing Files
  • Quit

  • Multiline Pattern Space
  • Please Hold the Line!
  • Advanced Flow Control Commands
  • To Join a Phrase

  • Overview
  • History of awk, nawk, and gawk
  • Getting Started with awk
  • Regular Expressions in awk
  • Reading Input Files
  • Printing Output
  • Expressions
  • Patterns, Actions, and Variables

  • Arrays in awk
  • Functions
  • Internationalization
  • Advanced Features
  • Library of General Use awk Scripts

  • The gzip and bzip2 Commands
  • The tar Command
  • Common Monitoring Commands
  • The netstat Command
  • The vmstat Command
  • The top Command
  • The ps Command
  • The strace and ltrace Commands
  • The Source: /proc

  • Why Shell Programming?
  • Steps to Creating a Script
  • Menu Building — Example Using select
  • Comments in Shell Scripts
  • Using Single-Value Variables
  • Working With Arrays
  • Parameter Expansion Modifiers
  • How to Correctly Display Error Messages
  • Performing Arithmetic (let and (( )))
  • expr For String Matching
  • Interactive Scripts (the read Command)

  • The if Command
  • Test Operations: test, [ ], and [[ ]]
  • The while Loop
  • The for Loop
  • Changing the Script Parameters (set)
  • Loop Control (break and continue)
  • The case Command
  • Exiting a Shell Script
  • Menu Building — Complete Example

  • Overview of at and crontab
  • The at Command
  • Using crontab
  • Sample Crontab File
  • Summary

  • Using getopts For Handling Command Line Options
  • The trap Command
  • Setting Runtime Options in the Bash Shell

  • Subshells and IO Redirection: ( ), { }, and exec
  • Conditional Execution ( and