HARTMANN software group

Fundamentals of Unix Training in Portland

Enroll in or hire us to teach our Fundamentals of Unix class in Portland, Oregon by calling us @303.377.6176. Like all HSG classes, Fundamentals of Unix may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it is scheduled: Public Training Classes
Provided there are enough attendees, Fundamentals of Unix may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.

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.
Course Length: 4 Days
Course Tuition: $1690 (US)

Prerequisites

None

Course Outline

 

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
Pathnames
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
Pipes
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

Variables
User Created Variables
The read Command
The Shell Environment
The export Command
Sub-shells
Command Substitution
Quoting Mechanisms
Assigning Variables - Summary

Special Variables
Command Line Arguments
$ - Number of Arguments
The shift Command
$* - All Arguments
$$ - PID of Shell

More Flow Control
The for Loop
The while Loop
The Case Construct

Appendix: Korn shell features
Viewing your Command History
Editing and Re-executing Commands
Aliases

Linux Unix Uses & Stats

Linux Unix is Used For:
Desktop Mainframe Computers Mobile Devices Embedded Devices
Difficulty
Popularity
Year Created
1991/1971
Pros
Performance:
Linux supports many efficient tools and operates them seamlessly. Because it's architecture is lightweight it runs faster than both Windows 8.1 and 10. 
 
Security:
Because Linux is an open-source software,  anyone can contribute code to help enhance the users’ experience i.e., adding features, fixing bugs, reducing security risks, and more.
 
 
Software Development:
The terminal in Linux is a *wild card*. You can do almost anything with it. This includes software installation, application and server configurations, file system management, and etc.
 
Large-scale:
Open-source projects benefit from having an attentive community. As a result, Linux is more secure than Windows. Instead of installing anti viruses to clean malware, you just have to stick to the recommended repositories. 
 
Efficient: 
Developers have the convenience of running servers, training machine learning models, accessing remote machines, and compiling and running scripts from the same terminal window. 
 
Free: 
Linux is free (you can put it on as many systems as you like) and you can change it to suit your needs.
Cons
Learning Curve: 
Linux is not for everyone, there is a learning curve in switching to Ubuntu. To actually learn Linux efficiently would take a user one to several years.
 
No Tech Support:
Unlike Windows, there isn’t a dedicated tech support, so getting help for things is up to you. 
 
Designer Compatabilty:
Linux is not as user friendly as Windows or as ‘straight out of the box design’ As an example for design choices, Adobe hasn’t released any of its products to Linux users. So it’s impossible to run them directly. The Ubuntu alternative is a free software called GIMP. 
 
Gaming Capabilities: 
Most games aren’t available in Linux. But that’s not to say you can’t make it happen, it's just not as easy.   
Linux Unix Job Market
Average Salary
$85k-$105k
Job Count
n/a
Top Job Locations

New York City
Boston
San Francisco 

Complimentary Skills to have along with Linux Unix
The following are types of jobs that may require Linux skills.  The top 15 job titles on Dice.com that mention Linux in their postings are:
- DevOps Engineer
- Software Engineer
- Java Developer
- Systems Engineer
- Systems Administrator
- Senior Software Engineer
- Network Engineer
- Python Developer
- Linux Systems Administrator
- Software Developer
- System Administrator
- Linux Administrator
- Linux Engineer
- Senior Java Developer
- C++ Developer

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.