Linux Fundamentals


Course Description

This 5-day course 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. The course material is designed to provide extensive hands-on experience. Topics include: basic file manipulation; basic and advanced file system 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.

Duration: 5 days


Prerequisites

No familiarity with Linux or other Unix operating systems is required.

What is Linux?

Unix Origins and Design Principles
Unix Timeline
FSF and GNU
GPL - General Public License
The Linux Kernel and Versioning
Components of a Distribution
Slackware
SUSE Linux Products
Debian
Ubuntu
Red Hat Linux Products
Oracle Linux
Mandriva

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
sudo
Help from Commands and Documentation
Getting Help with man & info

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

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 StatisticsSection

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

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

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

Regular Expressions

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

Text Editing

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

Command Shells

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

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

Process Management and Job Control

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

Process Administration

Automating Tasks
at/batch
cron
The crontab Command
Crontab Format
/etc/cron.*/Directories
Anacron
Managing Processes
Tuning Process Scheduling

Managing Software

Downloading with FTP
FTP
lftp
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
Aptitude
Configuring APT

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

Printing

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

The Secure Shell (SSH)

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

Mounting FileSystems & Managing Removable Media

Filesystems Concept Review
Mounting Filesystems
NFS
SMB
Filesystem Table (/etc/fstab)
AutoFS
Removable Media


Schedule

NameDateLocation 
Linux Fundamentals 2024-04-22 Online
Linux Fundamentals 2024-07-01 Online
Linux Fundamentals 2024-11-18 Online

Linux Linux Administration Red Hat Red Hat Linux