GL120 - Linux Fundamentals

The GL120 is a challenging course that focuses on the fundamental tools and concepts of Linux and Unix. The course's focus on proficient use of the command line benefits all skill levels. Beginners develop a solid foundation in Unix, while advanced users discover patterns and fill in gaps in their knowledge. Like all Guru Labs courses, the course material is designed to provide extensive hands-on experience. Topics include: basic file manipulation; basic and advanced filesystem 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.

Prerequisites:

Students should be comfortable with computers. No familiarity with Linux or other Unix operating systems is required.

Supported Distributions:

Red Hat Enterprise Linux 5 Update 4

Recommended Class Length:

5 days

Detailed Course Outline:

  1. What is Linux?
    1. UNIX Origins, Design Principles, Time-line
    2. Linux Time-line
    3. FSF and GNU
    4. GPL - General Public License
    5. The Linux Kernel
    6. Linux Features
    7. Popular Uses of Linux
    8. What is a Distribution?
    9. Components of Distributions
    10. Standardization
    11. Red Hat
    12. Slackware
    13. SUSE Linux Products
    14. Debian
    15. Ubuntu
  2. Multi-User Concepts
    1. Multi-User Concepts
    2. got root?
    3. Logging In
    4. Switching User Contexts
    5. Gathering Login Session and System Info
    6. Help from Commands and Documentation
    7. Getting Help with man & info
    8. $MANPATH, whatis and apropos
    Lab Tasks
    1. Login and Discovery
    2. Help with Commands
    3. Switching Users With su
  3. The X Window System
    1. The X Window System
    2. Starting X
    3. Display Manager Concepts
    4. Customizing X Sessions
    5. Window Manager Concepts
    6. Desktop Environments
    7. KDE
    8. KDE Control Center
    9. KDE Panel
    10. KDE Applications
    11. GNOME
    12. GNOME Preferences
    13. GNOME Panel
    14. GNOME Applications
    Lab Tasks
    1. Customize X Components
  4. The Linux Filesystem
    1. Filesystem Support
    2. UNIX/Linux Filesystem Features
    3. Filesystem Hierarchy Standard
    4. Navigating the Filesystem
    5. Displaying Directory Contents
    6. Determining Disk Usage
    7. Disk Usage with Quotas
    8. File Ownership
    9. Default Group Ownership
    10. File and Directory Permissions
    11. File Creation Permissions
    12. Changing File Permissions
    13. SUID and SGID on files
    14. SGID and Sticky Bit on Directories
    15. User Private Group Scheme
    Lab Tasks
    1. Files and Directories
    2. Disk and Filesystem Usage
    3. File and Directory Ownership and Permissions
  5. Manipulating Files
    1. Directory Manipulation
    2. File Manipulation
    3. Deleting and Creating Files
    4. Physical Unix File Structure
    5. Filesystem Links
    6. File Extensions and Content
    7. Displaying Files
    8. Previewing Files
    9. Displaying Binary Files
    10. Searching the Filesystem
    11. Alternate Search Method
    12. Producing File Statistics
    Lab Tasks
    1. File and Directory Manipulation Commands
    2. File Examination & Search Commands
  6. Shell Basics
    1. Role of Command Shell
    2. Communication Channels
    3. File Redirection
    4. Piping Commands Together
    5. Filename Matching
    6. File Globbing and Wildcard Patterns
    7. Brace Expansion
    8. Shell/Environment Variables
    9. Key Environment Variables
    10. General Quoting Rules
    11. Nesting Commands
    12. Multiple and Multi-line Commands
    Lab Tasks
    1. Connecting Commands
    2. Wildcard File Matching
    3. Shell Variables
    4. Shell Meta-Characters
    5. Command Substitution
  7. Archiving and Compression
    1. Archive with tar and cpio
    2. The gzip Compression Utility
    3. The bzip2 Compression Utility
    4. The Zip Archiving/Compression format
    Lab Tasks
    1. Archiving and Compression
  8. Text Processing
    1. Searching Inside Files
    2. The Streaming Editor
    3. Text Processing with awk
    4. Replacing Text Characters
    5. Text Sorting
    6. Duplicate Removal Utility
    7. Extracting Columns of Text
    8. Merging Multiple Files
    Lab Tasks
    1. Text Processing
  9. Regular Expressions
    1. Regular Expressions Overview
    2. Regular Expressions
    3. RE Character Classes
    4. RE Quantifiers
    5. RE Parenthesis
    Lab Tasks
    1. Pattern Matching with Regular Expressions
    2. Extended Regular Expressions
    3. Using Regular Expressions With sed
  10. Text Editing
    1. Text Editing
    2. Pico/GNU Nano
    3. Pico/Nano Interface and Shortcuts
    4. Vi and Vim
    5. Basic Vi
    6. Learning Vi
    7. Intermediate Vi
    8. Emacs
    9. The Emacs Interface
    10. Basic Emacs
    11. More Emacs Commands
    Lab Tasks
    1. Text Editing with Nano
    2. Text Editing with Vim
    3. Text Editing with Emacs
  11. Command Shells
    1. Shells
    2. Identifying the Shell
    3. Changing the Shell
    4. sh: Configuration Files
    5. sh: Script Execution
    6. sh: Prompts
    7. bash: Bourne Again Shell
    8. bash: Configuration Files
    9. bash: Command Line History
    10. bash: Command Editing
    11. bash: Command Completion
    12. bash: shortcuts
    13. bash: prompt
    Lab Tasks
    1. Linux Shells
    2. Bash History
    3. Aliases
    4. Bash Login Scripts
    5. The Z Shell
  12. Introduction to Shell Scripting
    1. Shell Scripting
    2. Example Shell Script
    3. Positional Parameters
    4. Input & Output
    5. Doing Math
    6. Comparisons with test
    7. Exit Status
    8. Conditional Statements
    9. Flow Control: case
    10. The for Loop
    11. The while Loop
    Lab Tasks
    1. Writing a Shell Script
  13. Process Management and Job Control
    1. What is a Process?
    2. Process Creation
    3. Process States
    4. Viewing Processes
    5. Signals
    6. Tools to Send Signals
    7. Job Control Basics
    8. Jobs
    9. screen
    10. Using screen
    11. Advanced Screen
    Lab Tasks
    1. Job Control Basics
    2. Process Management and Job Control Basics
    3. Screen Basics
    4. Using Screen Regions
  14. Managing Software
    1. Downloading with FTP
    2. FTP
    3. lftp
    4. wget, lynx & links
    5. Intro to Package Management
    6. Using the YUM command
    7. YUM package groups
    8. Configuring YUM
    9. Popular YUM Repositories
    10. Using the Zypper command
    11. Zypper Services and Catalogs
    12. The dselect & APT Frontends to dpkg
    13. Aptitude
    14. Configuring APT
    Lab Tasks
    1. Command Line File Transfers
    2. YUM [RHEL5.4]
    3. Zypper [SLES11]
  15. Messaging
    1. Command Line Messaging
    2. System Messaging Commands
    3. Controlling System Messaging
    4. Internet Relay Chat
    5. Instant Messenger Clients
    6. Electronic Mail
    7. Sending Email with sendmail
    8. Sending Email with mail
    9. Sending Email with Pine
    10. Evolution
    Lab Tasks
    1. Command Line Messaging
    2. Command line Email
  16. Printing
    1. Linux Printer Sub-systems
    2. lpd
    3. LPRng
    4. Common UNIX Printing System
    5. Defining a Printer
    6. Standard Print Commands
    7. Format Conversion Utilities
    8. Ghostscript
    9. enscript and mpage
    Lab Tasks
    1. Printing
  17. The Secure Shell (SSH)
    1. Secure Shell
    2. ssh and sshd Configuration
    3. Accessing Remote Shells
    4. Transferring Files
    5. Alternative sftp Clients
    6. SSH Key Management
    7. ssh-agent
    Lab Tasks
    1. Introduction to ssh and scp
    2. SSH Key-based User Authentication
    3. Using ssh-agent
  18. Mounting Filesystems & Managing Removable Media
    1. Filesystems Concept Review
    2. Mounting Filesystems
    3. NFS
    4. SMB
    5. Filesystem Table
    6. Automating Mounts
    7. Removable Media
    8. Preparing Floppy Diskettes
    9. The mtools Package
    10. mtools Commands
    Lab Tasks
    1. Accessing NFS Shares
    2. On-demand filesystem mounting with AutoFS
    3. Managing floppy disks
    4. Using Mtools with FAT/FAT32 formatted media
 
Copyright (C) 2010, Enigma Logic Inc.