learn - computer aided instruction about UNIX
learn [ -directory ] [ subject [ lesson ] ]
Learn gives Computer Aided Instruction courses and practice in the use of UNIX, the C
Shell, and the Berkeley text editors. To get started simply type learn. If you had used
learn before and left your last session without completing a subject, the program will use
information in $HOME/.learnrc to start you up in the same place you left off. Your first
time through, learn will ask questions to find out what you want to do. Some questions
may be bypassed by naming a subject, and more yet by naming a lesson. You may enter the
lesson as a number that learn gave you in a previous session. If you do not know the les-
son number, you may enter the lesson as a word, and learn will look for the first lesson
containing it. If the lesson is `-', learn prompts for each lesson; this is useful for
The subject's presently handled are
There are a few special commands. The command `bye' terminates a learn session and
`where' tells you of your progress, with `where m' telling you more. The command `again'
re-displays the text of the lesson and `again lesson' lets you review lesson. There is no
way for learn to tell you the answers it expects in English, however, the command `hint'
prints the last part of the lesson script used to evaluate a response, while `hint m'
prints the whole lesson script. This is useful for debugging lessons and might possibly
give you an idea about what it expects.
The -directory option allows one to exercise a script in a nonstandard place.
/usr/share/learn subtree for all dependent directories and files
/usr/tmp/pl* playpen directories
$HOME/.learnrc startup information
B. W. Kernighan and M. E. Lesk, LEARN - Computer-Aided Instruction on UNIX
The main strength of learn, that it asks the student to use the real UNIX, also makes pos-
sible baffling mistakes. It is helpful, especially for nonprogrammers, to have a UNIX
initiate near at hand during the first sessions.
Occasionally lessons are incorrect, sometimes because the local version of a command oper-
ates in a non-standard way. Occasionally a lesson script does not recognize all the dif-
ferent correct responses, in which case the `hint' command may be useful. Such lessons
may be skipped with the `skip' command, but it takes some sophistication to recognize the
To find a lesson given as a word, learn does a simple fgrep(1) through the lessons. It is
unclear whether this sort of subject indexing is better than none.
Spawning a new shell is required for each of many user and internal functions.
The `vi' lessons are provided separately from the others. To use them see your system
7th Edition October 22, 1996 LEARN(1)