Choose your language:

Hong Kong

New Zealand


United Kingdom
United States
Course Code



3-5 Days (depending on topics chosen)


This course provides participants knowledge of the basic features of UNIX (includes AIX, Solaris, HP-UX, Linux, and other products). This includes creating files and directories, assigning permissions, using the vi editor, and basic command line tasks such as sorting a file or searching for text within a file. This course is approximately 50% hands-on labwork.

This course is designed for individuals who are system and application end-users who have little or no experience with the UNIX operating system. Application support personnel, such as database administrators and 4GL programmers, who need a functional familiarity with basic system tools and commands will also find this class helpful.

Upon successful completion of this course, participants will be able to:

  • Use commands to manipulate files (including using the editor)
  • Navigate through the file system
  • Manage processes
  • Customize their environment
1. Unix/Linux Concepts (history of UNIX, background of its development)
What is UNIX?
What is Linux?
Operating System Components
Historical Overview
Features of Linux
Developer Support

2. Unix/Linux Basics (logging in, changing password, running simple commands)
Accessing the System
Issuing Commands
Control Keys and Command Line Editing
General Command Syntax
Online Documentation
Changing Your Password
Logging Out

3. Unix/Linux Files (directory structure, manipulating files, permissions)
Characteristics of Unix/Linux Files
File System Hierarchy
Directories and Subdirectories
Working with Directories
Listing Directory Contents
Special Files
Manipulating Files
Managing Files
Default Permissions (using umask)

4. Shell Basics (I/O redirection, pipes, wildcards, command and variable substitutions, quoting)
Unix/Linux Components
I/O Redirection
Using Pipes
Using Wildcards for Filenames
Command Substitution
Variable Substitution
Introduction to Shell Scripts
Quoting to Prevent Interpretation
Command Parsing Order
Special Shell Scripts

5. The vi Editor (or vim on Linux)
Characteristics of vi
Starting vi
Command Structure (operators and operands)
Shortcuts (keyboard macros)
Inserting Text
Moving the Cursor
Deleting Text
Changing Text
Screen Control (scrolling)
Global Search and Replace
Cut and Paste
Loading, Saving, and Exiting
Setting Options in vi
Miscellaneous Command (only for vim)
Startup Files (.exrc and .vimrc)

6. Using the Bash Shell (command history, aliases, environment variables) (Note1)
Shell Background
Automatic Configuration
Command History
Command Prompt Customization
Command Line Editing
Setting Shell Options
Aliases (command macros)
Predefined Environment Variables
Example Startup Scripts (.profile, etc)

7. Linux Processes (process lifecycle, ps/nice/kill commands, process scheduling)
Process Structure
Process Lifecycle
Monitoring Running Processes
Shell Script Execution
Process Priorities
Modifying the nice Bias
Background Processes
Killing Processes
Job Control

8. Printing with CUPS (job submission and management)
Overview of CUPS Printing
Submitting a Print Job
Print Job Priorities
Job Hold/Resume
Other Job Options

9. Regular Expressions (metacharacters used when searching text files)
The grep Command
Simple Metacharacters
Advanced Metacharacters
Extended Metacharacters (egrep and sed)
The sed Command
Greedy Matching
Overview of awk

10. Data Tools, Part 1 (commands for manipulating text files)
Checkpointing Data With tee
Displaying File Content With cat
Examing Log Files With head and tail
Managing Tabs With expand and unexpand
Field and Character Extraction With cut
Combining Multiple Files With paste
Finding Files That Match Criteria Using find

11. Data Tools, Part 2 (more commands for manipulating text files)
More Efficient Use of find via xargs
Comparing Text Files With diff and sdiff
Using the tr Command to Modify Character Data
Sorting Text Files With sort
Performing Relational Joins Using join

12. Scheduling Jobs With at and cron
Overview of Scheduling
Scheduling One-Shot Jobs: the at Command
Scheduling Periodic Jobs: the crontab Command
Detailed Explanation of a Sophisticated crontab Setup

13. Shell Scripting, Part 1
Why Shell Programming?
Steps to Creating a Script
Menu Building Example Using select
Commenting Your Shell Scripts
Working with Variables
Proper Use of Error Messages
Performing Arithmetic in the Shell
Using expr for String Matching (deprecated)
Interactive Shell Scripts
Control Flow: if-then-else
Test Operations (using test, [ ], and [[ ]])
Control Flow: while Loops
Control Flow: for Loops
Changing the Script Parameters
Changing Loop Flow (break and continue)
Multi-choice case Statements
Exiting a Shell Script
Using select to Build a Menu

14. Shell Scripting, Part 2
Using getopts For Handling Options
Conditional Execution
Managing Temporary Files
Trapping Signals
Performing Floating Point Arithmetic
HERE Documents
Debugging Options in the Shell
Shell Functions
Shell Arrays

For the 5 Day course, these are the additional topics:
Using Graphical User Interfaces (optional topic)
Introduction to Bash Shell Programming (optional topic)
Using TCP/IP (optional topic)
Introduction to Selected User Applications (optional topic) (selection based on client preference)
Send Us a Message
First Name
Last Name
Address Line 1
Address Line 2
Zip Code
Choose one