Linux Shell Scripting

GL375 - Linux Shell Scripting

Upcoming GL375 Classes

  1. Remote Classroom Training

    May 29 – May 30 2024
    Register now
  2. Remote Classroom Training

    Jul 01 – Jul 02 2024
    Register now

The GL375 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 the GL375 in a format that benefits all students, with or without previous programming experience. Guru Labs 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.

Current Version: H01


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

Supported Distributions:

Red Hat Enterprise Linux 7
SUSE Linux Enterprise 12

Course Outline:

  • Data Munging
    1. Text Processing with Awk
    2. Text Sorting
    3. Duplicate Removal Utility
    4. Extracting Columns of Text
    Lab Tasks
    1. Create "rmhost" function
    2. Create "showenv" function
    3. Parsing Mail Server Logs
    4. Fixing Incorrect Files
  • Security, Whitespace, and Other Gotchas
    1. Gotcha: Quoting Variables
    2. Gotcha: Locales
    3. Gotchas: Maximum Command Length
    4. Gotcha: Whitespace in for Loops
    5. Reading Files with while
    6. Gotcha: $IFS
    7. Gotcha: Printing in .bashrc
    8. Gotcha: Aliases
    Lab Tasks
    1. Renaming MP3 Files
    2. Split and Display $PATH
    3. A tar-based Backup
    1. Challenge
      1. Apache Configuration Files
      2. httpd.conf VirtualHost Configuration
      Lab Tasks
      1. Automated Virtual Host Provisioning
    2. Emacs
      1. Emacs
      2. The Emacs Interface
      3. Basic Emacs
      4. More Emacs Commands
      Lab Tasks
      1. Text Editing with Emacs
    3. The Secure Shell (SSH)
      1. ssh and sshd Configuration
      2. Accessing Remote Shells
      3. Transferring Files
      4. SSH Key Management