Dora Bialy
Communication & New Media
3 min readJan 19, 2015

--

Taking Command Without the Command Line

Having never used the Command Line Interface (CLI) before, it is safe to say that I found this to be a truly unparalleled experience. In all honesty, this round-about method of computer use confused me more about the workings of my Mac than it enlightened me; however, it was interesting to see another method of utilizing and maneuvering my laptop. While Zed A. Shaw’s crash course was helpful in beginning to understand how to use CLI, his argument about why to use it was not very compelling. Drawing from Douglas Rushkoff’s book Program or Be Programmed, one can conclude that the reason to educate oneself about this more advanced and complicated method of computer use is to combat the predetermined and ready-to-use interfaces that computer programmers have already established on our computers. While this is a completely valid way to push back against the technological mainstream, it is not an entirely necessary skill to avoid “becoming programmed.”

Being aware of the inner workings of your laptop is, to a certain degree, important. It requires you to look at it not just as a tool for communication, media, business, and entertainment purposes, but as an expansive and seemingly limitless gateway to all the aforementioned categories. The difference between viewing a computer as a tool versus a gateway lies, therefore, in the method of usage. CLI allows you to maneuver the computer like a programmer and perform commands that go beyond the pre-established widgets and folders that Apple and Windows neatly packages for the public. You gain access to somewhat uncharted territory that essentially allows you to transcend the traditional method of using a computer. Nevertheless, user-friendly interfaces are not going to deter you from utilizing your laptop to the extent that you need to. Everything that Apple, Windows, and other program manufacturers have packaged neatly works and serves its purpose quite effectively. Both Rushkoff and Shaw seem to imply that “user-friendly” is equivalent to “brainwashed and compliant,” which is certainly not the case. Using the general interfaces can still get you from point A to point B, as can CLI. The difference between the two is only a matter of perspective.

Consequently, CLI is not for everyone. Though it is certainly learnable, success in utilizing it requires a mind that can process codes and text with ease. For those who tend to be visual learners and find it easier to comprehend information via images and graphics, the general interfaces on their computers will probably benefit them more than CLI would. Hence, this preference does not mark them as “programmed” by their machinery; it simply indicates an alternative inclination that differs from likes of Rushkoff and Shaw. Adhering to the pre-established and preconceived is not necessarily the same as compliance, and that is a difference both Rushkoff and Shaw fail to distinguish. Being aware of alternatives such as CLI is key to avoiding complicity; however, actively choosing to forgo it demonstrates that the necessity to regain power over our devices is not quite so urgent.

CLI Cheat Sheet:

pwd: print working directory (see where you are)

hostname: my computer’s network name

mkdir: make directory

cd: change directory (move into a directory)

ls: list directory (see what’s inside)

rmdir: remove directory

pushd: push directory

popd: pop directory

cp: copy a file or directory

mv: move a file or directory

less: page through a file

cat: print the whole

xargs: execute commands

find: find files (“find STARTDIR-name WILDCARD –print”)

grep: find things inside files

man: read a manual page

apropos: find what man page is appropriate

env: look at your environment

echo: print some arguments

export: export/set a new environment variable

exit: exit the shell

rm: remove file

cd..: move through paths

$ | $: takes output from command on left and “pipes” it to command on right

$ < $: takes and sends input from file on right to program on left

$ > $: takes output of command on left and writes it to file on right

$ >> $: takes output of command on left and appends it to file on right

--

--