7.3 Getting the Files
Big Dummy's Guide to the Internet

Go to Table of Contents. Visit Gifcom.

     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.