GL120 - Linux Fundamentals

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.

Current Version: K01

Prerequisites:

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

Supported Distributions:
Red Hat Enterprise Linux 6
SUSE Linux Enterprise 11
Ubuntu 12.04 LTS
Course Outline:
  1. 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
    13. Mandriva
  2. Login and Exploration
    1. Logging In
    2. Running Programs
    3. Interacting with Command Line
    4. The X Window System
    5. Starting X
    6. Gathering Login Session Info
    7. Gathering System Info
    8. got root?
    9. Switching User Contexts
    10. sudo
    11. Help from Commands and Documentation
    12. Getting Help with man & info
    Lab Tasks
    1. Login and Discovery
    2. Help with Commands
    3. Switching Users With su
  3. 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 With baobab
    9. Disk Usage with Quotas
    10. File Ownership
    11. Default Group Ownership
    12. File and Directory Permissions
    13. File Creation Permissions with umask
    14. Changing File Permissions
    15. SUID and SGID on files
    16. SGID and Sticky Bit on Directories
    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
  4. 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. Manipulating Files and Directories
    2. File Examination & Search Commands
  5. 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. 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
  6. 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
    Lab Tasks
    1. Archiving and Compression
  7. 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. Text Processing
  8. Regular Expressions
    1. Regular Expression 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
  9. Text Editing
    1. Text Editing
    2. Pico/GNU Nano
    3. Pico/Nano Interface
    4. Pico/Nano Shortcuts
    5. vi and Vim
    6. Learning vi
    7. Basic vi
    8. Intermediate vi
    Lab Tasks
    1. Text Editing with Nano
    2. Text Editing with Vim
  10. Command Shells
    1. Shells
    2. Identifying the Shell
    3. Changing the Shell
    4. Bourne sh: Configuration Files
    5. Script Execution
    6. Bourne 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
    14. Setting Resource Limits via ulimit
    Lab Tasks
    1. Linux Shells
    2. Bash History
    3. Aliases
    4. Bash Login Scripts
    5. The Z Shell
  11. 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
  12. 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. Job Control Overview
    8. Job Control Commands
    9. Persistent Shell Sessions with 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
  13. Process Administration
    1. Automating Tasks
    2. at/batch
    3. cron
    4. The crontab Command
    5. crontab Format
    6. /etc/cron.*/ Directories
    7. Anacron
    8. Managing Processes
    9. Tuning Process Scheduling
    Lab Tasks
    1. Creating and Managing User Cron Jobs
    2. Adding System cron Jobs
  14. 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. YUM package groups
    9. Configuring YUM
    10. Popular Yum Repositories
    11. Using the Zypper command
    12. Zypper Services and Catalogs
    13. The dselect & APT Frontends to dpkg
    14. Aptitude
    15. Configuring APT
    Lab Tasks
    1. Command Line File Transfers
    2. Using YUM
    3. Using Zypper
    4. Managing YUM Repositories
    5. Managing Zypper Repositories
  15. 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. Command Line Email
  16. Printing
    1. Linux Printer Sub-systems
    2. Legacy Print Systems
    3. Common UNIX Printing System
    4. Defining a Printer
    5. Standard Print Commands
    6. Format Conversion Utilities
    7. Ghostscript
    8. 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 (/etc/fstab)
    6. AutoFS
    7. Removable Media
    Lab Tasks
    1. Accessing NFS Shares
    2. On-demand filesystem mounting with AutoFS
  1. 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. Automatic X Configuration – SLES
    7. Xorg and Fonts
    8. Installing Fonts for Modern Applications
    9. Installing Fonts for Legacy Applications
    10. The X11 Protocol and Display Names
    11. Display Managers and Graphical Login
    12. Starting X Apps Automatically
    13. X Access Control
    14. Remote X Access (historical/insecure approach)
    15. Remote X Access (modern/secure approach)
    16. XDMCP
    17. Remote Graphical Access With VNC and RDP
    18. 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. Launching X Apps Automatically
    6. Secure X
  2. Emacs
    1. Emacs
    2. The Emacs Interface
    3. Basic Emacs
    4. More Emacs Commands
    Lab Tasks
    1. Text Editing with Emacs
Upcoming GL120 Classes
May 19 - May 23, 2014 Register Now
May 19 - May 23, 2014 Register Now
Jun 23 - Jun 27, 2014 Register Now
Jun 23 - Jun 27, 2014 Register Now
Aug 11 - Aug 15, 2014 Register Now
Aug 11 - Aug 15, 2014 Register Now
Sep 29 - Oct 3, 2014 Register Now
Sep 29 - Oct 3, 2014 Register Now
Nov 10 - Nov 14, 2014 Register Now
Nov 10 - Nov 14, 2014 Register Now
More...
Don't see what you're looking for? Check our schedule or make a request.