Course Description

This course provides a comprehensive introduction to the full range of UNIX user commands and utilities. Students will develop shell programming and vi editing skills. UNIX Fundamentals is for end-users and programmers who are new to the UNIX environment.





Course content

Getting Started

What is UNIX?
A Brief History of UNIX
Logging In
Logging Out
Try a Few More Commands
Changing Your Password
Using On-line Manuals

The File System - Files

What is a File?
The ls Command
The cat Command
The more and pg Commands
The head and tail Commands
The cp Command
The mv Command
The rm Command
File names

The File System - Directories

Hierarchical File System
The pwd Command – Print Working Directory
The cd Command – Change Directory
The mkdir Command – Make Directories
The rmdir Command – Remove Directories
The cp Command (again) – Copy Files
Two useful directory names – . and ..

Editing with vi

What is vi?
The vi Buffering Process
Command Mode and Insert Mode
Modes Diagram
Getting Started
Moving the Cursor Around
Inserting Text
Deleting a Character or Line
Undo Last Command
Opening a New Line
Save Your Work or Abort the Session
Review of vi Commands

More Editing with vi

Scrolling the Buffer
Cursor Motion Commands – w, W, b, B, e, E
Cursor Motion Commands – $, ^, 0, G
Cursor Motion Commands – f, t, F, T
Delete Operator – d
Change Operator – c
Yank Operator – y
Put Commands – p, P
Searching For a Pattern – /, n, N, ?
The join Command
The file Command – :f
Edit file Command – :e
Cut and Paste Between Files
Read file Command – :r
Set options Command
Set options Command – .exrc file

Personal Utilities

The date Utility
The bc Utility
The expr Utility
The cal Utility
The news Utility
The id Utility
The uname Utility
The finger Utility
The script Utility
The clear Utility
Appendix: The at and crontab Utilities

Text Handling Utilities

The grep Utility
The tr Utility
The cut Utility
The paste Utility
The sort Utility
The wc Utility
The diff Utility
The lp Utility

File System Security

File Permissions
The chmod Utility
Directory Permissions
The umask Command

File System Management Utilities

The find Utility
The df Utility
The du Utility
Compressing Files
The ln Utility
The ulimit Utility
The tar Utility

Communication Utilities

The write and talk Utilities
The mesg Utility
Mail Overview
The mail Utility
The mailx Utility

Using the Shell

What is a Shell?
Which Shell?
The Command Line
Standard Input, Standard Output and Standard Error
Using Default Standard In and Standard Output
I/O Redirection
Appending Output of a File
The tee Utility

Filename Generation

Filename Generation
The ? special Character
The * special Character
The [ ] special Characters
The ! special Characters

UNIX Processes

What is a Process?
Process Structure
The ps Utility
Options to the ps Utility
Background Commands (&)
Killing Background Processes
Redirecting the Standard Error

Shell Programming Concepts

What is a Shell?
What is a Shell Script?
Why Use Shell Scripts?

Flow Control

The Exit Status of Commands
Command Line Examples
The test Command
The if-then-else Construct
The elif Construct
A loop Example


User Created Variables
The read Command
The Shell Environment
The export Command
Command Substitution
Quoting Mechanisms
Assigning Variables – Summary

Special Variables

Command Line Arguments
$# – Number of Arguments
The shift Command
$* – All Arguments
$$ – PID of Shell

More on Flow Control

The for Loop
The while Loop
The Case Construct

Korn Shell Features

Viewing your Command History
Editing and Re-executing Commands