Historically (to the extent that one can use that word with computers :-), Macs and Unix were very different in their intentions and expected audience. Macs were designed for the masses, while Unix was aimed at the cognoscenti. Macs are designed to shield the average user from the inner workings of the machine; Unix puts the inner workings in your face.
If you're a PC user, it's very comparable to the difference between Windows and DOS: The primary difference is the user interface. Macs (and Windows) use a Graphical User Interface (aka, a GUI, where you point and click), while Unix and DOS use a command-line interface (where you type commands to the computer).
Fortunately for folks who don't want computer guts in their face, Unix is evolving into a more user-friendly, GUI-based environment. (And Macs are evolving to allow more command-line interfaces for the folks in the trenches who need to work that way.) There is now much that you can do with the point and click approach in Unix.... But you can't do everything that way.
MultiTasking
One of the things that Unix has over Macs is that Unix machines can easily "multi-task": They can (virtually) do several things at once. (Macs are moving in this direction with OS8, but are still a little quirky in this regard.) A Unix machine can easily support several simultaneous users, all working on different things.... As long as each user has their own terminal and keyboard. Furthermore, a single user can be doing several things at once. I can be running a program that's doing some number crunching at the same time that I'm surfing around the web at the same time that I'm running a goofy little animation that's constantly changing.
The computer is not literally able to do all these things "at the same time", but is smart enough to know how to switch between them fast enough that for all intents and purposes, they are happening at the same time. You won't really begin to notice until there are too many people trying to do too many things all at the same time, in which case, things will start to slow down. Applications that use a lot of memory, such as Netscape, are more likely to contribute to the slow-down effect.... which is felt by everyone who's using that computer and not just the web surfer who has 4 different Netscapes open at the same time.
Filespace for Individual Users
On a Unix machine, several users may be using the machine simultaneously, but each user has their own "filespace" for keeping their work. It is up to individual users to determine whether their files can be read, edited, or executed by other users on the system. Typically, there are some files that you'll leave for everyone to see, and other files that you'll want to be kept private (such as your mail file). Since Macs are single-user machines, the way that you access other people's files is generally over a network.
The downside to the shared filespace concept is that one user who saves several huge files can fill up the disk and prevent you from being able to save your files! For this reason, many Unix accounts are set up with quotas, which limit the amount of disk space that can be used by each user.
Control and Efficiency
There is no denying that pointing and clicking is the way of the future. But there are some things one needs to do on a computer that don't lend themselves to this approach. (As designers get better and better with GUI design, this list is becoming shorter.)
These days, probably the main advantage to a command line is efficiency: If you know what to type, you can accomplish in a few keystrokes what would take several minutes with point-and-click navigating. (Of course, knowing what to type is not to be underestimated.)
Decoupling of applications
One of the most frustrating things about Macs for those of us who first learned Unix is the fact that one has to launch an application to look at or print a file. In Unix, there is not such a strict association between a file and the application that created it. For example, there is a generic printing application that sends a printer to a file.... Other applications make use of the printing application, but if you want to invoke it directly (without going into an editor), you're free to do so.
Both systems use the word "file" the same way. Unix tends to use the word "directory" to refer to the same thing as the Mac "folder". On Macs, we think of having a hierarchy of folders, where files are inside folders (or the harddrive), and folders may be inside of other folders, etc. On Unix, files are inside directories (or on the harddrive), which may be inside other directories, etc.
Here's a chart of the relationship between some of the things you'll want to do... Sorry I haven't had time to format it more nicely yet.
function Macs Unix --------------------------------------------------------------------------- delete a file drag file icon to the trash rm file and empty the trash (rm is short for "remove") (file is there until trash (the file is immediately "gone") is emptied) rename a file edit the name under the icon mv [file] [new name] (mv is short for "move") move a file drag file icon into a new mv [file] [new directory] folder (renaming and moving is the same concept in Unix) copy a file option key cp [file] [new name] and drag the file icon (cp is short for "copy") (must be copied to a new (the new name can also be a folder) directory) open a click on folders to open cd [dir] (specific directory) folder / click on box to close cd .. (to go up one level) directory cd (no args -- to go "home") (cd is short for "change directory") look at a open the folder ls (the current directory) folder / ls [dir] directory (ls is short for "listing" the directory)The concepts above don't quite line up between Macs and Unix:
On a Mac, "opening" a folder is the same as "looking" at its contents.
On a Unix machine, there is always a sense of the "current directory", to which your commands will apply to (unless you specify otherwise). When you "open a directory" on Unix, you're changing the current directory.
Note that on a Mac, you cannot look at the contents of a folder (directory) without opening the folder. In Unix, you can list the contents of another directory without making it your current directory. On a Mac, you don't care, about the opening vs. looking distinction. On Unix, the fact that you don't have to change to the directory before looking at its contents can enable you to be faster about your business. (Yee-hah.)
Note: most unix commands have options to change the behavior of the command. For example,
ls -l to get a "long listing" of the directory (which gives you more information about the files than regular "ls") rm -i [file] (to "inquire" whether you really want to remove the file)
function Macs Unix --------------------------------------------------------------------------- look at a open the file with an editor open the file with an editor file (such as SimpleText) (such as emacs, vi, or textedit) cat file (short for "concatenate") cat will spew the contents of a file to the terminal more file more will let you look at one page of a file at a time (space bar moves you to the next screenful; q quits) figure out where ??? pwd you are right now (short for print working directory) in the file hierarchyThe above is another concept that doesn't quite line up between the two systems. In Unix, you always have a current directory and all files have a "full name" that includes the information about the name of the directory the file is in, and the name of the directory THAT file is in, etc., etc., up to the harddrive of the machine.
For example, the full name of this file on mainline is:
/www/Park10/using-unix.html
which means that there is a directory on the harddrive called "www", and that directory has a directory within it (called a "subdirectory") called Park10, and that directory contains the file called using-unix.html.
If my current directory is
/www/Park10
I can edit this file by talking about
using-unix.html
But if my current directory is something else, I can still get to the file by using it's full name.
On the Macs, each application tends to have a default folder that it works with, and which it starts with when you want to save or open a file. You can get to files in other folders by navigating your way up and down the file hierarchy using the dialog box (when you try to save or open a file). There are some applications that will let you see or refer to the full name of the file, but for the most part, the user is shielded from this.
Note: The full name of a file is called its "path". So instead of talking about the "full name", as I have above, Unix geeks will talk about "the full path" of the file.
function Macs Unix --------------------------------------------------------------------------- make a new new folder menu option mkdir dir folder / (from the Finder) (short for "make directory") directory remove an old drag to trash rmdir dir folder / (and empty trash) (short for "remove directory") directory it's gone immediately this works only if the directory is empty -- you have to delete all the contents first. Getting help e.g., Apple Guide, and man [command] some applications have (which can be unhelpful, because built-in help you don't always know the name of the command you need) (man is short for "manual") man -k [concept] (I don't know what -k is for) this is sometimes helpful, but sometimes useless. e.g., try man -k print for several pages of possible commands) Printing through the menu of the lpr or lp (lpr on mainline) application (lpr is short for "lineprinter", an anachronistic term)
Logging on to a Unix system
Since Unix systems are designed for multiple users (who each have their own files, etc.), the first thing you have to do is login. You should have a prompt or a login window that asks you for your username and your password.
Telnet to your account on Mainline
find telnet in the internet/network folder choose open connection from the file menu specify mainline.brynmawr.edu click on connect button type login name type password (and you're logged on to mainline)
Login to Mainline, Using MacX
Your user name on mainline will be the same as your Bryn Mawr email address: your first initial and last name (for most people). Your password is something that generally only you know, but when you get a new account, you'll have to ask someone else (e.g., Bogdan) for your password.
You should immediately change your initial password to something that you're able to remember and that only you will know about.
Different windows
If you were successful at logging in, you should have a window that has a prompt. These windows are often called "xterms", which is a little confusing because that's often what the monitor is called too. Xterm is the name of a Unix application that gives you a specific window that has a prompt. More generically, if you have a prompt that is letting you type Unix commands, you are running a shell. An xterm is a specific kind of window that gives you a shell. (If you login through telnet, instead of through MacX or a terminal, you'll have a shell, but not an xterm.)
Remember that potentially everything you do on a Unix machine can happen by virtue of you typing commands in the shell. You can edit files there, move around to different directories, read your email, run programs, etc. But it's likely that you'll use a shell that way only if you're using a telnet session. Otherwise, you'll start up programs that open up new windows, and the windows will have menus, etc. If you're interacting with programs like this, the interface for these specific windows will be similar to what you're already used to on the Mac.
Depending on how your account is setup, when you login to mainline from a monitor (as opposed to through telnet), you may see just one window -- an xterm or similar application -- or there may be additional windows. For example, some Unix operating systems will give you a file/folder point-and-click interface that's very similar to the Macs.
Maintained by:
Clare Bates Congdon (ccongdon@brynmawr.edu) Paul Grobstein (pgrobste@brynmawr.edu)