|
These classnotes are depreciated. As of 2005, I no longer teach the classes. Notes will remain online for legacy purposes
Classnotes | RecentChanges | Preferences
Instructor: Sam Hart (hart@physics.arizona.edu)
The general homepage for this course is http://www.geekcomix.com/classnotes/
This course will introduce the student to the fundamentals of the Unix operating environment, within the context of using Red Hat Linux. Students will acquire understanding of basic Unix concepts, and will have extensive hands-on experience with the "shell", which is the command-line environment common to all Unix implementations. The class will focus on giving the student the ability to function as a knowledgeable user in the Unix environment. This course will also teach skills critical to acting as a systems or network administrator. Students who bring a computer to class can have Linux loaded on it as a practice tool.
These classnotes are organized by topic. More often than not, these topics will also coincide with particular days in the class. The topics will be presented in the following order:
DAY ONE
- What is UNIX?
- /Overview of UNIX
- History
- /From BESYS to UNIX
- /From UNIX to GNU
- Linux : an Introduction
- /Do not fear the Command Line
- /Choice is Good
- /UNIX Shells
- /Usernames and Passwords
- /Entering Commands I
- /Entering Commands II
- /Pipes and Redirects
- PROJECT : /Searching for Processes
- UNIX File System and File Security
- /UNIX Standard Tree Structure
- /Exploring the Root File System
- /There's no place like Home
- /Understanding Paths and Pathnames
- [/Navigating the File System]?
- PROJECT : /Creating a chroot structure
DAY TWO
- UNIX History II
- /BSDs and Forks
- /Enter the Penguin
- /Overview of Linux
- UNIX Users and Groups
- /UIDs and GIDs
- UNIX File Processing
- /Understanding UNIX Files
- /File Ownership and Security
- /Setting Ownership and Permissions
- PROJECT : /Create a simple tree
- UNIX Editors
- /The simplest editor
- /Introduction to vi
- /Using the vi editor
- PROJECT : /Use vi to edit a file
- /Introduction to Emacs
- /Using the Emacs editor
- PROJECT : /Use Emacs to edit a file
- Process Management
- /Introduction to Processes
- /Viewing Running Processes
- /The kill Command
- UNIX Shell Scripts
- /Introduction to Shell Scripting
- PROJECT : /Create a simple shell script
DAY THREE
- UNIX History III
- /Open Source and Conflict
- /Modern UNIXes
- /The POSIX Standard
- /Current Uses of Linux
- More UNIX Scripting
- BASH Scripting Continued
- /Aliasing and Exporting
- /Conditionals
- /Iteration
- /Advanced Piping
- PROJECT : /Coding our own Add User script
- /BASH Configuration
- PROJECT : /Updating your .bashrc
- Introduction to Perl Scripting
- /Introduction to Perl
- /Starting a Perl script
- /Common Perl Commands I
- /Common Perl Commands II
- /Perl Regular Expression Matching
- /Perl Modules
- PROJECT : /Gathering information by user
- Installing New Applications from Source
- /Application Building under UNIX
- /Dealing with tar files
- /Dealing with ZIP files
- /Building an Application
- PROJECT : /Introduction to Nano
- [/Installing Perl Modules]?
- PROJECT : [/Install a Perl Module]?
DAY FOUR
- UNIX History IV
- /More Praise for Linux
- [/Recent UNIX Events]?
- /UNIX History Links
- Linux Networking & Commands
- /Networking Overview in Linux
- /The Loopback Interface
- /inittab and Boot Scripts
- /Name Resolver
- /Configuring Network Servers and Services
- /Other Misc Networking Files
- /ifconfig Overview
- /Red Hat's Netconfig
- Accessing the Web from the Command Line
- /Introduction to Lynx and Links
- /wget and curl
- PROJECT : /Mirror a website
- Remote Access
- /telnet
- /SSH
- PROJECT : /Use SSH and SCP
- Introduction to XFree86
- /What is XFree86?
- /Common X-Window Concepts
- /A Choice In Displays
- /Window Managers
- /Desktop Managers
- /Misc X Apps I
- /Misc X Apps II
- /Accessing X Remotely
- PROJECT : /SSH and Run X-App
- Overview of Screen
- /What is Screen?
- /Screen usage
- [/Screen Configuration]?
- PROJECT : [/Custom Screen Setup]?
DAY FIVE
- /Lowlevel System Control
- Terminal Fundamentals
- /init-getty-login-shell
- /Extra options for getty
- /Switching between Virtual Consoles
- Scheduling Under Linux
- /Overview of UNIX Scheduling
- /Run at
- PROJECT : /Schedule a one time event
- /Cron-Introduction
- /User Specific Cronjobs
- PROJECT : /Schedule a user event
- /System Wide Cronjobs
- PROJECT : /Schedule a system event
- Introduction to the RPM System
- /What is RPM?
- /RPM Strengths and Shortcomings
- /Alternatives to RPM
- /RPM Usage
- /Places to find RPMs
- PROJECT : /Install Apache
- Apache CGI Scripting Overview
- /Scripting For Apache
- PROJECT : /Install a Simple Perl CGI
- Linux Installation
- In-class activity
- Introduction to Kernel Recompilation
- /Why would I ever want to compile a kernel?
- /Basics of Kernel Compilation
- /Compiling From Source RPM
- PROJECT : /Build a new Kernel
- /Useful UNIX and Linux Links
|