Linux Fundamentals

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


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 Discovery

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.
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 Directories

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


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 Management

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


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 Processing
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

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


Section 7 - Regular Expressions

Regular Expression Overview
Regular Expressions

Lab 7 - Regular 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


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
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 Editing

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


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 Shells

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


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 Scripting

Create a shell script to permit "safe" deletion of files
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 Control

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


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 - Messaging

Use mesg, write, and talk to communicate between
users.
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 - SSH

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


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 Software

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


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 - Printing

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.


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 Shares

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


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 X

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

Click here to see Course Schedule>