Linux Fundamentals
Private Training

Course Summary

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.

Audience
Students should be comfortable with computers.
Course Length
5 Days
Prerequisites
No familiarity with Linux or other UNIX operating systems is required.

Objectives

Identify multi-user concepts

Perform archiving and compression

Create shell scripts

Identify the Linux File System

Perform text processing

Identify command shells

Detailed Outline

  1. 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
  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
  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
  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
  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
  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
  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
  8. Regular Expressions
    • Regular Expression Overview
    • Regular Expressions
    • RE Character Classes
    • RE Quantifiers
    • RE Parenthesis
  9. Text Editing
    • Text Editing
    • Pico/GNU Nano
    • Pico/Nano Interface
    • Pico/Nano Shortcuts
    • vi and Vim
    • Learning vi
    • Basic vi
    • Intermediate vi
  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
  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
  12. Process Management and Job Control
    • What is a Process?
    • Using screen
    • Advanced Screen
  13. Process Administration
    • Automating Tasks
    • at/batch
    • cron
    • The crontab Command
    • Crontab Format
    • /etc/cron.*/Directories
    • Anacron
    • Managing Processes
    • Tuning Process Scheduling
  14. 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
  15. 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
  16. 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
  17. The Secure Shell (SSH)
    • Secure Shell
    • ssh and sshd Configuration
    • Accessing Remote Shells
    • Transferring Files
    • Alternative sftp Clients
    • SSH Key Management
    • ssh-agent
  18. Mounting FileSystems & Managing Removable Media
    • Filesystems Concept Review
    • Mounting Filesystems
    • NFS
    • SMB
    • Filesystem Table (/etc/fstab)
    • AutoFS
    • Removable Media
  19. Appendix A – 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 With VNC and RDP
    • Specialized X Servers
  20. Appendix B – EMACS
    • Emacs
    • The Emacs Interface
    • Basic Emacs
    • More Emacs Commands