7.3  GETTING THE FILES

Now you want to get that file.

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 
 
     anonymous
 
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.
     ftp>
 
 
Now type 
         
     ls
 
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.
     ftp> 
 
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 
 
     get README

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 (4444 bytes). 
  226 Transfer complete. 4444 bytes received in 1.177seconds (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 
 
     bin
 
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 
 
     ls 
 
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 
 
     cdup 
 
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.