Linux Fundamentals Training

Linux Fundamentals Training with Michigan Technology Services

Michigan Technology Services offers many Linux instructor-led courses. This Linux fundamentals training can take place at our location in Farmington Hills, 20 miles outside of Detroit, where you will sit in a room with one of our instructors, onsite at your office anywhere throughout the United States, or if you prefer, instructor led live online.

About this Course

The MTS-L-120 class 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 MTS 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.

For complete Linux course outlines and pricing information on other Linux classes or to request a class date contact Michigan Technology Services at 248-489-0408

Prerequisites

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

Detailed Course Outline

What is Linux?
  1. Unix and its Design Principles
  2. FSF and GNU
  3. GPL – General Public License
  4. The Linux Kernel
  5. Linux Kernel and Versioning
  6. Components of a Distribution
  7. Slackware
  8. SUSE Linux Products
  9. Debian
  10. Ubuntu
  11. Red Hat Linux Products
  12. Oracle Linux
Login and Exploration
  1. Logging In
  2. Running Programs
  3. Interacting with Command Line
  4. Desktop Environments
  5. GNOME
  6. Starting X
  7. Gathering Login Session Info
  8. Gathering System Info
  9. uptime
  10. got root?
  11. Switching User Contexts
  12. sudo
  13. Help from Commands and Documentation
  14. whereis
  15. Getting Help Within the Graphical Desktop
  16. Getting Help with man & info

Lab Tasks

  1. Login and Discovery
  2. Help with Commands
  3. Switching Users With su
The Linux Filesystem
  1. Filesystem Support
  2. Unix/Linux Filesystem Features
  3. Filesystem Hierarchy Standard
  4. Navigating the Filesystem
  5. Displaying Directory Contents
  6. Filesystem Structures
  7. Determining Disk Usage With df and du
  8. Determining Disk Usage (GUI)
  9. Disk Usage with Quotas
  10. File Ownership
  11. Default Group Ownership
  12. File and Directory Permissions
  13. File Creation Permissions with umask
  14. SUID and SGID on files
  15. SGID and Sticky Bit on Directories
  16. Changing File Permissions
  17. User Private Group Scheme

Lab Tasks

  1. Navigating Directories and Listing Files
  2. Disk and Filesystem Usage
  3. File and Directory Ownership and Permissions
Manipulating Files
  1. Directory Manipulation
  2. File Manipulation
  3. Deleting and Creating Files
  4. Managing Files Graphically
  5. Drag and drop with Nautilus
  6. Physical Unix File Structure
  7. Filesystem Links
  8. File Extensions and Content
  9. Displaying Files
  10. Previewing Files
  11. Producing File Statistics
  12. Displaying Binary Files
  13. Searching the Filesystem
  14. Alternate Search Method

Lab Tasks

  1. Manipulating Files and Directories
  2. File Examination & Search Commands
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 and Environment Variables
  9. Key Environment Variables
  10. Which and Type
  11. General Quoting Rules
  12. Nesting Commands

Lab Tasks

  1. Redirection and Pipes
  2. Wildcard File Matching
  3. Shell Variables
  4. Shell Meta-Characters
  5. Command Substitution
Archiving and Compression
  1. Archives with tar
  2. Archives with cpio
  3. The gzip Compression Utility
  4. The bzip2 Compression Utility
  5. The XZ Compression Utility
  6. The PKZIP Archiving/Compression format
  7. GNOME File Roller

Lab Tasks

  1. Archiving and Compression
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. Combining Files and Merging Text
  9. Comparing File Changes

Lab Tasks

  1. Processing Text Streams
  2. Text Processing
Regular Expressions
  1. Regular Expression Overview
  2. Regular Expressions
  3. RE Character Classes
  4. Regex Quantifiers
  5. RE Parenthesis

Lab Tasks

  1. Pattern Matching with Regular Expressions
  2. Extended Regular Expressions
  3. Using Regular Expressions With sed
Text Editing
  1. Text Editing
  2. Pico/GNU Nano
  3. Pico/Nano Interface
  4. Nano configuration
  5. Pico/Nano Shortcuts
  6. vi and Vim
  7. Learning Vim
  8. Basic vi
  9. Intermediate vi

Lab Tasks

  1. Text Editing with Nano
  2. Text Editing with Vim
Messaging
  1. System Messaging Commands
  2. Controlling System Messaging
  3. Internet Relay Chat
  4. Instant Messenger Clients
  5. Electronic Mail
  6. Sending Email with sendmail
  7. Sending and Receiving Email with mailx
  8. Sending and Receiving Email with mutt
  9. Sending Email with Pine
  10. Evolution

Lab Tasks

  1. Command Line Messaging
  2. Messaging with talkd
  3. Command Line Email
  4. Alpine
Command Shells
  1. Shells
  2. Identifying the Shell
  3. Changing the Shell
  4. Configuration Files
  5. Script Execution
  6. Shell 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
  14. Setting Resource Limits via ulimit

Lab Tasks

  1. Linux Shells
  2. Bash History
  3. Aliases
  4. Bash Login Scripts
  5. The Z Shell
Introduction to Shell Scripting
  1. Shell Script Strengths and Weaknesses
  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 and until Loops

Lab Tasks

  1. Writing a Shell Script
Process Management and Job Control
  1. What is a Process?
  2. Process Lifecycle
  3. Process States
  4. Viewing Processes
  5. Signals
  6. Tools to Send Signals
  7. nohup and disown
  8. Managing Processes
  9. Tuning Process Scheduling
  10. Job Control Overview
  11. Job Control Commands
  12. Persistent Shell Sessions with Screen
  13. Using screen
  14. Advanced Screen

Lab Tasks

  1. Job Control Basics
  2. Process Management Basics
  3. Screen Basics
  4. Using Screen Regions
At and Cron
  1. Automating Tasks
  2. at/batch
  3. cron
  4. The crontab Command
  5. crontab Format
  6. /etc/cron.*/ Directories
  7. Anacron

Lab Tasks

  1. Creating and Managing User Cron Jobs
  2. Adding System cron Jobs
Managing Software
  1. Downloading with FTP
  2. FTP
  3. lftp
  4. Command Line Internet – Non-interactive
  5. Command Line Internet – Interactive
  6. Managing Software Dependencies
  7. Using the Yum command
  8. Using Yum history
  9. YUM package groups
  10. Configuring Yum
  11. yumdownloader
  12. Popular Yum Repositories
  13. Using the Zypper command
  14. Zypper Services and Catalogs
  15. The dselect & APT Frontends to dpkg
  16. Aptitude
  17. Configuring APT

Lab Tasks

  1. Command Line File Transfers
  2. Using Yum
  3. Using Zypper
  4. Managing Yum Repositories
  5. Managing Zypper Repositories
  6. Using APT
  7. Adding an APT repository
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
Mounting Filesystems & Managing Removable Media
  1. Filesystems Concept Review
  2. Mounting Filesystems
  3. NFS
  4. SMB
  5. Filesystem Table (/etc/fstab)
  6. AutoFS
  7. Removable Media

Lab Tasks

  1. Accessing NFS Shares
  2. On-demand filesystem mounting with AutoFS
Printing
  1. Legacy Print Systems
  2. Common UNIX Printing System
  3. Defining a Printer
  4. Standard Print Commands
  5. Format Conversion Utilities
  6. enscript and mpage

Lab Tasks

  1. Printing
  2. Configuring Print Queues
The X Window System
  1. The X Window System
  2. X Modularity
  3. X.Org Drivers
  4. Configuring X Manually
  5. Automatic X Configuration
  6. Xorg and Fonts
  7. Installing Fonts for Modern Applications
  8. Installing Fonts for Legacy Applications
  9. The X11 Protocol and Display Names
  10. Display Managers and Graphical Login
  11. Starting X Apps Automatically
  12. X Access Control
  13. Remote X Access (historical/insecure)
  14. Remote X Access (modern/secure)
  15. XDMCP
  16. Remote Graphical Access With VNC and RDP
  17. Specialized X Servers

Lab Tasks

  1. Remote X with XDMCP
  2. Configure X Security
  3. Configure a VNC Server
  4. Configure a VNC Server
  5. Configure a VNC Server
  6. Launching X Apps Automatically
  7. Secure X
Emacs
  1. Emacs
  2. The Emacs Interface
  3. Basic Emacs
  4. More Emacs Commands

Lab Tasks

  1. Text Editing with Emacs

Student Successes

Programs and Certifications