Provides the essential skills and hands-on experience 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. 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.
This course is taught using Fedora Core 3.
Prerequisites: general understanding of computing functions, basic typing skills.
Instructor: David C. Niemi
Register
DETAILED COURSE OUTLINE
Section 1 - What is Linux?
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
got root?
Logging In
Switching User Contexts
Gathering Login Session Info
Gathering System Info
Getting Help
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 -.
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
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
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
Use commands to display the contents of text files
Use find and locate to search for files
The Streaming Editor
Text Processing with Awk
Replacing Text characters
Text Sorting
Duplicate Removal Utility
Extracting Columns of Text
Merging Multiple Files
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 | (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
Regular Expressions
Practice some advanced RegEx’s with egrep
Use sed to perform text editing on a file using regular expressions
The compress utility
The gzip and bzip2 compression utilities
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
Use the vim editor: motion, editing
Use the Emacs editor: motions, kill, yank, undo, search and search-query commands
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
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
Example Shell Script
Positional Parameters
Input & Output
Doing Math
Comparisons with test
Conditional Statements
The for Loop
The while Loop
Install new shell script
Process Creation and States
Viewing Processes
Signals
Tools to Send Signals
Job Control Basics
Jobs
Screen
Using screen
Advanced Screen
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
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
Send mail using mail and pine.
Accessing Remote Shells
Transferring Files
Alternative sftp Clients
SSH Key Management
ssh-agent
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
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
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
lpd and LPRng
Common UNIX Printing System
Standard Print Commands
Format Conversion Utilities
Ghostscript
enscript
mpage
Use acroread to view the resulting PDF file.
Mounting Filesystems
NFS
SMB
File System Table
Automating Mounts
Removable media
Preparing Floppy Diskettes
mtools Package
mtools Commands
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
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
Explore the relationship between X servers, X clients, and X window managers
Experiment with the GNOME and KDE desktops