GL952 - Linux CLI and Shell Scripting

Need something different? Guru Labs has other Linux and security courses and can build a custom course that covers exactly what you need!

A custom course from the GL120 and GL375.

Prerequisites:

No prerequisites

Supported Distributions:
Red Hat Enterprise Linux 6
Recommended Class Length:
3 days
Detailed 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. 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 Command Processing
    1. Role of Command Shell
    2. Shell Script Strengths and Weaknesses
    3. Shells
    4. Example Shell Script
    5. Shell and Environment Variables
    6. Key Environment Variables
    7. General Quoting Rules
    8. Nesting Commands
    9. Communication Channels
    10. File Redirection
    11. Piping Commands Together
    12. Filename Matching
    13. File Globbing and Wildcard Patterns
    14. Brace Expansion
    15. Multiple and Multi-line Commands
    Lab Tasks
    1. Shell Meta-Characters
    2. Command Substitution
    3. Connecting Commands
    4. Wildcard File Matching
    5. Shell Variables
  6. Shell Scripting Basics
    1. Positional Parameters
    2. Input & Output
    3. printf
    4. alias
    5. Functions
    6. Colors in Scripts
    7. Custom Bash Prompts
    Lab Tasks
    1. Aliases
    2. Bash Login Scripts
    3. Create "userinfo" and "sysinfo" functions
  7. Working with Files
    1. Doing Math
    2. cron
    3. The crontab Command
    4. crontab Format
    5. /etc/cron.*/ Directories
    6. Sending Email with mail
    Lab Tasks
    1. Disk and Filesystem Usage
  8. Regular Expressions
    1. Searching Inside Files
    2. Regular Expression Overview
    3. Regular Expressions
    4. RE Character Classes
    5. RE Quantifiers
    6. RE Parenthesis
    7. The Streaming Editor
    Lab Tasks
    1. Pattern Matching with Regular Expressions
    2. Extended Regular Expressions
    3. Using Regular Expressions With sed
  9. Branching and Looping
    1. Exit Status
    2. Comparisons with test
    3. Conditional Statements
    4. Flow Control: case
    5. Flow Control: while and until Loops
    6. The for Loop
    7. Flow Control: select
    Lab Tasks
    1. Reporting User Statistics
    2. Monitoring Filesystem Usage
  10. Data Munging
    1. Text Processing with awk
    2. Text Sorting
    3. Duplicate Removal Utility
    4. Extracting Columns of Text
    Lab Tasks
    1. Create "rmhost" function
    2. Create "showenv" function
    3. Parsing Mail Server Logs
    4. Fixing Incorrect Files
  11. Security, Whitespace and Other Gotchas
    1. Gotchas: Maximum Command Length
    2. Gotcha: Whitespace in for Loops
    3. Reading Files with while
    4. Gotcha: $IFS
    5. Gotcha: Printing in .bashrc
    6. Gotcha: Aliases
    Lab Tasks
    1. Renaming MP3 Files
    2. Split and Display $PATH
    3. A tar-based Backup
  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. 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
  14. 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