This course gives an introduction to Linux, a versatile and stable operating system used in business and on many of the servers on the internet. The course is suitable as preparation for the CompTIA Linux+ examinations.
We concentrate on the command line rather than the graphical user interface (GUI) with the most commonly used commands and utilities described in detail as are the use of piping, redirection, wildcards and the vim editor.
The system is fairly easy to learn and use and we expect this course to be a fun and interesting way to master it.
Although based on Ubuntu, the commands and principles learnt may be applied to all other versions of Linux, including Red Hat, CentOS, SUSE and Arch and to all versions of Unix including Solaris and AIX.
The course takes the format of a workshop, with a mix of lecture, working examples and practical exercises. Although the content may be customised, at least 2 days are normally needed to cover the core elements.
Full course notes are provided along with sample files and free software tools for use in accessing a Linux server.
- Aims and Objectives, Schedule, Introductions, Pre-requisites, Responsibilities
Objectives and Fundamentals
- What are Linux and Unix?
- Logging On
- Command Syntax: Command Alone Command With Options Command With Filename
- Command Alone
- Command With Options
- Command With Filename
Basic Commands
- uname – System Information
- id – Current User Identity
- who – Show Logged In Users
- date – Display Date/Time
- cal – Calendar Display
- echo – Display Messages
- Escape Character ( )
- figlet – ASCII Art Text
System Navigation
- Arrow Keys
- man – Manual Pages
- Important Control Keys
Account Management
- passwd – Change Password
- exit – Terminate Session
Shell Information
- Advantages & Disadvantages
- Basic Structure
- ps – Process Status
- Shell Types: Bourne Shell C Shell Korn Shell Bash Shell
- Shell Selection
- Bourne Shell
- C Shell
- Korn Shell
- Bash Shell
Additional Materials
- Handouts
- Self Study
- History of Unix
- History of Linux
Core Concepts
- Processes and Files
- Directory Operations: root Directory ls – List Directory Contents Directory Structure
- root Directory
- ls – List Directory Contents
- Directory Structure
File Operations
- cat – Concatenate Files
- less – File Viewer
- wc – Word Count
- nl – Number Lines
- file – Determine File Type
I/O Operations
- Piping ( | )
- Redirection ( > , >> )
- tee – Redirect and Pipe
- Multiple Commands ( ; )
Administrative Commands
- su – Switch User
- sudo – Superuser Do
Additional Topics
- Process Execution
- File Types
- script – Record Terminal Session
- File Protection ( noclobber )
Directory Navigation
- $HOME – Home Directory
- pwd – Print Working Directory
- cd – Change Directory
Shell Configuration
- PS1 – Primary Prompt
- Secondary Prompt ( > )
- Aliases
- Shell Customization
- . (dot) Command
- Command History
- Tab Completion
Directory Management
- mkdir – Create Directory
- rmdir – Remove Directory
- Special Entries ( . and .. )
- type – Command Type
- Path Names
Basic File Operations
- cp – Copy Files
- cp -i – Interactive Copy
- mv – Move Files
- mv -i – Interactive Move
- Directory Operations
- touch – Create/Update Files
- rm – Remove Files rm -i – Interactive Remove rm -f – Force Remove rm -r – Recursive Remove
- rm -i – Interactive Remove
- rm -f – Force Remove
- rm -r – Recursive Remove
Wildcards
- * – Match Any Characters
- ? – Match Single Character
- [] – Character Classes
- Wildcard Usage with cp , rm , ls
Text Processing
- wc – Word Count
- Command Combinations
- Workshop (Optional)
Editor Basics
- What is vi?
- What is vim?
- Basic Usage
Operating Modes
- Command Mode (Cursor Movement)
- Input/Replace Mode
- Command-line Mode
Text Operations
- Deletion
- Cut and Paste
- Yank and Put
File Comparison
- cmp – Compare Files
- diff – Find Differences
- sdiff – Side-by-side Diff
- vimdiff – Vim Diff Mode
Advanced Features
- Regular Expressions
- Global Commands
- Line Addressing
- Substitution
- Settings Configuration
- Syntax Highlighting
File Search
- find – Search Files
- xargs – Build Command Lines
I/O Redirection
- Error Redirection
- Input Redirection ( < )
- Here Documents ( << )
Process Control
- Foreground Jobs
- Background Jobs ( & )
- kill – Terminate Processes
- jobs – List Jobs
Job Scheduling
- crontab – Schedule Tasks
- at – One-time Job Schedule
System Communication
- mail – Email
- write – Send Messages
- mesg – Message Permissions
File Management
Print System
- pr , lp , lpstat , cancel
- lpr , lpq , lprm
Process Priority
- nohup – No Hang Up
- nice – Adjust Priority
Text Search
- grep – Pattern Search
- egrep – Extended Grep
Text Processing
- sort – Sort Lines
- uniq – Remove Duplicates
- cut – Extract Fields
- tr – Translate Characters
- expand / unexpand – Tab Conversion
- join / paste – Combine Files
- split – Split Files
- fmt – Format Text
- od – Octal Dump
Advanced Topics
- Regular Expressions
- Multiple File Editing
Archive Operations
- tar – Tape Archive
- gzip / gunzip – Compression
- cpio – Copy I/O
- dd – Convert and Copy
- Backup Scripting
Permission Management
- File and Directory Permissions
- Permission Evaluation
- chmod – Change Permissions
- Octal Notation
- SUID Bit
- umask – Default Permissions
- Essential Commands
- vim Quick Reference
- nano Quick Reference