• Classroom
  • Online, Instructor-Led
  • Online, Self-Paced
Course Description

This 5-day Linux Fundamentals course is tailored for IT professionals aiming to enhance their Linux skills| focusing on essential system administration tasks and the automation of routine operations. This detailed program covers a broad spectrum of Linux functionalities| from basic command line operations and filesystem management to setting up and maintaining secure environments. It provides a deep dive into the Linux ecosystem| equipping IT personnel with the necessary tools to manage and optimize Linux-based systems.

On the more advanced sections| the course delves into shell scripting and process management| critical for scripting automated tasks| managing software processes| and scheduling tasks with cron. Participants will gain hands-on experience in writing effective scripts for a variety of administrative tasks| including system monitoring and batch processing.

Learning Objectives

Course Details
What is Linux?
UNIX Origins| Design Principles| Time line
FSF and GNU
GPL - General Public License
The Linux Kernel
Linux Features
Popular Uses of Linux
What is a Distribution?
Components of Distributions
Slackware and Mandriva
Red Hat| SUSE Linux Products| Debian and 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
Determining Disk Usage (GUI)
Disk Usage with Quotas
File Ownership| Default Group Ownership| File and Directory Permissions
File Creation Permissions| Changing File 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
Physical Unix File Structure
Filesystem Links
File Extensions and Content
Displaying Files| Previewing Files| 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 Globing 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| Messaging with talkd| 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: Command Completion|
Bash: "shortcuts"| Bash: prompt| Setting Resource Limits via ulimit
LAB TASKS - Linux Shells| Bash History| Aliases
Bash Login Scripts| The Z Shell
Process Management and Job Control
What is a Process?
Process Creation
Process States
Viewing Processes
Signals
Tools to Send Signals
Job Control Basics
Jobs screen
Using screen
Advanced Screen
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
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
Printing
Linux Printer Sub-systems
lpd
LPRng
Common UNIX Printing System
Configuring Print Queues
Standard Print Commands
Format Conversion Utilities
Ghostscript
enscript and mpage
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
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) and (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| Launching X Apps Automatically| Secure X
MANAGING SOFTWARE
Downloading with FTP
FTP| lftp|
Command Line Internet – Non-interactive| Command Line Internet – Interactive
Managing Software Dependencies
Using the Yum command| Using Yum history
Yum package groups
Configuring Yum| yumdownloader| 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 Yum| 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 scp
SSH Key-based User Authentication
Using ssh-agent
EMACS
Emacs
The Emacs Interface
Basic Emacs
More Emacs Commands
LAB TASKS| Text Editing with Emacs

Framework Connections