Linux Fundamentals Training Course

Summary

Linux Logo

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