Consulting Training Blog Careers About Us Contact Us

Linux Shell Scripting Training

Course ID: GL375
Duration: 2 Days

Upcoming Classes

Sorry, nothing scheduled right now. Click the Get Notified button below to be alerted when a class is scheduled.

Get Notified

On Site/Private

Can't find a class that fits right for you? Contact us to inquire about scheduling your own private class

Contact Us

Description

The Linux Scripting course is designed to provide the skills necessary to automate tasks on a Unix or Linux system. Systems Administrators and Developers alike can avoid errors, save time and money by replacing repetitive work patterns with shell scripts. Care has been taken to present this course in a format that benefits all students, with or without previous programming experience. Intertech believes that the best way to learn shell scripting is writing shell scripts. For this reason, lab time is emphasized. Early labs present the scripting process step by step, while later labs are presented in a challenge format. While official solutions to each lab task are provided, students are encouraged to create their own before examining the solution. In this way, more experienced students are challenged without overwhelming the less experienced.

Supported Distributions:

Red Hat Enterprise Linux 7
SUSE Linux Enterprise 12

Bring This Course To You

For groups of 5 or more, let Intertech bring this course to your location. Customized versions tailored towards your objectives are also available.

Learn More

Prerequisites

Solid understanding of Unix-based systems and proficiency on the Unix or Linux command line.

Course Outline

Introduction to Shell

  • Shell Script Strengths and Weaknesses
  • Shells
  • Switching User Contexts
  • Example Shell Script
  • Shell and Environment Variables
  • Key Environment Variables
  • Which and Type
  • General Quoting Rules
  • Nesting Commands
  • Help from Commands and Documentation
  • whereis
  • Getting Help Within the Graphical Desktop
  • Getting Help with man & info

Lab Tasks

  • Shell Variables
  • Shell Meta-Characters
  • Command Substitution

Shell Scripting Basics

  • Positional Parameters
  • Input & Output
  • printf
  • alias
  • Functions
  • Colors in Scripts
  • Custom Bash Prompts

Lab Tasks

  • Aliases
  • Bash Login Scripts
  • Create "userinfo" and "sysinfo" functions

Working with Files

  • Communication Channels
  • File Redirection
  • Piping Commands Together
  • Doing Math
  • Filesystem Structures
  • Determining Disk Usage With df and du
  • cron
  • The crontab Command
  • crontab Format
  • /etc/cron.*/ Directories
  • Sending Email with mailx

Lab Tasks

  • Disk and Filesystem Usage
  • Redirection and Pipes

Regular Expressions

  • Searching Inside Files
  • Regular Expression Overview
  • Regular Expressions
  • RE Character Classes
  • Regex Quantifiers
  • RE Parenthesis
  • The Streaming Editor

Lab Tasks

  • Pattern Matching with Regular Expressions
  • Extended Regular Expressions
  • Using Regular Expressions With sed

Branching and Looping

  • Exit Status
  • Comparisons with test
  • Conditional Statements
  • Flow Control: case
  • Flow Control: while and until Loops
  • The for Loop
  • Flow Control: select

Lab Tasks

  • Reporting User Statistics
  • Monitoring Filesystem Usage

Data Munging

  • Text Processing with Awk
  • Text Sorting
  • Duplicate Removal Utility
  • Extracting Columns of Text

Lab Tasks

  • Create "rmhost" function
  • Create "showenv" function
  • Parsing Mail Server Logs
  • Fixing Incorrect Files

Security, Whitespace, and Other Gotchas

  • Gotcha: Quoting Variables
  • Gotcha: Locales
  • Gotchas: Maximum Command Length
  • Gotcha: Whitespace in for Loops
  • Reading Files with while
  • Gotcha: $IFS
  • Gotcha: Printing in .bashrc
  • Gotcha: Aliases

Lab Tasks

  • Renaming MP3 Files
  • Split and Display $PATH
  • A tar-based Backup

CHALLENGE

  • Apache Configuration Files
  • httpd.conf VirtualHost Configuration

Lab Tasks

  • Automated Virtual Host Provisioning

Emacs

  • Emacs
  • The Emacs Interface
  • Basic Emacs
  • More Emacs Commands

Lab Tasks

  • Text Editing with Emacs

The Secure Shell (SSH)

  • ssh and sshd Configuration
  • Accessing Remote Shells
  • Transferring Files
  • SSH Key Management

Free Resources from Intertech

Free On-Demand Video Bundle: IoT, Agile/Scrum, and Leadership

Free Whitepaper: Design and Code Review Checklist

UX Design: 4 Key Factors to Know Before Starting

X