The voice of the shell
I tell my students that the command line is the way to go. I am not the kind of person who thinks the command-line is somehow a more true experience though—it’s another modality, another way of accessing and manipulating the data on your machine.
The query-response format is wonderful. I amaze students with the whoami command—the computer knows the answer! This gives the impression, to some, that the console allows you to have conversations with your computer.
I do often feel like I am talking to the computer. But when the computer talks balk to me, from time to time the voice of the computer gives way to the voice of the programmer who wrote it. Or at least, my image of this programmer. This is the output of a 7zip command:
7-Zip 4.44 beta Copyright © 1999-2007 Igor Pavlov 2007-01-20 p7zip Version 4.44 (locale=nl_NL.UTF-8,Utf16=on,HugeFiles=on,2 CPUs) Processing archive: Fedora 9.7z Extracting Fedora 9/Fedora 9.vmkd Extracting Fedora 9/Fedora 9.nvram Extracting Fedora 9/users.txt Extracting Fedora 9/Fedora 9.vmx.lck/M00232.lck Extracting Fedora 9/Fedora 9.vmx Extracting Fedora 9/Fedora 9.vmxf Extracting Fedora 9/Fedora 9.vmsd Extracting Fedora 9/Fedora 9.vmx.lck Extracting Fedora 9 Everything is Ok
I am moved by the program telling me everything is ok. I am not sure if Igor Pavlov meant to give me consolation from the console—after all, the sentence is logically equivalent to ‘there are no errors’. It could be a simple observation.
In any case it’s endearing: I imagine the programmer as a pretty dark-haired boy. He is shy and his eyes that hide already behind large glasses avoid your gaze. And Igor is not so handy with words, but he means good with the world.
But the encounter is not always so nice. The reason I install Fedora is because I have to compile some Perl modules to put on my shared hosting service to make Movable Type work (all of this takes place some time back). The interactive mode of CPAN has the most condescending error messages ever.
Yet nothing beats Telnet. When typing in RCPT: instead of the required RCPT TO: I get:
Error: I can break rules, too. Goodbye.
And my connection is closed. I feel like I can actually strangle the programmer responsible for this behaviour. The rude message is a catalyst for my negative passions. I imagine the programmer delighting in his sense of control over me and I want to smash the keyboard on his head.
I project in my mind this monster: crouched behind his computer, staring intently at the screen, a system administrator, overweight and unkempt hair, staring maniacally at the screen, laughing out loud about this error message that is going to upset the people using his code. But I have been awake too long. I made him in my own image; look at me: I’m also alone, staring maniacally at the screen, making up these stories about computer programmers.
With minds so volatile and temperaments so inflammable, it’s important we stay nice to each other. If the only way we talk to each other is through error messages, we better make these exceptionally kind.
The shell is the text-based environment in which you give commands to your computer. Quite similar to the way the DOS operating system worked. On a contemporary Linux or Mac OS X system you have access to a fully functioning shell (Applications, Accesoires, Terminal).