Duration:
5 days
Course Code: GL120
Audience:
Employees of federal, state and local governments; and businesses working with the government.
Prerequisites:
Students should be comfortable with computers. No familiarity with Linux or other Unix operating systems is required.
Course Description:
This Linux training session 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 ITdojo 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.
Supported Distributions:
Red Hat Enterprise Linux 7, SUSE Linux Enterprise 12, Ubuntu 14.04 LTS
Course Syllabus:
-
- 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
- Mandriva
- Login and Exploration
- 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 with man & info
Lab Tasks
- 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 With baobab
- Disk Usage with Quotas
- 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
Lab Tasks
- Navigating Directories and Listing Files
- Disk and Filesystem Usage
- File and Directory Ownership and Permissions
- 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
Lab Tasks
- Manipulating Files and Directories
- File Examination & Search Commands
- 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
Lab Tasks
- Connecting Commands
- Wildcard File Matching
- Shell Variables
- Shell Meta-Characters
- Command Substitution
- 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
Lab Tasks
- Archiving and Compression
- 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
Lab Tasks
- Text Processing
- Regular Expressions
- Regular Expression Overview
- Regular Expressions
- RE Character Classes
- RE Quantifiers
- RE Parenthesis
Lab Tasks
- Pattern Matching with Regular Expressions
- Extended Regular Expressions
- Using Regular Expressions With sed
- Text Editing
- Text Editing
- Pico/GNU Nano
- Pico/Nano Interface
- Pico/Nano Shortcuts
- vi and Vim
- Learning vi
- Basic vi
- Intermediate vi
Lab Tasks
- Text Editing with Nano
- Text Editing with Vim
- Command Shells
- Shells
- Identifying the Shell
- Changing the Shell
- Bourne sh: Configuration Files
- Script Execution
- Bourne sh: 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
Lab Tasks
- Linux Shells
- Bash History
- Aliases
- Bash Login Scripts
- The Z Shell
- 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
Lab Tasks
- Writing a Shell Script
- Process Management and Job Control
- What is a Process?
- Process Lifecycle
- Process States
- Viewing Processes
- Signals
- Tools to Send Signals
- Job Control Overview
- Job Control Commands
- Persistent Shell Sessions with Screen
- Using screen
- Advanced Screen
Lab Tasks
- Job Control Basics
- Process Management and Job Control Basics
- Screen Basics
- Using Screen Regions
- Process Administration
- Automating Tasks
- at/batch
- cron
- The crontab Command
- crontab Format
- /etc/cron.*/ Directories
- Anacron
- Managing Processes
- Tuning Process Scheduling
Lab Tasks
- Creating and Managing User Cron Jobs
- Adding System cron Jobs
- 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
- Popular Yum Repositories
- Using the Zypper command
- Zypper Services and Catalogs
- The dselect & APT Frontends to dpkg
- Aptitude
- Configuring APT
Lab Tasks
- Command Line File Transfers
- Using YUM
- Using Zypper
- Managing YUM Repositories
- Managing Zypper Repositories
- 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
Lab Tasks
- Command Line Messaging
- Command Line Email
- Printing
- Linux Printer Sub-systems
- Legacy Print Systems
- Common UNIX Printing System
- Defining a Printer
- Standard Print Commands
- Format Conversion Utilities
- Ghostscript
- enscript and mpage
Lab Tasks
- Printing
- The Secure Shell (SSH)
- Secure Shell
- ssh and sshd Configuration
- Accessing Remote Shells
- Transferring Files
- Alternative sftp Clients
- SSH Key Management
- ssh-agent
Lab Tasks
- Introduction to ssh and scp
- SSH Key-based User Authentication
- Using ssh-agent
- Mounting Filesystems & Managing Removable Media
- Filesystems Concept Review
- Mounting Filesystems
- NFS
- SMB
- Filesystem Table (/etc/fstab)
- AutoFS
- Removable Media
Lab Tasks
- Accessing NFS Shares
- On-demand filesystem mounting with AutoFS
- What is Linux?
What’s Included:
This 5 day intructor-led training session provides participants with a comprehensive overview of Linux Fundamentals.
- A printed manual that includes all power point slides
- A copy of the lab manual, allowing participants to go back over labs until they feel comfortable with them
If you have more questions about our Linux Training or would like more information about what other Linux courses we have available, please let us know.