Linux Fundamentals - GL120 ** Save 15% on the February 22 class ** Course Outline

(5 Days)

Overview

The GL120 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. 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.

 

Course Outline

Course Content

 

Lesson 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

 

 

 

 

Lesson 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

 

    • uptime

 

    • got root?

 

    • Switching User Contexts

 

    • sudo

 

    • Help from Commands and Documentation

 

    • whereis

 

    • Getting Help Within the Graphical Desktop

 

    • Getting Help with man & info

 

 

Lesson 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

 

 

 

 

Lesson 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

 

    • Producing File Statistics

 

    • Displaying Binary Files

 

    • Searching the Filesystem

 

    • Alternate Search Method

 

 

Lesson 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

 

 

Lesson 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

 

 

Lesson 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

 

 

Lesson 8: Regular Expressions

 

 

    • Regular Expression Overview

 

    • Regular Expressions

 

    • RE Character Classes

 

    • Regex Quantifiers

 

    • RE Parenthesis

 

 

Lesson 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

 

 

Lesson 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

 

 

Lesson 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

 

 

Lesson 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

 

 

Lesson 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

 

 

Lesson 14: At and Cron

 

 

    • Automating Tasks

 

    • at/batch

 

    • cron

 

    • The crontab Command

 

    • crontab Format

 

    • /etc/cron./ Directories

 

    • Anacron

 

 

 

 

Lesson 15: 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

 

    • yumdownloader

 

    • Popular Yum Repositories

 

    • Using the Zypper command

 

    • Zypper Services and Catalogs

 

    • The dselect & APT Frontends to dpkg

 

    • Aptitude

 

    • Configuring APT

 

 

Lesson 16: The Secure Shell (SSH)

 

 

    • Secure Shell

 

    • ssh and sshd Configuration

 

    • Accessing Remote Shells

 

    • Transferring Files

 

    • Alternative sftp Clients

 

    • SSH Key Management

 

    • ssh-agent

 

 

Lesson 17: Mounting Filesystems & Managing Removable Media

 

 

    • Filesystems Concept Review

 

    • Mounting Filesystems

 

    • NFS

 

    • SMB

 

    • Filesystem Table (/etc/fstab)

 

    • AutoFS

 

    • Removable Media

 

 

Lesson 18: Printing

 

 

    • Legacy Print Systems

 

    • Common UNIX Printing System

 

    • Defining a Printer

 

    • Standard Print Commands

 

    • Format Conversion Utilities

 

  • ens