I make apps for other people

Linux training

Posted by Chris Jones
On September 20th, 2005 at 10:17

Permalink | Trackback | Links In |

Comments Off on Linux training
Posted in Work

A couple years ago, I pitched the idea of a Linux/UNIX training course to a few people at work. I thought that this was a growth area for training, especially considering how many companies and clients in the area were migrating to or evaluating the use of Linux for servers. Unfortunately, before I could put together a good syllabus and advance the proposal, I was sent to Fifth-Third’s basement as a novice ClearCase administrator.

Recently, an email from a training placement company landed in my dead spam-filled old mailbox, and I noticed it contained a reasonable UNIX training syllabus, reminding me of my old plans. Below is a revised edition of the Linux/UNIX training course that I once wanted to create and teach.

Our UNIX hertiage

  • History of UNIX
  • History of BSD
  • History of Linux

The Linux filesystem standard

  • /etc, /bin, /home, /tmp, /usr, /var, /opt

In the beginning was the command line

  • Shells
    • Bourne shell and bash
    • C shell and tcsh
    • Korn shell
    • Pipes
  • Getting help
    • -h arguments
    • man
    • info
    • LDP and HOWTOs
  • Command line
    • Logging in locally
    • Logging in remotely (ssh)
    • Listing files
    • Renaming and moving files
    • Removing files
    • Navigating directories
    • Symbolic links
    • Invoking programs
    • Manipulating file permissions
      • chmod
      • chown
    • Getting the command history
    • Job control
    • Process control
    • Getting more information about the system
  • Shell scripting with bash
    • Basic shell scripts
    • Calling other shell scripts
    • Control structures
    • Argument processing
    • Functions
  • Useful utilities
    • cat, less, and more
    • cut, tr, and wc
    • sort
    • awk
    • grep and regular expressions
    • sed
    • perl
    • tar
    • compress, gzip, and bzip2

Holy Wars: emacs vs vi

  • Basic vi usage
  • Regular expressions in vi
  • Basic emacs usage
  • Multiple document editing in emacs

Setting up the user environment

  • Login process
  • .bashrc
  • .bashrc_profile
  • /etc/profile

Scheduled execution

  • cron
  • at

Becoming root

  • login
  • su
  • Adding, locking, and removing users
  • Managing passwords


  • Types of filesystems
    • Read-only
    • Read-write
    • Network
    • Journaled
    • Swap
  • Grafting filesystems to the tree
  • mount and unmount
  • df and du
  • /etc/fstab and /etc/mtab
  • Disk partioning
    • fdisk
    • Disk Druid
  • mkfs (and variants), mkswap
  • sync
  • How file are stored (inodes)
  • fsck (and variants)

Runlevels, init, and system control

  • lilo and grub
  • init, shutdown, and reboot — controlling runlevels
  • Setting a default runlevel
  • BSD style
  • System V style


  • /var/log
  • /var/log/dmesg
  • /var/log/messages
  • /var/log/daemon
  • Other logfiles
  • /etc/syslog.conf
  • /etc/logrotate.conf


  • Internet basics
    • Networks
    • Addresses and netmasks
    • Routing
    • Nameservices
  • ping and traceroute
  • nslookup and dig
  • ifconfig and system network scripts
  • Configuring as a DHCP client
  • Configuring as a fixed IP
    • Setting the IP address
    • Setting the netmask
    • Setting the default route
  • Setting up a basic packet filter
  • Attaching to remote resources (NFS)

Devices and modules

  • Block and character devices
  • Modules and kernel drivers
  • /dev and naming conditions
  • modprobe and configuring modules
  • unloading modules


  • Starting X from the command line
  • Starting X from a runlevel
  • Basics of X (and how it’s different from Win32)
  • Window managers
  • Changing window managers
  • Configuring X with xf86setup
  • /etc/X11
  • Configuring X with the configuration files

Comments are closed.