GL120 – Linux Fundamentals

All Prices Are in Candian Dollars

Price :

$1,500.00 $980.00

Choose the date and press 'Add To Cart'

course is guaranteed to run


The GL0 is a challenging course that focuses on the fundamental tools and concepts of Linux and Unix. Students gain proficiency using the command line. Beginners develop a solid foundation in Unix, while advanced users discover patterns and fill in gaps in their knowledge. Like all Guru Labs courses, the course material is designed to provide extensive hands-on experience. Topics include: basic file manipulation; basic and advanced filesystem features; I/O redirection and pipes; text manipulation and regular expressions; managing jobs and processes; vi, the standard Unix editor; automating tasks with shell scripts; managing software; secure remote administration; and more.

Current Version: K0

Students should be comfortable with computers. No familiarity with Linux or other Unix operating systems is required.

Supported Distributions: Red Hat Enterprise Linux SUSE Linux Enterprise Ubuntu .0 LTS Recommended Class Length: days

Detailed Course Outline:

What is Linux?
Unix and its Design Principles
GPL – General Public License
The Linux Kernel
Linux Kernel and Versioning
Components of a Distribution
SUSE Linux Products
Red Hat Linux Products
Oracle Linux

Login and Exploration
Logging In
Running Programs
Interacting with Command Line
The X Window System
Starting X
Gathering Login Session Info
Gathering System Info
got root?
Switching User Contexts
Help from Commands and Documentation
Getting Help with man & info

Lab Tasks
Login and Discovery
Help with Commands
Switching Users With su

The Linux Filesystem
Filesystem Support
Unix/Linux Filesystem Features
Filesystem Hierarchy Standard
Navigating the Filesystem
Displaying Directory Contents
Filesystem Structures
Determining Disk Usage With df and du
Determining Disk Usage With baobab
Disk Usage with Quotas
File Ownership
Default Group Ownership
File and Directory Permissions
File Creation Permissions with umask
Changing File Permissions
SUID and SGID on files
SGID and Sticky Bit on Directories
User Private Group Scheme

Lab Tasks

Navigating Directories and Listing Files
Disk and Filesystem Usage
File and Directory Ownership and Permissions

Manipulating Files
Directory Manipulation
File Manipulation
Deleting and Creating Files
Physical Unix File Structure
Filesystem Links
File Extensions and Content
Displaying Files
Previewing Files
Displaying Binary Files
Searching the Filesystem
Alternate Search Method
Producing File Statistics

Lab Tasks
Manipulating Files and Directories
File Examination & Search Commands

Shell Basics

Role of Command Shell
Communication Channels
File Redirection
Piping Commands Together
Filename Matching
File Globbing and Wildcard Patterns
Brace Expansion
Shell and Environment Variables
Key Environment Variables
General Quoting Rules
Nesting Commands
Multiple and Multi-line Commands

Lab Tasks
Connecting Commands
Wildcard File Matching
Shell Variables
Shell Meta-Characters
Command Substitution

Archiving and Compression
Archives with tar
Archives with cpio
The gzip Compression Utility
The bzip Compression Utility
The XZ Compression Utility
The PKZIP Archiving/Compression format

Lab Tasks
Archiving and Compression

Text Processing .Searching Inside Files
The Streaming Editor
Text Processing with awk
Replacing Text Characters
Text Sorting
Duplicate Removal Utility
Extracting Columns of Text
Combining Files and Merging Text
Comparing File Changes

Lab Tasks
Text Processing

Regular Expressions
Regular Expression Overview
Regular Expressions
RE Character Classes
RE Quantifiers
RE Parenthesis

Lab Tasks
Pattern Matching with Regular Expressions
Extended Regular Expressions
Using Regular Expressions With sed

Text Editing

Text Editing
Pico/GNU Nano
Pico/Nano Interface
Pico/Nano Shortcuts
vi and Vim
Learning vi
Basic vi
Intermediate vi

Lab Tasks
Text Editing with Nano
Text Editing with Vim

Command Shells
Identifying the Shell
Changing the Shell
Bourne sh: Configuration Files
Script Execution
Bourne sh: Prompts
bash: Bourne-Again Shell
bash: Configuration Files
bash: Command Line History
bash: Command Editing
bash: Command Completion
bash: “shortcuts”
bash: prompt
Setting Resource Limits via ulimit

Lab Tasks
Linux Shells
Bash History
Bash Login Scripts
The Z Shell

Introduction to Shell Scripting
Shell Script Strengths and Weaknesses
Example Shell Script
Positional Parameters
Input & Output
Doing Math
Comparisons with test
Exit Status
Conditional Statements
Flow Control: case
The for Loop
The while and until Loops

Lab Tasks

Writing a Shell Script

Process Management and Job Control
What is a Process?
Process Lifecycle
Process States
Viewing Processes
Tools to Send Signals
Job Control Overview
Job Control Commands
Persistent Shell Sessions with Screen
Using screen
Advanced Screen

Lab Tasks
Job Control Basics
Process Management and Job Control Basics
Screen Basics
Using Screen Regions

Process Administration
Automating Tasks
The crontab Command
crontab Format
/etc/cron.*/ Directories
Managing Processes
Tuning Process Scheduling

Lab Tasks
Creating and Managing User Cron Jobs
Adding System cron Jobs

Managing Software
Downloading with FTP
Command Line Internet – Non-interactive
Command Line Internet – Interactive
Managing Software Dependencies
Using the YUM command
YUM package groups
Configuring YUM
Popular Yum Repositories
Using the Zypper command
Zypper Services and Catalogs
The dselect & APT Frontends to dpkg
Configuring APT

Lab Tasks
Command Line File Transfers
Using YUM
Using Zypper
Managing YUM Repositories
Managing Zypper Repositories


System Messaging Commands
Controlling System Messaging
Internet Relay Chat
Instant Messenger Clients
Electronic Mail
Sending Email with sendmail
Sending and Receiving Email with mailx
Sending and Receiving Email with mutt
Sending Email with Pine

Lab Tasks
Command Line Messaging
Command Line Email


Linux Printer Sub-systems
Legacy Print Systems
Common UNIX Printing System
Defining a Printer
Standard Print Commands
Format Conversion Utilities
enscript and mpage

Lab Tasks Printing
The Secure Shell (SSH)

Secure Shell
ssh and sshd Configuration
Accessing Remote Shells
Transferring Files
Alternative sftp Clients
SSH Key Management

Lab Tasks .Introduction to ssh and scp
SSH Key-based User Authentication
Using ssh-agent

Mounting Filesystems & Managing Removable Media
Filesystems Concept Review
Mounting Filesystems
Filesystem Table (/etc/fstab)
Removable Media

Lab Tasks .Accessing NFS Shares
On-demand filesystem mounting with AutoFS

A.The X Window System
The X Window System
X Modularity
X.Org Drivers
Configuring X Manually
Automatic X Configuration
Automatic X Configuration – SLES
Xorg and Fonts
Installing Fonts for Modern Applications
Installing Fonts for Legacy Applications
The X Protocol and Display Names
Display Managers and Graphical Login
Starting X Apps Automatically
X Access Control
Remote X Access (historical/insecure approach)
Remote X Access (modern/secure approach)
Remote Graphical Access With VNC and RDP
Specialized X Servers

Lab Tasks
Remote X with XDMCP
Configure X Security
Configure a VNC Server
Configure a VNC Server
Launching X Apps Automatically
Secure X


The Emacs Interface
Basic Emacs
More Emacs Commands

Lab Tasks

Text Editing with Emacs