GL120 "LINUX FUNDAMENTALS"
Designed to provide the essential skills needed to be proficient at the Unix or Linux command line. This challenging course focuses on the fundamental concepts and tools which make Unix and Linux so powerful. 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 Linux filesystem and how to manipulate it; the basic Unix and Linux 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.Prerequisites for this class are are solid understanding of computing functions.
Courseware supports latest versions of Red Hat Enterprise Linux, Fedora Core, SUSE LINUX Professional, and SUSE LINUX Enterprise Server. See the exact versions here.
Suggested course duration: 40 hours.
DETAILED COURSE OUTLINE
Section 1 - What is Linux?UNIX Origins, Design Principles and Timeline
FSF, GNU, and GPL - General Public License
The Linux Kernel and Linux Features
Popular uses of Linux
What is a Distribution?
Components of Distributions
SLS, Slackware, Mandriva, and Debian
Red Hat Linux Products
SUSE Linux Products
Architecture Specific Distros
Role Specific Distros
Unusual Features
Standardization
FSF, GNU, and GPL - General Public License
The Linux Kernel and Linux Features
Popular uses of Linux
What is a Distribution?
Components of Distributions
SLS, Slackware, Mandriva, and Debian
Red Hat Linux Products
SUSE Linux Products
Architecture Specific Distros
Role Specific Distros
Unusual Features
Standardization
Section 2 - Multi-User Concepts
Multi-User Concepts
got root?
Logging In
Switching User Contexts
Gathering Login Session Info
Gathering System Info
Getting Help
Lab 2 - Login and Discoverygot root?
Logging In
Switching User Contexts
Gathering Login Session Info
Gathering System Info
Getting Help
Login to the workstation using a virtual console and GUI interface.
Use commands to gather information about the current login and the other users on the system.
Use a variety of help tools to discover more information about the commands.
Use and explore the use of the su command.
Observe the operation differences between su and su -.
Use commands to gather information about the current login and the other users on the system.
Use a variety of help tools to discover more information about the commands.
Use and explore the use of the su command.
Observe the operation differences between su and su -.
Section 3 - The Linux Filesystem
LINUX Filesystem Features
Filesystem Hierarchy Standard
Navigating the Filesystem
Displaying Directory Contents
Determining Disk Usage
Disk Usage with Quotas
File Ownership
File and Directory Permissions
File Creation Permissions
Changing File Permissions
SUID and SGID on files
SGID and Sticky Bit - Directories
User Private Group Scheme
Lab 3 - Files and DirectoriesFilesystem Hierarchy Standard
Navigating the Filesystem
Displaying Directory Contents
Determining Disk Usage
Disk Usage with Quotas
File Ownership
File and Directory Permissions
File Creation Permissions
Changing File Permissions
SUID and SGID on files
SGID and Sticky Bit - Directories
User Private Group Scheme
Use the various commands to navigate the directories on the workstation.
Display the characteristics of some files and directories.
Use df to see how much hard drive space is being used by the filesystem(s)
Use du to show disk usage of all files in a certain directory
Display, then change , the ownership of some of the files and directories on the workstation
Use commands to display, change, and set permissions for the different files and directories on the workstation
Display the characteristics of some files and directories.
Use df to see how much hard drive space is being used by the filesystem(s)
Use du to show disk usage of all files in a certain directory
Display, then change , the ownership of some of the files and directories on the workstation
Use commands to display, change, and set permissions for the different files and directories on the workstation
Section 4 - Manipulating Files
Directory Manipulation
File Manipulation
File Creation and Removal
Physical Unix File Structure
Filesystem Links
File extensions and content
Displaying Files
Previewing Files
Searching the filesystem
Alternate Search Method
Producing File Statistics
Lab 4 - File ManagementFile Manipulation
File Creation and Removal
Physical Unix File Structure
Filesystem Links
File extensions and content
Displaying Files
Previewing Files
Searching the filesystem
Alternate Search Method
Producing File Statistics
Explore commands that are useful when doing file and directory management
Use commands to display the contents of text files
Use find and locate to search for files
Use commands to display the contents of text files
Use find and locate to search for files
Section 5 - Text Processing
Searching Inside Files
The Streaming Editor
Text Processing with Awk
Replacing Text characters
Text Sorting
Duplicate Removal Utility
Extracting Columns of Text
Merging Multiple Files
Lab 5 - Text ProcessingThe Streaming Editor
Text Processing with Awk
Replacing Text characters
Text Sorting
Duplicate Removal Utility
Extracting Columns of Text
Merging Multiple Files
Using standard UNIX filters to modify and sort text
Section 6 - Shell Basics
Role of Command Shell
Communication Channels
File Redirection
Piping Commands Together
Filename Matching
Wildcard Patterns/Globbing
Brace Expansion
Shell/Environment Variables
Environment Variables
General Quoting Rules
Nesting Commands
Lab 6 - Shell Basics Communication Channels
File Redirection
Piping Commands Together
Filename Matching
Wildcard Patterns/Globbing
Brace Expansion
Shell/Environment Variables
Environment Variables
General Quoting Rules
Nesting Commands
Use I/O redirection commands
Use | (pipe) to chain commands
Glob using wildcard patterns
Configure a shell variable
Use the export command to create an environment variable
Escaping shell meta-characters
Command substitution using backquotes and the $(command) form
Use | (pipe) to chain commands
Glob using wildcard patterns
Configure a shell variable
Use the export command to create an environment variable
Escaping shell meta-characters
Command substitution using backquotes and the $(command) form
Section 7 - Regular Expressions
Regular Expression Overview
Regular Expressions
Lab 7 - Regular ExpressionsRegular Expressions
Use regular expressions with grep to search for character patterns
Practice some advanced RegEx’s with egrep
Use sed to perform text editing on a file using regular expressions
Practice some advanced RegEx’s with egrep
Use sed to perform text editing on a file using regular expressions
Section 8 - Archiving and Compression
Directory Archive with tar and cpio
The compress utility
The gzip and bzip2 compression utilities
Lab 8 - Archiving and Compression The compress utility
The gzip and bzip2 compression utilities
Use archiving and compression commands
Section 9 Text Editing
Text editing
Pico/GNU Nano
Pico/Nano Interface and Commands
Vi: Basic and Advanced Vi
Advanced Vi Commands
Emacs and Emacs Interface
Basic and Advanced Emacs Commands
Lab 9 - Text EditingPico/GNU Nano
Pico/Nano Interface and Commands
Vi: Basic and Advanced Vi
Advanced Vi Commands
Emacs and Emacs Interface
Basic and Advanced Emacs Commands
Use the pico or nano editor to create and efficiently modify text files
Use the vim editor: motion, editing
Use the Emacs editor: motions, kill, yank, undo, search and search-query commands
Use the vim editor: motion, editing
Use the Emacs editor: motions, kill, yank, undo, search and search-query commands
Section 10 - Command Shells
Shells
Identifying and Changing the Shell
sh: Configuration Files
sh: Script Execution
sh: Prompts
bash: Bourne Again Shell
bash: Configuration Files
bash: Command Line History, Editing and Completion
Bash: "shortcuts"
bash: prompt
Lab 10 - Unix ShellsIdentifying and Changing the Shell
sh: Configuration Files
sh: Script Execution
sh: Prompts
bash: Bourne Again Shell
bash: Configuration Files
bash: Command Line History, Editing and Completion
Bash: "shortcuts"
bash: prompt
Identify the current shell
Examine symbolic links of listed shells
Invoke shell directly and change login shell
Explore the functions available through command line history
Display all aliases, create a new alias, and remove an alias
Add aliases to .bashrc file to make aliases persistent across login shells and system reboots
Customize the bash shell
Run the Z shell
Explore prompt options including a right hand prompt
Examine symbolic links of listed shells
Invoke shell directly and change login shell
Explore the functions available through command line history
Display all aliases, create a new alias, and remove an alias
Add aliases to .bashrc file to make aliases persistent across login shells and system reboots
Customize the bash shell
Run the Z shell
Explore prompt options including a right hand prompt
Section 11 - Shell Scripting
Shell Scripting
Example Shell Script
Positional Parameters
Input & Output
Doing Math
Comparisons with test
Conditional Statements
The for Loop
The while Loop
Lab 11 - Shell ScriptingExample Shell Script
Positional Parameters
Input & Output
Doing Math
Comparisons with test
Conditional Statements
The for Loop
The while Loop
Create a shell script to permit "safe" deletion of files
Install new shell script
Install new shell script
Section 12 - Process Management and Job Control
What is a Process?
Process Creation and States
Viewing Processes
Signals
Tools to Send Signals
Job Control Basics
Jobs
Screen
Using screen
Advanced Screen
Lab 12 - Job ControlProcess Creation and States
Viewing Processes
Signals
Tools to Send Signals
Job Control Basics
Jobs
Screen
Using screen
Advanced Screen
Create several jobs to multi-task at the shell prompt
Job control
Use a "fork bomb" to create additional processes
Use process management tools to examine the current state of the system
Clean up using kill, killall, pgrep and pkill on the command line and KDE System Guard and the Gnome System Monitor GUI programs
Create a screen session
Detach from your session and re-attach to your neighbor’ screen session
Create a split screen session
Job control
Use a "fork bomb" to create additional processes
Use process management tools to examine the current state of the system
Clean up using kill, killall, pgrep and pkill on the command line and KDE System Guard and the Gnome System Monitor GUI programs
Create a screen session
Detach from your session and re-attach to your neighbor’ screen session
Create a split screen session
Section 13 - Messaging
Command Line Messaging
write, talk, and ytalk
The mesg utility
Internet Relay Chat
Instant Messenger Clients
Electronic Mail
Sending Mail with sendmail
Sending Email with mail
Overview of PINE
Sending Email with Pine
Evolution
Lab 13 - Messagingwrite, talk, and ytalk
The mesg utility
Internet Relay Chat
Instant Messenger Clients
Electronic Mail
Sending Mail with sendmail
Sending Email with mail
Overview of PINE
Sending Email with Pine
Evolution
Use mesg, write, and talk to communicate between users.
Send mail using mail and pine.
Send mail using mail and pine.
Section 14 - The Secure Shell (SSH)
Secure Shell
Accessing Remote Shells
Transferring Files
Alternative sftp Clients
SSH Key Management
ssh-agent
Lab 14 - SSHAccessing Remote Shells
Transferring Files
Alternative sftp Clients
SSH Key Management
ssh-agent
Establish a secure session to a remote host using ssh
Copy files securely from one host to another using scp
Generate and use RSA and DSA user keys
Use ssh-agent to cache the decrypted private key
Copy files securely from one host to another using scp
Generate and use RSA and DSA user keys
Use ssh-agent to cache the decrypted private key
Section 15 - Managing Software
Downloading Software
FTP, NcFTP, and lftp
wget, lynx, and links
Installing Software
Installing Binary Packages - rpm
Querying and Verifying with rpm
Installing Debian Packages
Compiling / Installing from Source
Installing Source RPM Packages
Lab 15 - Managing SoftwareFTP, NcFTP, and lftp
wget, lynx, and links
Installing Software
Installing Binary Packages - rpm
Querying and Verifying with rpm
Installing Debian Packages
Compiling / Installing from Source
Installing Source RPM Packages
Practice using the ftp, ncftp, and wget commands to download software
Use RPM to query the system and for information about locally installed packages and package files
Install software via binary RPMs, source RPMs and source code
Use RPM to query the system and for information about locally installed packages and package files
Install software via binary RPMs, source RPMs and source code
Section 16 - Printing
Linux printer sub-systems
lpd and LPRng
Common UNIX Printing System
Standard Print Commands
Format Conversion Utilities
Ghostscript
enscript
mpage
Lab 16 - Printinglpd and LPRng
Common UNIX Printing System
Standard Print Commands
Format Conversion Utilities
Ghostscript
enscript
mpage
Use the sed, enscript, mpage, and ps2pdf commands to manipulate a text file and convert it into a .pdf file.
Use acroread to view the resulting PDF file.
Use acroread to view the resulting PDF file.
Section 17 - Mounting Filesystems & Managing Removable Media
Filesystems Concept Review
Mounting Filesystems
NFS
SMB
File System Table
Automating Mounts
Removable media
Preparing Floppy Diskettes
mtools Package
mtools Commands
Lab 17 - Using Removable Media and NFS SharesMounting Filesystems
NFS
SMB
File System Table
Automating Mounts
Removable media
Preparing Floppy Diskettes
mtools Package
mtools Commands
Format a floppy diskette and create an ext2 filesystem on the diskette
Mount the floppy and copy a file to it, then unmount the floppy
Use mtools to format a floppy
Copy a file from the /etc directory to the floppy
Copy the file from the floppy to your home directory
Mount a remote NFS share from server1 using the mount command
Add an NFS entry to /etc/fstab file
Use the mount command along with the /etc/fstab to mount a filesystem
Configure autofs and start the autofs service
Mount a remote NFS share from server1 using autofs
Mount the floppy and copy a file to it, then unmount the floppy
Use mtools to format a floppy
Copy a file from the /etc directory to the floppy
Copy the file from the floppy to your home directory
Mount a remote NFS share from server1 using the mount command
Add an NFS entry to /etc/fstab file
Use the mount command along with the /etc/fstab to mount a filesystem
Configure autofs and start the autofs service
Mount a remote NFS share from server1 using autofs
Section 18 - X Window System
The X Window System
X Modularity
Xfree86/X.org
Starting X
Display Manager Concepts
XDMCP and X Security
Using Unix Remotely
Customizing X Sessions
Starting X Apps Automatically
Window Manager Concepts
Desktop Environments
GNOME: Preferences, Panel, and Applications
KDE: KDE Control Center, Panel, and Applications
Lab 18 - Using XX Modularity
Xfree86/X.org
Starting X
Display Manager Concepts
XDMCP and X Security
Using Unix Remotely
Customizing X Sessions
Starting X Apps Automatically
Window Manager Concepts
Desktop Environments
GNOME: Preferences, Panel, and Applications
KDE: KDE Control Center, Panel, and Applications
Use xhost and xauth to permit remote connections
Explore the relationship between X servers, X clients, and X window managers
Experiment with the GNOME and KDE desktops
Explore the relationship between X servers, X clients, and X window managers
Experiment with the GNOME and KDE desktops


