www.peaklearningllc.com LINUX FUNDAMENTALS (5 Day) 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 a solid understanding of computing functions. Courseware supports latest versions of Red Hat Enterprise Linux, Fedora Core, SUSE LINUX Professional, and SUSE LINUX Enterprise Server. 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 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. 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 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