| Course Abstract: |
This course provides participants the ability to learn the basic features of using UNIX/AIX/Solaris/Linux. Participants are invited to bring their current ideas and questions to the classroom for discussion. Case studies, lecture, group problem solving, and online laboratories will be used. Participants will be encouraged to enhance their skills utilizing the techniques presented through classroom problem solving and controlled online workshops. This course is approximately 50% labwork.
Instructional Technique Participants are invited to bring their current ideas and questions to the classroom for discussion. Case studies, lecture, group problem solving, and online laboratories will be used. Participants will be encouraged to enhance their skills utilizing the techniques presented through classroom problem solving and controlled online workshops.
|
| Course Topics: |
Introduction to Selected User Applications (optional topic) (selection based on client preference) 1. Unix/Linux Concepts (history of UNIX, background of its development) * What is UNIX? * What is Linux? * Operating System Components * Historical Overview * Features of Linux * Developer Support
2. Unix/Linux Basics (logging in, changing password, running simple commands) * Accessing the System * Issuing Commands * Control Keys and Command Line Editing * General Command Syntax * Online Documentation * Changing Your Password * Logging Out
3. Unix/Linux Files (directory structure, manipulating files, permissions) * Characteristics of Unix/Linux Files * File System Hierarchy * Directories and Subdirectories * Working with Directories * Listing Directory Contents * Special Files * Manipulating Files * Managing Files * Permissions * Default Permissions (using umask)
4. Shell Basics (I/O redirection, pipes, wildcards, command and variable substitutions, quoting) * Unix/Linux Components * I/O Redirection * Using Pipes * Using Wildcards for Filenames * Command Substitution * Variable Substitution * Introduction to Shell Scripts * Quoting to Prevent Interpretation * Command Parsing Order * Special Shell Scripts
5. The vi Editor (or vim on Linux) * Characteristics of vi * Starting vi * Command Structure (operators and operands) * Shortcuts (keyboard macros) * Inserting Text * Moving the Cursor * Deleting Text * Changing Text * Screen Control (scrolling) * Global Search and Replace * Cut and Paste * Loading, Saving, and Exiting * Setting Options in vi * Miscellaneous Command (only for vim) * Startup Files (.exrc and .vimrc)
6. Using the Bash Shell (command history, aliases, environment variables) (Note1) * Shell Background * Automatic Configuration * Command History * Command Prompt Customization * Command Line Editing * Setting Shell Options * Aliases (command macros) * Predefined Environment Variables * Example Startup Scripts (.profile, etc)
7. Linux Processes (process lifecycle, ps/nice/kill commands, process scheduling) * Process Structure * Process Lifecycle * Monitoring Running Processes * Shell Script Execution * Process Priorities * Modifying the nice Bias * Background Processes * Killing Processes * Job Control
8. Printing with CUPS (job submission and management) * Overview of CUPS Printing * Submitting a Print Job * Print Job Priorities * Job Hold/Resume * Other Job Options
9. Regular Expressions (metacharacters used when searching text files) * Background * The grep Command * Simple Metacharacters * Advanced Metacharacters * Extended Metacharacters (egrep and sed) * The sed Command * Greedy Matching * Overview of awk
10. Data Tools, Part 1 (commands for manipulating text files) * Checkpointing Data With tee * Displaying File Content With cat * Examing Log Files With head and tail * Managing Tabs With expand and unexpand * Field and Character Extraction With cut * Combining Multiple Files With paste * Finding Files That Match Criteria Using find
11. Data Tools, Part 2 (more commands for manipulating text files) * More Efficient Use of find via xargs * Comparing Text Files With diff and sdiff * Using the tr Command to Modify Character Data * Sorting Text Files With sort * Performing Relational Joins Using join
12. Scheduling Jobs With at and cron * Overview of Scheduling * Scheduling One-Shot Jobs: the at Command * Scheduling Periodic Jobs: the crontab Command * Detailed Explanation of a Sophisticated crontab Setup
13. Shell Scripting, Part 1 * Why Shell Programming? * Steps to Creating a Script * Menu Building Example Using select * Commenting Your Shell Scripts * Working with Variables * Proper Use of Error Messages * Performing Arithmetic in the Shell * Using expr for String Matching (deprecated) * Interactive Shell Scripts * Control Flow: if-then-else * Test Operations (using test, [ ], and [[ ]]) * Control Flow: while Loops * Control Flow: for Loops * Changing the Script Parameters * Changing Loop Flow (break and continue) * Multi-choice case Statements * Exiting a Shell Script * Using select to Build a Menu
14. Shell Scripting, Part 2 * Using getopts For Handling Options * Subshells * Conditional Execution * Managing Temporary Files * Trapping Signals * Performing Floating Point Arithmetic * HERE Documents * Debugging Options in the Shell * Shell Functions * Shell Arrays
15. Using TCP/IP * What is TCP/IP? * History of TCP/IP * Request for Comments (RFC) * Network Architecture in Unix/Linux * Local Area Networks and the Address Resolution Protocol * Wide Area Networks * IP Protocol Specifics * Subnet Mask and Broadcast Mask * Some Special IP Addresses * ICMP Protocol * UDP Protocol * TCP Protocol * Ports and Sockets * Name Resolution
For the 5 Day course, these are the additional topics: Using Graphical User Interfaces (optional topic) Introduction to Bash Shell Programming (optional topic) Using TCP/IP (optional topic) |