Open Source Comes to Campus/Curriculum/Saturday/CLI

Revision as of 01:36, 22 February 2012 by imported>Paulproteus (→‎Individual work)

Title

The command line, packages, and dependencies

Learning objectives

Have a general understanding of what paths mean (/usr /usr/bin /home etc.). Understand the purpose and basic use of package management tools. Understand how to "cd" and "ls" around in a terminal. Have familiarity with passing arguments to CLI programs (e.g., tar). Preferably, understand that a text terminal can display "graphical" (e.g. via ncurses) programs. Understand enough history of the command line to know it came "first", before GUIs. Have enough understanding of the command line to succeed at the rest of the day's activities. Become familiar with different ways of quitting command-line programs.

Lecture portion

  • Use a photo of teletypes connected to a serious UNIX server to explain what a "terminal" means.
  • Ask people what their experiences with the command line have been so far. (If necessary, skip pieces of the discussion.)
  • With a diagram of a directory hierarchy, discuss different paths like /home and /usr.
  • Explain the concept of "PATH". Point out that "." is usually not in the path by default.
  • Split the screen into half Nautilus, half Terminal, and show how they are different views of the same thing.
  • Explain that programs like "apt-get" install software, and to demonstrate this, use apt-get on the presentation machine to install something. Demonstrate where the resulting files went with dpkg -L. (Try to include a surprise /usr/sbin program.) Try executing a binary that got installed, and point out its location. Use apt-get remove to remove it. Point out that "yum" and "port" are similar tools.

Individual work

Assessment elements

  1. Visit http://openhatch.org/missions/ and go all the way through the "tar" training mission.
  2. Visit Six ways to quit and learn a variety of ways to quit things!


Possible problems

  • Some students might already be extremely familiar with this material. It'd be nice to have some "extra credit".

Prerequisites

  • Figure this out