posted by Richard Wareham on Mon 8th Mar 2004 20:49 UTC

"Command Line is your friend, Page 3/4"

This was the most pleasing part of the trial. Here the users were instructed that they could get help on a particular command with the 'man' command and were given a brief description of how to read them. They particularly liked the clear, consistent layout and references to other useful commands. Many users went 'man-page surfing' by looking at interestingly named commands referenced in other man pages. This increased their knowledge of the commands immensely.

A message of the day was set up informing the users that the command "man commands" would get them a list of commands to get started with. An appropriate man page was written with a list of useful file access, modification and documentation commands along with information on how to move up and down in the file and to "get back to the discussion" (exit the man page reader and return to the command prompt). This was an important bootstrapping step as it got the users over the 'what-do-I-do-now' question when first confronted with the machine.

Users were encouraged to maintain a list of interesting commands using the pico editor in their "personal space" (home directory, see 'Locations'). A brief competition arose between the users for who could find the "coolest" command. This also encouraged users to explore the system. All users reported that they found the pico editor easier to use than Word or Notepad because "it just tells you what to press". It is worth noting that earlier in their teaching they had been informed of the Control+key method of accessing menu options and the caret (^) notation. If I had been more brave perhaps some variant of the vi editor with its two modes would have been better -- remember secretaries used to use it in AT&T to type patent applications.

The mnemonic nature of Unix commands was surprisingly easier to remember than if they had been spelt out in their entirety. Apparently the vowel-less words and phrases gave the command names a "quirkiness" that was easier to remember. I suspect the wide-use of shortened mnemonic words in "text speak" helped here.

Finally, all users were given a "rule of thumb" that often if they forgot how a command worked, the option '--help' or '-h' would print out a mini manual. The users were also very happy when told about Tab-complete. Especially the ability of bash to list all possible completions. Users reported that this was really useful when they forgot how to spell a command. One likened it to looking a word up in a dictionary where you know how is starts but forget some spelling in the middle.


Users were at first unsure of a hierarchical file system. They all seemed to adopt the room and mentality for file access. They understood the concept of a "file" as a name of a box where the computer will store some data which is placed in their personal "room" but directories proved a difficult concept for them to handle.

One user grasped the concept rather early on and usefully described it to the others as "a box with other boxes in". He nicely demonstrated it by showing them he had created a "Remember box" with files inside outlining things he had to do. He illustrated how he could "look in the box" to remember what he had to do and could "open one of the boxes inside with pico" to remind himself of the details. This is something akin to Tillie placing letters near the door to remind her to post them; if you put things to remember in a single place then you only need remember where to look.

When asked if the user did this at home he replied that he didn't because he never sees any "boxes" unless he opens "My Computer" and he would have to remember to do that every time he switched the machine on. He said that the "discussion mode [was] better because [he kept] seeing the Remember box as [he did] things".

A small addition was made to the user's .login file which listed the contents of the Remember directory on login. The user was very pleased with this. The user asked how I had done it and I pointed him to the file. I said "this box holds a list of commands for the computer to do when you first turn it on". He was extremely excited by this new toy and the rest of the users quickly customised their own files to print out various messages and perform various tasks.

It was pointed out that GUIs often have features to allow them to perform actions on login but the users were unaware of this. The couldn't visualise how to configure it because "you can't just tell the computer to click the right buttons in a file".

Appropriate Notifications

For the second brief session users were set up with mail accounts which could send messages to other users of the system. Their familiarity with pico lead me to attempt to use pine as their email client. This went well although users complained that they had lost some of the discussion ability. They asked if there was some program that could read mail "by discussion". Time constraints meant I avoided attempting to teach them old-school Unix mail but I suggested they read the man page. By this point the users had come to enjoy the command line interface because they "always know whats going on" as opposed to GUI or GUI-like interfaces where "everything happens at once".

The e-mail system is easy for users to accept as it is has a direct analogy to the usual postage system. One interesting thing that I saw a few users do independently is to save important e-mails into their Remember directories. This strongly showed the importance of a known location for different classes of object in the interface. The culture of human-readable files in Unix helped here a lot because the users got used to just opening the Remember files in pico to check what to do.

The bash shell has the option to inform users of the presence of new mail in a similar manner to how it notifies users of task termination. Again the users split into those who liked it that way and those who wanted to know immediately.

All users preferred the bash notification to the alert box style used in GUIs. The users seemed to dislike sudden unexpected interruptions of what they were doing, preferring the computer to ask for clarification or repetition in its reply. Indeed many users said they were actually frightened when an alert box appeared.

The large number of times the alert box was for some small, unimportant thing also annoyed users leading to the habit of just clicking 'OK' to get rid of them. The users reported that they often didn't read the alert boxes but always read notices on the command line because "they don't interrupt what you are doing".

Table of contents
  1. "Command Line is your friend, Page 1/4"
  2. "Command Line is your friend, Page 2/4"
  3. "Command Line is your friend, Page 3/4"
  4. "Command Line is your friend, Page 4/4"
e p (0)    94 Comment(s)

Technology White Papers

See More