Open Source Comes to Campus/Curriculum/Saturday/CLI

Revision as of 08:49, 23 February 2012 by imported>Paulproteus (→‎Individual work)

Title

The command line, packages, and dependencies

Learning objectives

  • Have a general understanding of the meaning of frequently-seen paths: /usr /usr/bin /home etc.
  • Understand the purpose and basic use of package management tools.
  • 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.
  • Then, tell students to do the tasks in the "Individual work" section.

Individual work

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

(Editor's note: In terms of assessment, this lesson's assessment is the student successfully completing the above.)

Prerequisites

  • Figure this out