GL120: Fundamentals

Days: 5 Prerequisites: Students should be comfortable with computers. No familiarity with Linux or other operating systems is required. Audience: This course is ideal for those need to gain proficiency in Linux and Unix. Description: The GL120 is a challenging course that focuses on the fundamental tools and concepts of Linux and Unix. Students gain proficiency using the command line. Beginners develop a solid foundation in Unix, while advanced users discover patterns and fill in gaps in their knowledge. Like all Guru Labs courses, the course material is designed to provide extensive hands-on experience. Topics include: basic manipulation; basic and advanced filesystem features; I/O redirection and pipes; text manipulation and regular expressions; managing jobs and processes; , the standard Unix editor; automating tasks with shell scripts; managing software; secure remote administration; and .

OUTLINE:

I. WHAT IS LINUX? II. LOGIN AND EXPLORATION  Unix and its Design Principles  Logging In  FSF and GNU  Running Programs  GPL General Public License  Interacting with Command Line  The Linux Kernel  Desktop Environments  Linux Kernel and Versioning  GNOME  Components of a Distribution  Starting X  Slackware  Gathering Login Session Info  SUSE Linux Products  Gathering System Info   uptime and w  Ubuntu  got root?  Red Hat Linux Products  Switching User Contexts  Oracle Linux  sudo  Help from Commands and Documentation  whereis  Getting Help Within the Graphical Desktop  Getting Help with man and info LAB TASKS  Login and Discovery  Help with Commands  Switching Users with su

Baton Rouge | Lafayette | New Orleans www.lantecctc.com GL120: Linux Fundamentals

III. THE LINUX FILESYSTEM V. SHELL BASICS  Filesystem Support  Role of Command Shell  Unix/Linux Filesystem Features  Communication Channels  Filesystem Hierarchy Standard  File redirection  Navigating the Filesystem  Piping Command Together  Displaying Directory Contents  Filename Matching  Filesystem Structures  File Globbing and Wildcard  Determing Disk Usage with and Patterns  Brace Expansion  Determing Disk Usage (GUI)  Shell and Environment Variables  Disk Usage with Quotas  Key Environment Variables  File Ownership  Which and  Default Group Ownership  General Quoting Rules  File and Directory Permissions  Nesting Commands  File Creatoin Permissions with  SUID and SGID on files LAB TASKS  SGID and Sticky Bit on Directories  Redirection and Pipes  Changing File permissions  Wildcard File Matching  User private group scheme  Shell Variables  Shell Meta-Characters LAB TASKS  Command Substitution  Navigating Directories and Listing Files VI. ARCHIVING AND COMPRESSION  Disk and Filesystem usage  Archives with tar  File and Directory Ownership and  Archives with cpio Permissions  The gzip Compression Utility  Introduction to Troubleshooting Labs  The bzip2 Compression Utility  Troublshooting Practice: Filesystem  The XZ Compression Utility  The PKZIP Archiving/Compression IV. MANIPULATING FILES format  Directory Manipulation  GNOME File Roller  File Manipulation  Deleting and Creating Files VII. TEXT PROCESSING  Managing Files Graphically  Searching Inside Files  Drag and drop with Nautilus  The Streaming Editor  Physical Unix File Structure  Text Processing with Awk  Filesystem Links  Replacing Text Characters  File Extensions and Content  Text Sorting  Displaying Files  Duplicate Removal Utility  Previewing Files  Extracting Columns of Text  Producing File Statistics  Combining Files and Merging Text  Displaying Binary Files  Comparing File Changes  Searching the Filesystem  Alternate Search Method LAB TASKS  Processing Text Streams LAB TASKS  Text Processing  Manipulating Files and Directories  File Examiniation and Search Commands

Baton Rouge | Lafayette | New Orleans www.lantecctc.com GL120: Linux Fundamentals

VIII. REGULAR EXPRESSIONS XI. COMMAND SHELLS  Regular Expression Overview  Shells  Regular Expressions  Identifying the Shell  RE Character Classes  Changing the Shell  Regex Quantifiers  Configuration Files  RE Parenthesis  Script Execution  Shell Prompts LAB TASKS  : Bourne-Again Shell  Pattern Matching with Regular  Bash: Configuration Files Expressions  Bash: Command Line History  Extended Regular Expressions  Bash: Command Editing  Using Regular Expressions With  Bash: Command Completion  Bash: "shortcuts" IX. TEXT EDITING  Bash: prompt  Text Editing  Setting Resource Limits via ulimit  /GNU Nano  Pico/Nano Interface LAB TASKS  Nano configuration  Linux Shells  Pico/Nano Shortcuts  Bash History  vi and Vim  Aliases  Learning Vim  Bash Login Scripts  Basic vi  The  Intermediate vi XII. INTRODUCTION TO SHELL SCRIPTING LAB TASKS  Shell Script Strengths and  Text Editing with Nano Weaknesses  Text Editing with Vim  Example Shell Script  Positional Parameters X.MESSAGING  Input and Output  System Messaging Commands  Doing Math  Controlling System Messaging  Comparisons with  Internet Relay Chat  Status  Instant Messenger Clients  Conditional Statements  Electronic Mail  Flow Control: case  Sending Email with sendmail  The for Loop  Sending and Receiving Email with  The while and until Loops mailx  Sending and Receiving Email with LAB TASKS mutt  Writing a Shell Script  Sending Email with  Evolution LAB TASKS  Command Line Messaging  Messaging with talkd  Command Line Email  Alpine

Baton Rouge | Lafayette | New Orleans www.lantecctc.com GL120: Linux Fundamentals

XIII. PROCESS MANAGEMENT AND JOB XV.MANAGING SOFTWARE CONTROL  Downloading with FTP  What is a Process?  FTP  Process Lifecycle  lftp  Process States  Command Line Internet Non-  Viewing Processes interactive  Signals  Command Line Internet Interactive  Tools to Send Signals  Managing Software Dependencies  and disown  Using the Yum command  Managing Processes  Using Yum history  Tuning Process Scheduling  YUM package groups  Overview  Configuring Yum  Job Control Commands  yumdownloader  Persistent Shell Sessions with Screen  Popular Yum Repositories  Using screen  Using the Zypper command  Advanced Screen  Zypper Services and Catalogs  The dselect and APT Frontends to LAB TASKS dpkg 15.Job Control Basics 16.Process  Aptitude Management Basics 17.Screen Basics  Configuring APT 18.Using Screen Regions LAB TASKS 19.Troubleshooting Practice: Process Management  Command Line File Transfers  Using Yum XIV. AND  Using Zypper  Automating Tasks  Managing Yum Repositories  at/batch  Managing Zypper Repositories  cron  Using APT  The crontab Command  Adding an APT repository  crontab Format XVI. THE SECURE SHELL (SSH)  /etc/cron.*/ Directories  Anacron  Secure Shell  ssh and sshd Configuration LAB TASKS  Accessing Remote Shells  Creating and Managing User Cron  Transferring Files Jobs  Alternative sftp Clients  Adding System cron Jobs  SSH Key Management  Troubleshooting Practice:  ssh-agent Automating Tasks LAB TASKS  Introduction to ssh and scp  SSH Key-based User Authentication  Using ssh-agent

Baton Rouge | Lafayette | New Orleans www.lantecctc.com GL120: Linux Fundamentals

XVII. MOUNTING FILESYSTEMS AND APPENDIX MANAGING REMOVABLE MEDIA A. THE X WINDOW SYSTEM  Filesystems Concept Review  Mounting Filesystems  The X Window System  NFS  X Modularity  SMB  X.Org Drivers  Filesystem Table (/etc/fstab)  Configuring X Manually  AutoFS  Automatic X Configuration  Removable Media  Xorg and Fonts LAB TASKS  Installing Fonts for Modern Applications  Accessing NFS Shares  Installing Fonts for Legacy  On-demand filesystem mounting Applications with AutoFS  The X11 Protocol and Display Names XVIII. PRINTING  Display Managers and Graphical  Legacy Print Systems Login  Common UNIX Printing System  Starting X Apps Automatically  Defining a Printer  X Access Control  Standard Print Commands  Remote X Access  Format Conversion Utilities (historical/insecure)  enscript and mpage  Remote X Access (modern/secure)  XDMCP LAB TASKS  Remote Graphical Access With  Printing VNC and RDP  Configuring Print Queues  Specialized X Servers LAB TASKS  Remote X with XDMCP  Configure X Security  Configure a VNC Server  Configure a VNC Server  Configure a VNC Server  Launching X Apps Automatically  Secure X B.EMACS  Emacs  The Emacs Interface  Basic Emacs  More Emacs Commands LAB TASKS  Text Editing with Emacs

Baton Rouge | Lafayette | New Orleans www.lantecctc.com