Instructor-Led Red Hat Training

UNIX/Linux Fundamentals & Shell Scripting

5 days

This hands-on course teaches the basic working environment of a Linux system. It introduces commonly required operations that can be performed by entering commands interactively in a command terminal window, along with functions available in the GNOME Desktop Environment. This course presents the Linux computer professional (user, systems administrator, application/system programmer) the techniques needed to develop BASH shell scripting procedures. Each participant will be able to use Linux BASH shell, in some cases Korn Shell, capabilities to maintain collections of files, manipulate data, implement process communication, synchronization, and data sharing.

Students will learn to: 

  • use Linux Bash Shell techniques and commands to maintain collections of files
  • create files using interactive editor utilities
  • create and execute basic command procedures
  • communicate with other users
  • tailor the interactive environment to meet their needs
  • work with and write BASH Shell Scripts
  • maintain files & manipulate data
  • implement process communication, synchronization, and data sharing

Course Outline

Understanding the User Environment

Unix/Linux system overview

process concepts, management, job control

the graphical environment GUI (GNOME)

Getting Started with the Command Language

logging Into a Linux system

Bash shell syntax rules

command line editing

controlling shell history

Shell environment variables

Basic Network Operations

Managing Files

file specification syntax

device specifications

directory specifications

regular expressions and special characters

Linux commands to manipulate files

file protection mechanisms - permissions

Creating and Editing Text Files

using GUI-based editors (gedit)

vim Editor

ex editor (commands within vim)

nano editor

Improving the User Interface

creating command aliases

redirection of input and output

using hard and symbolic links

process control commands

The Secure Shell (ssh)

generating private and public keys

pushing the public key

ssh operations

(trusted) login

file transfers

command execution

virtual terminal usage

User Level Tape Operations

tar / pax utility syntax

tar / pax commands for product access

using compression/uncompression commands

compress / uncompress

gzip / gunzip

Submitting and Controlling Batch Jobs

one-time execution with at

at command controls

periodic execution with crontab

crontab command controls

Writing Bash Shell Scripts

types of shell scripts

layout of a shell script

environment variables

user-defined variables

substitution of variables

command substitution in variables

decision statements (if, case)

looping statement constructs (for, while, until)

typesetting variables for output

typesetting integer variables

developing menus

using and defining functions

handling hardware and software events (trap)

defining and using indexed arrays

Advanced Features in Shell Scripts

defining and using associative arrays

option processing

accessing files, records using pipes

accessing files, records directly with exec

special parameter/variable substitutions

parent-child process communications

socket level communications

Back to top