Course Overview

This is a challenging course that 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. Like all Guru Labs courses, the course material is designed to provide extensive hands-on experience.

CLASS INFORMATION
Price: 
$2,400
Duration: 
5 days
Version: 
S02
  • 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.

  • Module 1: WHAT IS LINUX?

    • Unix and its Design Principles
    • 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

    Module 2: LOGIN AND EXPLORATION

    • Logging In
    • Running Programs
    • Interacting with Command Line
    • Desktop Environments
    • GNOME
    • Starting X
    • Gathering Login Session Info
    • Gathering System Info
    • uptime & w
    • got root?
    • Switching User Contexts
    • sudo
    • Help from Commands and Documentation
    • whereis
    • Getting Help Within the Graphical Desktop
    • Getting Help with man & info

    Module 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 (GUI)
    • Disk Usage with Quotas
    • File Ownership
    • Default Group Ownership
    • File and Directory Permissions
    • File Creation Permissions with umask
    • SUID and SGID on files
    • SGID and Sticky Bit on Directories
    • Changing File Permissions
    • User Private Group Scheme

    Module 4: MANIPULATING FILES

    • Directory Manipulation
    • File Manipulation
    • Deleting and Creating Files
    • Managing Files Graphically
    • Drag and drop with Nautilus
    • Physical Unix File Structure
    • Filesystem Links
    • File Extensions and Content
    • Displaying Files
    • Previewing Files
    • Producing File Statistics
    • Displaying Binary Files
    • Searching the Filesystem
    • Alternate Search Method

    Module 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
    • Which and Type
    • General Quoting Rules
    • Nesting Commands

    Module 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
    • GNOME File Roller

    Module 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

    Module 8: REGULAR EXPRESSIONS

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

    Module 9: TEXT EDITING

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

    Module 10: 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

    Module 11: COMMAND SHELLS

    • Shells
    • Identifying the Shell
    • Changing the Shell
    • Configuration Files
    • Script Execution
    • Shell 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

    Module 12: 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

    Module 13: PROCESS MANAGEMENT AND JOB CONTROL

    • What is a Process?
    • Process Lifecycle
    • Process States
    • Viewing Processes
    • Signals
    • Tools to Send Signals
    • nohup and disown
    • Managing Processes
    • Tuning Process Scheduling
    • Job Control Overview
    • Job Control Commands
    • Persistent Shell Sessions with Screen
    • Using screen
    • Advanced Screen

    Module 14: AT AND CRON

    • Automating Tasks
    • at/batch
    • cron
    • The crontab Command
    • crontab Format
    • /etc/cron.*/ Directories
    • Anacron

    Module 15: MANAGING SOFTWARE

    • Downloading with FTP
    • FTP
    • lftp
    • Command Line Internet Non-interactive
    • Command Line Internet Interactive
    • Managing Software Dependencies
    • Using the Yum command
    • Using Yum history
    • YUM package groups
    • Configuring Yum
    • yumdownloader
    • Popular Yum Repositories
    • Using the Zypper command
    • Zypper Services and Catalogs
    • The dselect & APT Frontends to dpkg
    • Aptitude
    • Configuring APT

    Module 16: THE SECURE SHELL (SSH)

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

    Module 17: MOUNTING FILESYSTEMS & MANAGING REMOVABLE MEDIA

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

    Module 18: PRINTING

    • Legacy Print Systems
    • Common UNIX Printing System
    • Defining a Printer
    • Standard Print Commands
    • Format Conversion Utilities
    • enscript and mpage

    Module A: THE X WINDOW SYSTEM

    • The X Window System
    • X Modularity
    • X.Org Drivers
    • Configuring X Manually
    • Automatic X Configuration
    • 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)
    • Remote X Access (modern/secure)
    • XDMCP
    • Remote Graphical Access With VNC and RDP
    • Specialized X Servers

    Module B: EMACS

    • Emacs
    • The Emacs Interface
    • Basic Emacs
    • More Emacs Commands

     

    • Module 2 LAB TASKS
      • Login and Discovery
      • Help with Commands
      • Switching Users With su
    • Module 3 LAB TASKS
      • Navigating Directories and Listing Files
      • Disk and Filesystem Usage
      • File and Directory Ownership and Permissions
      • Introduction to Troubleshooting Labs
      • Troubleshooting Practice: Filesystem
    • Module 4 LAB TASKS
      • Manipulating Files and Directories
      • File Examination & Search Commands
    • Module 5 LAB TASKS
      • Redirection and Pipes
      • Wildcard File Matching
      • Shell Variables
      • Shell Meta-Characters
      • Command Substitution
    • Module 6 LAB TASKS
      • Archiving and Compression
    • Module 7 LAB TASKS
      • Processing Text Streams
      • Text Processing
    • Module 8 LAB TASKS
      • Pattern Matching with Regular Expressions
      • Extended Regular Expressions
      • Using Regular Expressions With sed
    • Module 9 LAB TASKS
      • Text Editing with Nano
      • Text Editing with Vim
    • Module 10 LAB TASKS
      • Command Line Messaging
      • Messaging with talkd
      • Command Line Email
      • Alpine
    • Module 11 LAB TASKS
      • Linux Shells
      • Bash History
      • Aliases
      • Bash Login Scripts
      • The Z Shell
    • Module 12 LAB TASKS
      • Writing a Shell Script
    • Module 13 LAB TASKS
      • Job Control Basics
      • Process Management Basics
      • Screen Basics
      • Using Screen Regions
      • Troubleshooting Practice: Process Management
    • Module 14 LAB TASKS
      • Creating and Managing User Cron Jobs
      • Adding System cron Jobs
      • Troubleshooting Practice: Automating Tasks
    • Module 15 LAB TASKS
      • Command Line File Transfers
      • Using Yum
      • Using Zypper
      • Managing Yum Repositories
      • Managing Zypper Repositories
      • Using APT
      • Adding an APT repository
    • Module 16 LAB TASKS
      • Introduction to ssh and scp
      • SSH Key-based User Authentication
      • Using ssh-agent
    • Module 17 LAB TASKS
      • Accessing NFS Shares
      • On-demand filesystem mounting with AutoFS
    • Module 18 LAB TASKS
      • Printing
      • Configuring Print Queues
    • Module A LAB TASKS
      • Remote X with XDMCP
      • Configure X Security
      • Configure a VNC Server
      • Configure a VNC Server
      • Configure a VNC Server
      • Launching X Apps Automatically
      • Secure X
    • Module B LAB TASKS
      • Text Editing with Emacs
  • Students should be comfortable with computers. No familiarity with Linux or other Unix operating systems is required.