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
Name | Date | Location | |
---|---|---|---|
Linux Fundamentals | 2024-11-18 | Online | |
Linux Fundamentals | 2025-02-03 | Online | |
Linux Fundamentals | 2025-04-21 | Online |
Linux Linux Administration Red Hat Red Hat Linux