Upcoming Sessions
| Redwood City, CA | Nov 27-28, 2010 |
Summary

Linux is the production operating system of choice in many industries. This course will introduce students to Linux systems from a user’s perspective, with emphasis on the type of administration tasks that users are expected to do for themselves. Students will spend most of their time logged into a server on site, and will also become familiar with several different Linux distributions.
Duration
2 days
Audience
This course is for anyone such who wants to be able to log into and be productive on a Linux system from the command line, whether the system is their own, one belonging to and managed by their employer, or one they’re renting via a web host, virtual machine, or other service. No previous experience with Linux or Unix is expected. Students will learn some “power-user” tools to get common tasks done using the Bash shell.
Outline
Linux Primer
- Linux History
- Distributions, their heritage, and relative differences
- Unix filesystem basic concepts: devices, FIFO’s, symlinks
- Typical Linux file structure
Logging In
- ssh, using PuTTY (from Windows), or Tterminal (from Macs)
- Using and managing ssh host keys
- Setting/Changing password, users
- Getting help: man, apropos, Google, IRC
- Using Screen
Navigating in the Shell
- The shell and its variants (bash, zsh, tsh, ksh, ash, etc)
- Renaming, moving, deleting, creating, copying files and directories
- ls and variations, du
- Creating aliases
- Cat and echo
- Setting/managing file modes
- File globbing
- Grep and regexps
- Piping, stdout, stderr
- File and command completion
- Finding files
- Managing processes: ps, kill, bg, fg, tee
Common Shell-Scripting Tasks
- Environment variables
- Control structures: while; do, if; then; else; fi
- Moving/renaming a bunch of files
- Using backticks
- Parsing output , awk, cut
- Functions and getopt
Common Tasks for Web Hosting and Web Development
- Using wget
- Installing and backing up with tar bunzip/bzip
- Dealing with common version control systems: git, svn, cvs, mercurial
- Dealing with Amazon S3 and other services
- Installing WordPress, Drupal, Joomla, etc
Text Editors
- The vi text editor
- The emacs text editor
- the pico text editor
Compiling/installing Software as a User
- Setting/managing installation paths
- The classic ./configure; make; make install dance
- scons and other newer alternatives
- Managing Perl/Python/Ruby local libraries
Some System Administration Tasks
- df, top
- Booting a LiveCD
- An example Debian GNU/Linux Installation


