651-905-3729 Microsoft Silver Learning Partner EC Counsel Reseller compTIA Authorized Partner

Linux-Unix Fundamentals

5 Days

Description

The GL120 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.

Supported Distributions:

  • Red Hat Enterprise Linux 8

    SUSE Linux Enterprise 15

    Ubuntu 18.04 LTS

Upcoming Classes

Virtual Classroom Live
August 11, 2025

$2,900.00
5 Days    8 AM MT - 4 PM MT
view class details and enroll
Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Course Overview

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

Login and Exploration
Logging In
Running Programs
Interacting with Command Line
Desktop Environments
GNOME
Starting X
Gathering Login Session Info
Gathering System Info
uptime & w
got root?
Switching User Contexts
sudo
Help from Commands and Documentation
whereis
Getting Help Within the Graphical Desktop
Getting Help with man & info
$MANPATH, whatis and apropos
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 (GUI)
Disk Usage with Quotas
File Ownership
Default Group Ownership
File and Directory Permissions
File Creation Permissions with umask
SUID and SGID on files
SGID and Sticky Bit on Directories
Changing File Permissions
User Private Group Scheme
Lab Tasks
Navigating Directories and Listing Files
Disk and Filesystem Usage
File and Directory Ownership and Permissions
Introduction to Troubleshooting Labs
Troubleshooting Practice: Filesystem
 

Manipulating Files
Directory Manipulation
File Manipulation
Deleting and Creating Files
Managing Files Graphically
Drag and drop with Nautilus
Physical Unix File Structure
Filesystem Links
File Extensions and Content
Displaying Files
Previewing Files
Producing File Statistics
Displaying Binary Files
Searching the Filesystem
Alternate Search Method
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
Which and Type
General Quoting Rules
Nesting Commands
Lab Tasks
Redirection and Pipes
Wildcard File Matching
Shell Variables
Shell Meta-Characters
Command Substitution

Archiving and Compression
Archives with tar
Archives with cpio
The gzip Compression Utility
The bzip2 Compression Utility
The XZ Compression Utility
The PKZIP Archiving/Compression format
GNOME File Roller
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
Processing Text Streams
Text Processing
 

Regular Expressions
Regular Expression Overview
Regular Expression Implementations
Regular Expressions
RE Character Classes
Regex 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
Nano configuration
Pico/Nano Shortcuts
vi and Vim
Learning Vim
Basic vi
Intermediate vi
Lab Tasks
Text Editing with Nano
Text Editing with Vim

Messaging
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
Evolution
Lab Tasks
Command Line Messaging
Command Line Email
Alpine

Command Shells
Shells
Identifying the Shell
Changing the Shell
Shell Configuration Files
Script Execution
Bourne Shell: Shell 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
Aliases
Bash Login Scripts
The Z Shell

Introduction to Shell Scripting
Shell Script Strengths and Weaknesses
Example Shell Script
Positional Parameters
Input & Output
Doing Math
Exit Status
Comparisons with test
Conditional Statements
Flow Control: case
The borne 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
Signals
Tools to Send Signals
nohup and disown
Managing Processes
Tuning Process Scheduling
Job Control Overview
Job Control Commands
Persistent Shell Sessions with tmux
Persistent Shell Sessions with Screen
Using screen
Advanced Screen
Lab Tasks
Job Control Basics
Process Management Basics
Screen Basics
Using Screen Regions
Troubleshooting Practice: Process Management

At and Cron
Automating Tasks
at/batch
cron
The crontab Command
crontab Format
/etc/cron.*/ Directories
Anacron
Systemd Timers
Lab Tasks
Creating and Managing User Cron Jobs
Adding System cron Jobs
Troubleshooting Practice: Automating Tasks

Managing Software
Downloading with FTP
FTP
lftp
Command Line Internet – Non-interactive
Command Line Internet – Interactive
Managing Software Dependencies
Using the Yum & DNF commands
Using Yum history
Yum package groups
Configuring Yum
dnf download & yumdownloader (deprecated)
Popular Yum Repositories
Using the Zypper command
Zypper Services and Catalogs
The dselect & APT Frontends to dpkg
Aptitude
Configuring APT
Lab Tasks
Command Line File Transfers
Using DNF
Using Zypper
Managing Yum Repositories
Managing Zypper Repositories
Using APT
Adding an APT repository

The Secure Shell (SSH)
Secure Shell
OpenSSH Client & Server Configuration
Accessing Remote Shells
Transferring Files
Alternative sftp Clients
SSH Key Management
ssh-agent
Lab Tasks
Introduction to ssh and secure file transfer
SSH Key-based User Authentication
Using ssh-agent

Mounting Filesystems & Managing Removable Media
Filesystems Concept Review
Mounting Filesystems
NFS
SMB
Filesystem Table (/etc/fstab)
AutoFS
Removable Media
Lab Tasks
Accessing NFS Shares
On-demand filesystem mounting with AutoFS

Printing
Legacy Print Systems
Common UNIX Printing System
Defining a Printer
Standard Print Commands
Format Conversion Utilities
enscript and mpage
Lab Tasks
Printing
Configuring Print Queues

The X Window System
The X Window System
X Modularity
X.Org Drivers
Configuring X Manually
Automatic X Configuration
Xorg and Fonts
Installing Fonts for Modern Applications
Installing Fonts for Legacy Applications
The X11 Protocol and Display Names
Display Managers and Graphical Login
Starting X Apps Automatically
X Access Control
Remote X Access (historical/insecure)
Remote X Access (modern/secure)
XDMCP
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
Configure a VNC Server
Secure X

Emacs
Emacs
The Emacs Interface
Basic Emacs
More Emacs Commands
Lab Tasks
Text Editing with Emacs

Upcoming Classes

Virtual Classroom Live
August 11, 2025

$2,900.00
5 Days    8 AM MT - 4 PM MT
view class details and enroll
Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Prerequisites

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

Upcoming Classes

Virtual Classroom Live
August 11, 2025

$2,900.00
5 Days    8 AM MT - 4 PM MT
view class details and enroll
Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date