AIX Essentials and Shell Programming

Length: 5 Days

Prerequisite: Basic computer skills

Length: 5 days

Recommendation Statement:
Student should be able to use a computer monitor, keyboard, mouse. Student needs to be able to input commands and control characters from a keyboard.

Course Description:
For those new to AIX, this is the first course you will take. The course starts at the beginner level and works into intermediate and advanced AIX commands and utilities. The student is introduced to the AIX Korn shell, the command line and command syntax. Although you will be exposed to the various windowing platforms available in AIX, this course teaches UNIX at “the command line level” to develop a thorough understanding of the AIX operating environment.

The student learns how to navigate the AIX file systems and how to work with files, directories and permissions. The student will learn how to use the AIX editors “ex” and “vi. “

Once the student is comfortable with basic AIX commands, they’ll move onto advanced power tools as well as how to customize the POSIX Korn shell. The student will learn how to combine shell variables, shell built-ins and UNIX power tools to build complex POSIX (Korn) shell scripts.

The classroom labs are run in a real-world AIX environment, are structured to allow you to learn by doing, and are developed to simulate “real world” situations. The hands-on labs progressively build your AIX knowledge and command skills in a clear and concise manner.

Working in a controlled UNIX classroom environment with an expert instructor, you will learn AIX concepts and commands. You will receive professional tips and techniques that will help you build your AIX confidence and skills

Upon completion of this course, you should be able to:

  • Log in and log out of the AIX OS
  • Use the Common Desktop Environment tools (CDE) and GNome window system
  • Compose command-line strings to perform functions
  • Navigate the directory tree
  • Manipulate text files
  • Create files and directories
  • Back up and restore user files and directories
  • Change permissions of files and directories
  • Use the vi text editor
  • Identify and modify initialization files
  • Employ shell features to streamline command execution
  • Use basic network commands
  • Use commands to search directories and files
  • List active user processes and selectively kill user processes
  • Learn advanced shell programming techniques

AIX Essentials and Shell Programming

Detailed Course Outline

Introduction to the AIX Operating System

  • Understand the evolution of the AIX OS 
  • Understand how to identify your AIX Distribution and OS release
  • AIX standardization – an overview of standards in the AIX community
  • Describe AIX shells (which shells are available, compare the common AIX shells, how to choose a shell)
  • Describe the AIX kernel

Establishing Communication

  • Log in and starting a shell session
  • GUI desktop environments available to the AIX user
  • Understanding the AIX command syntax
  • Using emulation programs to access the system (ie. Putty / X-Windows / Telnet / CDE – Common Desktop)
  • Setting your terminal environment (stty)
  • Executing commands from the command line; AIX Command syntax
  • Using the AIX “help” facility: manual pages

Introduction to the Filing System

  • Examining AIX files and directories
  • Describe the AIX file system and directory structure
  • Navigating the AIX directory hierarchy
  • Understand the difference between full and relative paths
  • Understanding the current and parent directories
  • Understanding the differences between a Windows/DOS based filesystem and a AIX file system
  • Differences between Windows (DOS) files and AIX files
  • Describe mount points – mounting and unmounting filesystems
  • Describe hard and symbolic links
  • Describe home directories
  • Disk space and checking the status of disks, filesystems, and directories (ie. du and df commands)

File Management

  • Creating directories
  • Copying files and directories
  • Moving and renaming files and directories
  • Removing files and directories
  • Using shell metacharacters
  • Locating files by name, owner, type and other parameters using the ‘find’ command

AIX Permissions

  • Understanding permissions
  • File permissions
  • Directory permissions
  • Change permissions with symbolic mode
  • Change permissions with absolute (octal) mode
  • Determine and set the umask value

Redirection Filters and Pipes

  • Exploring standard input, standard output, and standard error
  • Using filters
  • Using pipes

Using the vi Editor

  • Understand the AIX command line ASCII editors
  • Understand the Vi modes
  • Create/view/manipulate/save/delete files using the Vi editor
  • Use a Vi initialization file

Introduction to shell scripts

  • Creating simple shell scripts
  • Choosing a Shell for your scripts
  • The Korn Shell and Variables
  • Understand the Pros and Cons of all the AIX shells
  • Displaying the shell default variables
  • Create/Remove user shell variables
  • stty to set terminal types (backspace, etc.)

Introduction to the POSIX shell

  • Shell initialization files (.profile, .kshrc)
  • Understand set, export and env builtins for the korn shell
  • Use korn shell variables
  • Assign values to shell variables
  • Display the value of shell variables
  • Make variables available to subprocesses using the export statement
  • Display the value of environment variables
  • Unset shell and environment variables
  • Customize the user environment using shell initialization files
  • Perform arithmetic operations
  • Create and use aliases
  • Display aliases and the values assigned to them
  • Display the built-in aliases
  • Customize the korn shell environment
  • Use the tilde expansion and command substitution features of the korn shell

Using Aliases and Functions

  • Introducing the alias concept
  • Using functions
  • Making your aliases and functions permanent
  • Removing aliases and functions

Command Editing and Command History

  • Enabling command editing in the korn shell
  • Using history to recall commands
  • The command history file

System Status and Command Information

  • Displaying system information and user status
  • Determining command locations

Multitasking Capabilities

  • Introduction to multitasking in the AIX environment
  • Managing jobs and background processes
  • Using the process table to manage processes
  • Introducing delayed and detached jobs
  • Display system processes
  • Use processes and process identifiers (PIDs)
  • Identify parent and child processes
  • Terminate processes using the kill command

Advanced File Management

  • Creating links
  • Processing files with “awk”, “tr”, and “sed”
  • Use awk/nawk commands from the command line
  • Write awk programs to generate data reports from text files
  • Write awk programs to generate numeric and text reports from text files

Command line data processing

  • Using awk to display file contents and process data
  • Formatting files with the tr command
  • Using AIX filters to filter, sort and restructure data
  • Use awk to scan text files or standard input to display specific data, change data format, and add text to existing data

Archiving User Data

  • Managing file space
  • Archiving files and directories
  • Compressing files
  • Use the tar utility to store files
  • Backup files with the tar and compress commands
  • Use compression tools to save storage space (zip, gzip, etc)

Printing

  • Accessing printers and printing from the  shell

Remote Connections

  • Remotely access a system using telnet or ssh
  • Transfer files with sftp and scp (using the command line)

Regular Expressions and the grep Command

  • Use and describe regular expressions
  • Describe the grep command
  • Use the grep command to find patterns in a file
  • Use the regular expression characters with the grep command
  • Metacharacters
  • The grep command

Stream Editing with ‘sed’

  • Use sed to perform noninteractive editing tasks
  • Substituting text
  • Deleting and printing lines
  • Reading and writing files
  • Multiple ‘sed’ editor functions
  • Use regular expression characters with sed 

Writing and Debugging Scripts

  • Creating a shell script
  • Put comments in a script
  • Change permissions on a script
  • Execute a script
  • Debug a script

String Manipulation

  • String Comparison
  • String Relations
  • Concatenation
  • Substring Manipulations
  • Wildcards and Pattern Matching

Conditionals

  • Use the exit status of a command as conditional control
  • Use the “if” statement to test a condition
  • Pass values using command-line arguments (positional parameters) into a script
  • Create USAGE messages
  • Place parameters on the command line
  • Use conditional if, then, elif, else, and fi constructs
  • Use exit, let, and test statements ([[ ]], ” “)
  • Apply the &&, ||, and ! Boolean logic operators
  • Use the case statement

Interactive Scripts

  • Use the print and echo commands to display text
  • Use the read command to interactively assign data to a shell variable
  • Read user input into one or more variables, using one read statement
  • Use special characters, with print and echo, to make the displayed text more user friendly
  • Create a “here” document
  • Use file descriptors to read from and write to multiple files

Loops

  • Write scripts that use for, while, and until loops
  • Write a script using the select statement
  • Describe when to use loops within a script
  • Generate argument lists using command, variable, and file-name substitution

Advanced Variables, Parameters, and Argument Lists

  • Declare strings, integers, and array variables
  • Manipulate string variables
  • Change the values of the positional parameters using the set statement within a script
  • Pass values using command-line arguments (positional parameters) into a script
  • Declare string and array variables
  • Setting and retrieving arrays
  • Set default values for parameters
  • Use the shell built-in let, print, set, and typeset statements
  • Reading user input
  • Positional parameters
  • Creating positional parameters
  • Conditional substitution
  • Working with arithmetic operators and data

Functions

  • Create user-defined functions in a shell script
  • Create, invoke, and display functions from the command line
  • Pass arguments into a function
  • Call functions from special (function) files that are saved in one or more function directories
  • Describe where functions are available for use

Controlling Script Behavior

  • Manage the use of temporary files
  • Write scripts using the setuid bit
  • Use the crontab command

Scheduling Execution

  • Sleep
  • Date
  • Cron and crontab

Traps

  • Describe how the trap statement works
  • Include trap statements in a script
  • Use the trap statement to catch signals and handle errors