Go to the previous, next section.

Getting the Files

Assuming your host site does have ftp, you connect in a similar fashion to telnet, by typing:

ftp sumex-aim.stanford.edu

(or the name of whichever site you want to reach). Hit enter. If the connection works, you'll see this:

Connected to sumex-aim.stanford.edu.
220 SUMEX-AIM FTP server (Version 4.196 Mon Jan 13 13:52:23 PST 1992) ready.
Name (sumex-aim.stanford.edu:adamg):

If nothing happens after a minute or so, hit control-C to return to your host system's command line. But if it has worked, type


and hit enter. You'll see a lot of references on the Net to "anonymous ftp." This is how it gets its name -- you don't really have to tell the library site what your name is. The reason is that these sites are set up so that anybody can gain access to certain public files, while letting people with accounts on the sites to log on and access their own personal files. Next, you'll be asked for your password. As a password, use your e-mail address. This will then come up:

230 Guest connection accepted. Restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.

Now type

ls -l

and hit enter. You'll see something awful like this:

200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 2636
-rw-rw-r--  1 0        31           4444 Mar  3 11:34 README.POSTING
dr-xr-xr-x  2 0        1             512 Nov  8 11:06 bin
-rw-r--r--  1 0        0        11030960 Apr  2 14:06 core
dr--r--r--  2 0        1             512 Nov  8 11:06 etc
drwxrwsr-x  5 13       22            512 Mar 19 12:27 imap
drwxr-xr-x 25 1016     31            512 Apr  4 02:15 info-mac
drwxr-x--  2 0        31           1024 Apr  5 15:38 pid
drwxrwsr-x 13 0        20           1024 Mar 27 14:03 pub
drwxr-xr-x  2 1077     20            512 Feb  6  1989 tmycin
226 Transfer complete.

Ack! Let's decipher this Rosetta Stone.

First, ls is the ftp command for displaying a directory (you can actually use dir as well, but if you're used to MS-DOS, this could lead to confusion when you try to use dir on your host system, where it won't work, so it's probably better to just remember to always use ls for a directory while online).

The very first letter on each line tells you whether the listing is for a directory or a file. If the first letter is a `d', or an `l', it's a directory. Otherwise, it's a file.

The rest of that weird set of letters and dashes consist of "flags" that tell the ftp site who can look at, change or delete the file. You can safely ignore it. You can also ignore the rest of the line until you get to the second number, the one just before the date. This tells you how large the file is, in bytes. If the line is for a directory, the number gives you a rough indication of how many items are in that directory -- a directory listing of 512 bytes is relatively small. Next comes the date the file or directory was uploaded, followed (finally!) by its name.

Notice the `README.POSTING' file up at the top of the directory. Most archive sites have a "read me" document, which usually contains some basic information about the site, its resources and how to use them. Let's get this file, both for the information in it and to see how to transfer files from there to here. At the `ftp>' prompt, type


and hit enter. Note that ftp sites are no different from Unix sites in general: they are case-sensitive. You'll see something like this:

200 PORT command successful.
150 Opening BINARY mode data connection for README.POSTING (4444 bytes).
226 Transfer complete. 4444 bytes received in 1.177 seconds (3.8 Kbytes/s)

And that's it! The file is now located in your home directory on your host system, from which you can now download it to your own computer. The simple `get' command is the key to transferring a file from an archive site to your host system.

If you want to download more than one file at a time (say a series of documents), use `mget' instead of `get'; for example:

mget *.txt

This will transfer copies of every file ending with `.txt' in the given directory. Before each file is copied, you'll be asked if you're sure you want it. Despite this, mget could still save you considerable time -- you won't have to type in every single file name. If you want to save even more time, and are sure you really want all of the given files, type `prompt' before you do the mget command. This will turn off the prompt, and all the files will be zapped right into your home directory.

There is one other command to keep in mind. If you want to get a copy of a computer program, type


and hit enter. This tells the ftp site and your host site that you are sending a binary file, i.e., a program. Most ftp sites now use binary format as a default, but it's a good idea to do this in case you've connected to one of the few that doesn't.

To switch to a directory, type

cd directory-name

(substituting the name of the directory you want to access) and hit enter. Type


and hit enter to get the file listing for that particular directory. To move back up the directory tree, type

cd ..

(note the space between the d and the first period) and hit enter. Or you could type


and hit enter. Keep doing this until you get to the directory of interest. Alternately, if you already know the directory path of the file you want (from our friend archie), after you connect, you could simply type

get directory/subdirectory/filename

On many sites, files meant for public consumption are in the pub or public directory; sometimes you'll see an info directory.

Almost every site has a bin directory, which at first glance sounds like a bin in which interesting stuff might be dumped. But it actually stands for "binary" and is simply a place for the system administrator to store the programs that run the ftp system. Lost+found is another directory that looks interesting but actually never has anything of public interest in them.

Before, you saw how to use archie. From our example, you can see that some system administrators go a little berserk when naming files. Fortunately, there's a way for you to rename the file as it's being transferred. Using our archie example, you'd type

get zterm-sys7-color-icons.hqx zterm.hqx

and hit enter. Instead of having to deal constantly with a file called `zterm-sys7-color-icons. hqx', you'll now have one called, simply, `zterm.hqx'.

Those last three letters bring up something else: Many program files are compressed to save on space and transmission time. In order to actually use them, you'll have to use an un-compress program on them first.

Go to the previous, next section.