1. What is Linux?
• Unix and its Design Principle
• 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
2. 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
Lab Tasks
• Login and Discovery
• Help with Commands
• Switching Users With su
3. 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
4. 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
5. 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
6. 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
Lab Tasks
• Archiving and Compression
7. 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
8. 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
9. 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
10. 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
Lab Tasks
• Linux Shells
• Bash History
• Aliases
• Bash Login Scripts
• The Z Shell
11. 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
12. 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
Lab Tasks
• Job Control Basics
• Process Management and Job Control Basics
• Screen Basics
• Using Screen Regions
13. 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
Lab Tasks
• Command Line File Transfers
• Using YUM
• Using Zypper
• Managing YUM Repositories
• Managing Zypper Repositories
14. The Secure Shell (SSH)
• Secure Shell
• ssh and sshd 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
15. 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
APPENDIX BELOW (these topics are discussed if time allows)
APPENDIX
1. Process Administration
• Automating Tasks
• at/batch
• cron
• The crontab Command
• crontab Format
• /etc/cron.*/ Directories
• Anacron
• Managing Processes
• Tuning Process Scheduling
Lab Tasks
• Creating and Managing User Cron Jobs
• Adding System cron Jobs
2. 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
3. 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
Lab Tasks
• Printing
• Configuring Print Queues
4. 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 X11 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)
• XDMCP
• Remote Graphical Access - VNC& 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