logo

Linux Course

course overview

Click to View dates & book now

Overview

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: H02

Prerequisites

Prerequisites:

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

Outline

  1. Introduction to the Shell
    1. Shell Script Strengths and Weaknesses
    2. Shells
    3. Switching User Contexts
    4. Example Shell Script
    5. Shell and Environment Variables
    6. Key Environment Variables
    7. Which and Type
    8. General Quoting Rules
    9. Nesting Commands
    10. Help from Commands and Documentation
    11. whereis
    12. Getting Help Within the Graphical Desktop
    13. Getting Help with man & info
    Lab Tasks
    1. Shell Variables
    2. Shell Meta-Characters
    3. Command Substitution
  2. Shell Scripting Basics
    1. Positional Parameters
    2. Input & Output
    3. printf
    4. alias
    5. Functions
    6. Colors in Scripts
    7. Custom Bash Prompts
    Lab Tasks
    1. Aliases
    2. Bash Login Scripts
    3. Create "userinfo" and "sysinfo" functions
  3. Working with Files
    1. Communication Channels
    2. File Redirection
    3. Piping Commands Together
    4. Doing Math
    5. Filesystem Structures
    6. Determining Disk Usage With df and du
    7. cron
    8. The crontab Command
    9. crontab Format
    10. /etc/cron.*/ Directories
    11. Sending Email with mailx
    Lab Tasks
    1. Disk and Filesystem Usage
    2. Redirection and Pipes
  4. Regular Expressions
    1. Searching Inside Files
    2. Regular Expression Overview
    3. Regular Expressions
    4. RE Character Classes
    5. Regex Quantifiers
    6. RE Parenthesis
    7. The Streaming Editor
    Lab Tasks
    1. Pattern Matching with Regular Expressions
    2. Extended Regular Expressions
    3. Using Regular Expressions With sed
  5. Branching and Looping
    1. Exit Status
    2. Comparisons with test
    3. Conditional Statements
    4. Flow Control: case
    5. Flow Control: while and until Loops
    6. The borne for-Loop
    7. Flow Control: select
    Lab Tasks
    1. Reporting User Statistics
    2. Monitoring Filesystem Usage
  6. 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
  7. 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. OpenSSH Client & Server Configuration
    2. Accessing Remote Shells
    3. Transferring Files
    4. SSH Key Management

Talk to an expert

Thinking about Onsite?

If you need training for 3 or more people, you should ask us about onsite training. Putting aside the obvious location benefit, content can be customised to better meet your business objectives and more can be covered than in a public classroom. Its a cost effective option. One on one training can be delivered too, at reasonable rates.

Submit an enquiry from any page on this site, and let us know you are interested in the requirements box, or simply mention it when we contact you.

All $ prices are in USD unless it’s a NZ or AU date

SPVC = Self Paced Virtual Class

LVC = Live Virtual Class

Please Note: All courses are availaible as Live Virtual Classes

Trusted by over 1/2 million students in 15 countries

Our clients have included prestigious national organisations such as Oxford University Press, multi-national private corporations such as JP Morgan and HSBC, as well as public sector institutions such as the Department of Defence and the Department of Health.