This course focuses on the fundamental tools and concepts of Linux and Unix. Students gain exposure to 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 hands-on experience. Topics include: basic file manipulation; basic and advanced filesystem features; text manipulation, managing jobs and processes; vi, the standard Unix editor; and more.
Current Version: A00
Prerequisites:
Students should be comfortable with general computing concepts. 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:
- Login and Exploration
- Unix and its Design Principles
- Logging In
- Running Programs
- Interacting with Command Line
- The X Window System
- Starting X
- Gathering Login Session Info
- Gathering System Info
- got root?
- Switching User Contexts
- sudo
- Help from Commands and Documentation
- Getting Help Within the Graphical Desktop
- Getting Help with man & info
- Login and Discovery
- Help with Commands
- Switching Users With su
- 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)
- Archives with tar
- The gzip Compression Utility
- The bzip2 Compression Utility
- The XZ Compression Utility
- Navigating Directories and Listing Files
- Disk and Filesystem Usage
- Archiving and Compression
- Manipulating Files
- Directory Manipulation
- File Manipulation
- Deleting and Creating Files
- Physical Unix File Structure
- Filesystem Links
- File Extensions and Content
- Displaying Files
- Previewing Files
- Displaying Binary Files
- Searching the Filesystem
- Alternate Search Method
- Producing File Statistics
- Manipulating Files and Directories
- File Examination & Search Commands
- File Permissions and Security
- File Ownership
- Default Group Ownership
- File and Directory Permissions
- File Creation Permissions with umask
- Changing File Permissions
- SUID and SGID on files
- SGID and Sticky Bit on Directories
- User Private Group Scheme
- File and Directory Ownership and Permissions
- Editing Text Files
- Text Editing
- Pico/GNU Nano
- Pico/Nano Interface
- Nano configuration
- Pico/Nano Shortcuts
- vi and Vim
- Learning vi
- Basic vi
- Intermediate vi
- Text Editing with Nano
- Text Editing with Vim
- 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
- General Quoting Rules
- Nesting Commands
- Multiple and Multi-line Commands
- Connecting Commands
- Wildcard File Matching
- Shell Variables
- Shell Meta-Characters
- Command Substitution
- 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
- Text Processing
- Scheduling Utilities
- Automating Tasks
- at/batch
- cron
- The crontab Command
- crontab Format
- /etc/cron.*/ Directories
- Anacron
- Creating and Managing User Cron Jobs
- Adding System cron Jobs
- Processes and Job Control
- What is a Process?
- Process Lifecycle
- Process States
- Viewing Processes
- Signals
- Tools to Send Signals
- Managing Processes
- Tuning Process Scheduling
- Job Control Overview
- Job Control Commands
- Persistent Shell Sessions with Screen
- Using screen
- Advanced Screen
- Job Control Basics
- Process Management and Job Control Basics
- Screen Basics
- Using Screen Regions