Home About Courses Schedule Services Webinars Contact Search

Introduction to UNIX and Shell Programming


Duration: 5 Days

Method: Instructor led, Hands-on workshops

Price: $2475.00

Course Code: UI1015


Programmers, Analysts, Managers, and Technical Users who require a basic knowledge of how to use the UNIX Operating System.


This course will provide an in-depth introduction to the effective use of the UNIX Operating System. Topics covered include the operating system’s major features and facilities, frequently used commands, command usage, the vi text editor, the File System, file access permissions, redirection of input and output, job control, and basic Korn Shell programming.


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

  • List the types of UNIX files
  • Describe and use various UNIX commands and command line options
  • Use the command history mechanism provided by the Korn Shell
  • Use the ex/vi editor to create and modify files
  • Use Regular Expressions to match characters
  • Describe and use the UNIX file system capabilities
  • Communicate with other users
  • Protect files from unauthorized access using the UNIX file permission capabilities
  • Redirect input and output to and from commands
  • Initiate asynchronous command execution
  • Use the Korn Shell job control mechanism
  • Describe the purpose and functions of the Shell Interpreter
  • Use commands useful for Shell programming
  • Create and execute Shell programs
  • Use additional forms of input and output redirection in conjunction with Shell programs
  • Establish and use parameters and variables within Shell programs
  • Describe and use special Shell variables
  • Use the Shell quoting mechanisms
  • Use all of the Shell control structures
  • Trace, debug, and document Shell programs
  • Process external events


Some understanding of computer systems would prove helpful but not required.


  • I.Introduction To The Unix Operating System
    • Capabilities of the UNIX System
    • Hardware vs. Software
    • Typical UNIX Configurations
    • Setting Up the Terminal
    • Logging On and Off
    • Correcting Typing Errors
  • II.Files And Simple Commands
    • Definition of a File
    • File Naming Conventions
    • File Types
    • UNIX System Command Syntax
    • Listing, Viewing, Copying, Moving, and Removing Files
    • Using the User Reference Manual
    • Using the man Command
  • III.Unix System Text Editor vi
    • Editor Features
    • Relationship of Editor to Shell
    • Editor Command Syntax
    • Putting Text into the Buffer
    • Viewing, Copying, Moving, Deleting and Modifying Text
    • Saving the Buffer
    • Leaving the Editor
  • IV.File System
    • File System Structure
    • The Home Directory
    • Usage of Directory Files
    • Printing, Creating, Changing, and Removing Directories
    • Pathnames
    • Special Directory Names
    • Special Filename Generation Characters
  • V.Communication
    • Sending and Receiving Electronic Mail
    • Communicating Immediately with Another User
    • Communicating with the System Administrator
  • VI.Editor Revisited
    • Additional Editor Commands
    • ex vs. vi
    • Line Addressing Capabilities
    • Setting the Editor Environment
    • Searching for Patterns
    • Regular Expressions and Special Characters
  • VII.File Permissions
    • Ordinary Files
    • Directory Files
    • Determining File Permissions
    • Changing File Permissions
    • Numeric vs. Symbolic Representation
    • Setting Default File Permissions
  • VIII.Additional Unix System Commands
    • Interrogating Files
    • Comparing Files
    • Miscellaneous Commands
    • Command Line History
  • IX.Standard Input and Output
    • Definition of Standard Input and Output
    • Input/Output Redirection
    • Pipelines
    • Filters
    • Job Control
    • Foreground and Background Command Execution
  • X.Shell Introduction
    • What is the Shell Interpreter?
    • Functions of the Shell Interpreter
    • What is a Shell Procedure?
    • Creating Shell Programs
    • Implicit and Explicit Execution
  • XI.Command Lines & If Construct
    • Useful Shell Commands
    • Command Lines
      • Sequential
      • Grouped
      • Conditional Operators
    • The if Construct
    • The if-else Construct
    • The if-elif Construct
  • XII.. Parameters & Variables
    • What is a Variable?
    • Assigning to Variables
    • The Read Statement
    • Quoting
      • Special Characters
      • Backslash
      • Single Quoting
      • Double Quoting
    • The while Loop
    • Special Variables
    • Export and read only
    • Positional Parameters
  • XIII.Test & Case Statements
    • Test Statement Features
      • File Status
      • String Comparison
      • Numeric Comparison
    • Arithmetic Expressions (())
    • Alternative test Statements
      • Single brackets []
      • Double brackets[[]]
    • Extended loop control
      • Break
      • Continue
    • The case Statement
  • XIV.Input/Output Considerations
    • Command Substitution
    • Redirection of Errors Messages
    • The Here Document
    • The for Loop
  • XV.Debugging & Documenting
    • Keyword Parameters
    • Tracing Shell Procedures
    • Handling External Events
    • Comments as Documentation