Training » All Courses » Linux » Linux Fundamentals

Course Summary

Designed to provide the essential skills needed to be proficient at the Unix or Linux command line, this challenging, highly praised course focuses on the fundamental concepts and tools which make Linux so powerful.

Duration

4 days.

Objectives

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 Unix filesystem and how to manipulate it; the basic Unix 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.

Audience

End-users and programmers who are new to the Linux environment.
Students are expected to be familiar and comfortable with computers. No familiarity with Linux or other Unix operating systems is expected or required.

Instructors

Roger Marquis is a Unix, Linux, network and security consultant based in Berkeley, CA. He was first introduced to Unix and the Internet at U.C. Berkeley in 1987, founded Roble Systems Consulting in 1995, and designed and developed the PostConf web application in 2002. He has worked with most of Silicon Valley's top tech companies as engineer, trainer, manager, and C-level officer, and continues to believe that Unix and Linux are the keys to the future of Information Technology. More about Roger Marquis...

Additional Notes

This course is currently supported on the latest releases of Red Hat Enterprise Linux, Fedora Core Linux, SUSE Linux Enterprise Server, or SUSE Linux Professional.

Outline

Getting Started

  • What is UNIX?
  • A Brief History of UNIX
  • Linux
  • The Toolkit Philosophy
  • Linux Distributions
  • Free Software and Open Source Movements
  • Logging In
  • Logging Out
  • Try a Few More Commands
  • Changing Your Password
  • Online Documentation – man Pages
  • Online Documentation – info Pages

The File System - Files

  • What is a File?
  • The ls Command
  • The cat Command
  • The more and less Commands
  • The head and tail Commands
  • Copy, Rename, and Delete: cp, mv, rm
  • File Names
  • Working with MS-DOS Disks; mtools

The File System - Directories

  • Hierarchical File System
  • Pathnames
  • The pwd and cd Command – Navigating Directories
  • The mkdir and rmdir - Managing Directories
  • The cp Command (again) – Copy Files
  • Two Useful Directory Names - . and ..

Text Editors

  • Linux Text Editors
  • The pico Editor
  • The Nedit Editor
  • The Emacs Text Editor
  • The vi Text Editor Family

Editing With vi

  • What is vi?
  • Getting Started - vi Buffering
  • Command Mode and Insert Mode
  • Getting Started
  • Moving the Cursor Around
  • Inserting Text
  • Deleting a Character or Line
  • Undo Last Command
  • Opening a New Line
  • Save Your Work or Abort the Session
  • Review of vi Commands

Personal Utilities

  • The date Utility
  • The bc Utility
  • The cal Utility
  • The id Utility
  • The uname Utility
  • The finger Utility
  • The script Utility
  • The clear Utility
  • The at and crontab Utilities

Text Handling Utilities

  • The grep Utility
  • The tr Utility
  • The cut Utility
  • The sort Utility
  • The wc Utility
  • The diff Utility
  • The lpr Utility

File System Security

  • File Permissions
  • The chmod Utility
  • Directory Permissions
  • The umask Command
  • The chown, chgrp, and su Commands

File System Management Utilities

  • The find Utility
  • The df Utility
  • The du Utility
  • Compressing Files
  • The ln Utility
  • The ulimit Utility
  • The tar Utility

Communication Utilities

  • The write and talk Utilities
  • The mesg Utility
  • Mail Overview
  • The mail Utility
  • Other Email Options
  • IRC: Internet Relay Chat

Networking Utilities

  • Remote Login with telnet
  • Remote File Transfer With ftp
  • Secure Login With ssh
  • Secure File Transfer With scp
  • Text-Based Web Access with lynx
  • Web Access with wget and curl
  • Samba Server Overview
  • The smbclient Utility
  • NFS File Sharing Overview

Using the Shell

  • What is a Shell?
  • The Command Line
  • Standard Input, Standard Output, and Standard Error
  • Using Default Standard In and Standard Output
  • I/O Redirection
  • I/O Redirection – Examples
  • I/O Redirection - Warning
  • Appending Output of a File
  • Pipes
  • The tee Utility

Filename Generation

  • Filename Generation
  • The ? Special Character
  • The * Special Character
  • The [] Special Characters
  • The ! Special Character

Processes

  • What is a Process?
  • Process Structure
  • The ps Utility
  • Options to the ps Utility
  • Background Commands (&)
  • Killing Background Processes
  • Redirecting the Standard Error

Shell Programming Concepts

  • What is a Shell?
  • Which Shell?
  • What is a Shell Script?
  • Why Use Shell Scripts?

Flow Control

  • The Exit Status of Commands
  • Command Line Examples
  • The test Command
  • The if-then-else Construct
  • The elif Construct
  • A Loop Example

Variables

  • User Created Variables
  • The read Command
  • The Shell Environment
  • The export Command
  • Subshells
  • Command Substitution
  • Quoting Mechanisms
  • Shell Arithmetic
  • Assigning Variables - Summary

Special Variables

  • Command-Line Arguments
  • $# - Number of Arguments
  • The shift Command
  • $* - All Arguments
  • $$ - PID of Shell

More Flow Control

  • The for Loop
  • The while Loop
  • The case Construct

X Windows and Desktops

  • The X Window System
  • Using X
  • Window Managers and Desktops
  • The Gnome Desktop
  • The KDE Desktop
  • Applications: The GIMP
  • Applications: OpenOffice
  • Applications: Web Browsers

Appendix A: More Editing with vi

  • Scrolling the Buffer
  • Cursor Motion Commands - w,W,b,B,e,E
  • Cursor Motion Commands - $,^,0,G
  • Cursor Motion Commands - f,t,F,T
  • Delete Operator - d
  • Change Operator - c
  • Yank Operator - y
  • Put Commands - p,P
  • Searching for a Pattern - /,n,N,?
  • The Join Command
  • The file Command - :f
  • Edit File Command - :e
  • Cut and Paste Between Files
  • Read File Command - :r
  • Set Options Command
  • Set Options Command - .exrc file

Appendix B: Bash Shell Features

  • Viewing Your Command History
  • Editing and Re-executing Commands
  • Aliases