Course Summary
Designed to provide the essential skills needed to be proficient at the Unix or Linux command line, this challenging, highly praised course focuses on the fundamental concepts and tools which make Linux so powerful.
Duration
4 days.
Objectives
Students in this course commonly span a variety of skill levels, from beginners desiring a solid foundation in Unix to experienced users seeking to fill in gaps in their knowledge.
The curriculum is designed to provide hands-on experience. Subjects focused on during this class include the Unix filesystem and how to manipulate it; the basic Unix notions of pipes, redirection, regular expressions, and other tools for performing complex tasks; the management of processes and jobs; vi, the standard Unix editor; and the ability to construct shell scripts to automate routine or difficult operations.
Audience
Instructors
Additional Notes
This course is currently supported on the latest releases of Red Hat Enterprise Linux, Fedora Core Linux, SUSE Linux Enterprise Server, or SUSE Linux Professional.
Outline
Getting Started
- What is UNIX?
- A Brief History of UNIX
- Linux
- The Toolkit Philosophy
- Linux Distributions
- Free Software and Open Source Movements
- Logging In
- Logging Out
- Try a Few More Commands
- Changing Your Password
- Online Documentation – man Pages
- Online Documentation – info Pages
The File System - Files
- What is a File?
- The ls Command
- The cat Command
- The more and less Commands
- The head and tail Commands
- Copy, Rename, and Delete: cp, mv, rm
- File Names
- Working with MS-DOS Disks; mtools
The File System - Directories
- Hierarchical File System
- Pathnames
- The pwd and cd Command – Navigating Directories
- The mkdir and rmdir - Managing Directories
- The cp Command (again) – Copy Files
- Two Useful Directory Names - . and ..
Text Editors
- Linux Text Editors
- The pico Editor
- The Nedit Editor
- The Emacs Text Editor
- The vi Text Editor Family
Editing With vi
- What is vi?
- Getting Started - vi Buffering
- Command Mode and Insert Mode
- Getting Started
- Moving the Cursor Around
- Inserting Text
- Deleting a Character or Line
- Undo Last Command
- Opening a New Line
- Save Your Work or Abort the Session
- Review of vi Commands
Personal Utilities
- The date Utility
- The bc Utility
- The cal Utility
- The id Utility
- The uname Utility
- The finger Utility
- The script Utility
- The clear Utility
- The at and crontab Utilities
Text Handling Utilities
- The grep Utility
- The tr Utility
- The cut Utility
- The sort Utility
- The wc Utility
- The diff Utility
- The lpr Utility
File System Security
- File Permissions
- The chmod Utility
- Directory Permissions
- The umask Command
- The chown, chgrp, and su Commands
File System Management Utilities
- The find Utility
- The df Utility
- The du Utility
- Compressing Files
- The ln Utility
- The ulimit Utility
- The tar Utility
Communication Utilities
- The write and talk Utilities
- The mesg Utility
- Mail Overview
- The mail Utility
- Other Email Options
- IRC: Internet Relay Chat
Networking Utilities
- Remote Login with telnet
- Remote File Transfer With ftp
- Secure Login With ssh
- Secure File Transfer With scp
- Text-Based Web Access with lynx
- Web Access with wget and curl
- Samba Server Overview
- The smbclient Utility
- NFS File Sharing Overview
Using the Shell
- What is a Shell?
- The Command Line
- Standard Input, Standard Output, and Standard Error
- Using Default Standard In and Standard Output
- I/O Redirection
- I/O Redirection – Examples
- I/O Redirection - Warning
- Appending Output of a File
- Pipes
- The tee Utility
Filename Generation
- Filename Generation
- The ? Special Character
- The * Special Character
- The [] Special Characters
- The ! Special Character
Processes
- What is a Process?
- Process Structure
- The ps Utility
- Options to the ps Utility
- Background Commands (&)
- Killing Background Processes
- Redirecting the Standard Error
Shell Programming Concepts
- What is a Shell?
- Which Shell?
- What is a Shell Script?
- Why Use Shell Scripts?
Flow Control
- The Exit Status of Commands
- Command Line Examples
- The test Command
- The if-then-else Construct
- The elif Construct
- A Loop Example
Variables
- User Created Variables
- The read Command
- The Shell Environment
- The export Command
- Subshells
- Command Substitution
- Quoting Mechanisms
- Shell Arithmetic
- Assigning Variables - Summary
Special Variables
- Command-Line Arguments
- $# - Number of Arguments
- The shift Command
- $* - All Arguments
- $$ - PID of Shell
More Flow Control
- The for Loop
- The while Loop
- The case Construct
X Windows and Desktops
- The X Window System
- Using X
- Window Managers and Desktops
- The Gnome Desktop
- The KDE Desktop
- Applications: The GIMP
- Applications: OpenOffice
- Applications: Web Browsers
Appendix A: More Editing with vi
- Scrolling the Buffer
- Cursor Motion Commands - w,W,b,B,e,E
- Cursor Motion Commands - $,^,0,G
- Cursor Motion Commands - f,t,F,T
- Delete Operator - d
- Change Operator - c
- Yank Operator - y
- Put Commands - p,P
- Searching for a Pattern - /,n,N,?
- The Join Command
- The file Command - :f
- Edit File Command - :e
- Cut and Paste Between Files
- Read File Command - :r
- Set Options Command
- Set Options Command - .exrc file
Appendix B: Bash Shell Features
- Viewing Your Command History
- Editing and Re-executing Commands
- Aliases