beausol@milton.u.washington.edu (Raymond Beausoleil) (03/08/91)
As promised, here is the first of a two-part article that I agreed to write for Optics & Photonics News. I hadn't intended to divide it into two parts, but I'm supposed to restrict myself to 800 words per article (I didn't quite make it!), and the article is supposed to describe the FTP process for the uninitiated. So, the length got a bit out of hand. The more experienced among you will notice that I have oversimplified and just outright omitted some things; I apologize if I have gored your pet ox. About 95 of you responded to my original post! Unfortunately, given my word count restriction, I couldn't thank each and every one of you. Instead, I acknowledged two people (Geoff Kinnel and Betsy Richards) who offered the earliest and most complete assistance, and Geoff Allen, who happened to post his wonderful "Answers to Frequently Asked Questions" to comp.sys.mac.announce on essentially the same day that my plea went out. I am quite grateful to all of you who took the time to help me out. If you find any factual errors in the article, then please let me know ASAP! I am particularly concerned about my references to the MS-DOS archives. Within a week or so, I will post Part II, wherein I will try to provide all the latest poop on mcvert, stuffit, and compactor. Again, thanks in advance, Ray Beausoleil (beausol@u.washington.edu) ---------------------------------------------------------------------- An FTP Primer I: The File Transfer Protocol Ray Beausoleil beausol@u.washington.edu Some of the most capable software packages currently available for microcomputers are publicly issued as either "freeware" or "shareware." Freeware is generously released by the author to the public domain without charge, while shareware is distributed under a "try before you buy" agreement. Copies of many of these programs are archived on mini and mainframe computers throughout the world. If your local Unix site is connected to the INTERNET, then you may transfer these files to your site and download them to your microcomputer. FTP is the user interface to the INTERNET standard File Transfer Protocol. This program allows you to transfer files to and from a remote network host. This article necessarily cannot serve as an exhaustive description of the "anonymous FTP" process. However, in Part I I will give an example of a typical FTP session, and I will list the addresses of a few archive sites for Macintosh and MS-DOS software. Next month, in Part II, I will describe some of the techniques for first decoding and then downloading this software to your microcomputer. FTP is a privilege granted to users of the INTERNET by the administrators of sites containing these archives. Please try to restrict your file transfers to non-business hours, because you and other FTP users can cause the host computer to slow down significantly. In addition, please minimize the time that you are connected to the remote site so that others may take advantage of the opportunity. A screen capture of a typical (brief) FTP session is shown in Fig. 1. From a Unix machine at the University of Washington ("milton"), I connected to sumex-aim.stanford.edu, where a large collection of Macintosh software is archived. The numbers in parentheses located on the left margin of Fig. 1 correspond to the annotations listed below. (1) At your Unix prompt, enter "ftp" followed by a space and either the name or the numerical INTERNET address of the remote host. Occasionally, a host will accept only the INTERNET address. (2) When the remote machine asks for your name, enter "anonymous." Some hosts limit the number of off-site FTP users; if the number of connections has already reached the maximum, you will be asked to try again later. (3) For your password, you are generally asked to enter your e-mail address, such as "beausol@u.washington.edu," followed by a return. However, some systems will permit you to enter virtually any text instead. (4) After these preliminaries, you will enter the FTP command interpreter (or "server"), which will provide you with the "ftp>" prompt. Usually, you will first be logged in to a "root directory" that has been set aside for FTP purposes by the system administrators; you must then navigate to the archive itself. At sumex-aim.stanford.edu, the macintosh software archive is located in the directory "info-mac." You can change the current working directory on the remote host using the "cd" command. In the example of Fig. 1, I have also moved to the subdirectory "util" on the info-mac directory. Whenever you have finished with a particular subdirectory, enter "cdup" at the "ftp>" prompt to move up one directory level. (5) Enter "get" followed by a space and the name of the file to be transferred. The file will then be copied to your local Unix directory. In the example of Fig. 1, the ".hqx" extension indicates that the Macintosh file has been encoded as purely ASCII characters using BinHex (discussed in more detail in Part II.) Usually, ASCII is the default FTP transfer mode. However, if the file has been archived in binary format, then at the "ftp>" prompt, and prior to transferring the file, you must enter "binary." Sometimes, if the file is large and the remote system is busy, the transfer may take considerable time. To keep an eye on the progress of the transfer, enter "hash" before getting the file; then as each 1024-byte block of data is transferred, a "#" hash mark will be printed on your monitor. If you would like to see an abbreviated list of the files contained in the current directory, enter "ls"; for a more verbose list that includes information about each file's size and the date that it was archived, enter "dir" followed by a carriage return. (6) When you are finished transferring the files you need, be courteous and log off of the remote machine as quickly as possible. At the "ftp>" prompt, enter either "by" or "qui." These are the most basic commands that you will use during any FTP session. You can usually find a complete description of the FTP command interpreter used at your Unix site by viewing the "manual pages" (i.e., by entering "man ftp"). There are a number of archives of software for the Macintosh, IBM PC and compatibles, and other popular personal computers. In Table I, I have listed the name of the host, the Internet address, the directory containing the archive, the microcomputer, and the appropriate transfer mode for some of the most popular archives. (Of course, virtually all documentation files are stored as pure ASCII.) One of the largest and most frequently updated Macintosh software archives is maintained at sumex-aim.stanford.edu. I recommend that the inexperienced user explore the subdirectory /info-mac/help. OzTeX, the free Macintosh implementation of TeX mentioned by Tony Siegman in last month's column, may be found at midway.uchicago.edu (University of Chicago); it is quite large, so be prepared! The MS-DOS archive at wsmr-simtel20.army.mil (White Sands Missile Range) is enormous, but it is difficult to navigate because the host does not use Unix. Nevertheless, there are a number of text documents in the root directory that describe the FTP commands for the simtel20 server. A Unix mirror of the simtel20 archive is maintained at wuarchive.wustl.edu (Washington University at St. Louis); if you are new to FTP on the IBM PC, then an excellent place to begin is the wuarchive subdirectory /mirrors/msdos/starter. The best way to learn more about FTP and other microcomputer archives is to subscribe to the appropriate INTERNET news groups. A full description of INTERNET news groups is beyond the scope of this article; you'll need to list the manual pages for your system news reader or to contact your local system administrator to get started. However, news groups of interest to microcomputer users have names that begin with prefixes like "comp.sys.mac..." and "comp.sys.ibm.pc..." In particular, the news groups "comp.sys.mac.digest" and "comp.sys.ibm.pc.d" describe in detail new additions to the archives at sumex-aim and simtel20, respectively. The precise implementation of FTP is site-dependent, so "your mileage may vary." But the basics of file transfer are usually easy to master and are well worth the effort. Next month, I will describe the basics of decoding and downloading files obtained via FTP. (I am grateful to Geoff Kinnel, Betsy Richards, and Geoff Allen for their generous assistance in gathering information for this article.) Figure 1: Screen Capture of an ftp session. (1) milton> ftp 36.44.0.6 Connected to 36.44.0.6. 220 sumex-aim FTP server (SunOS 4.0/3) ready. (2) Name (36.44.0.6:beausol): anonymous 331 Guest login ok, send mail address (user@host) as password. (3) Password: 230 Guest connection 7 (of 25) accepted, access restrictions apply. (4) ftp> cd /info-mac/util 250 CWD command successful. (5) ftp> get unstuffit-deluxe-20.hqx 200 PORT command successful. 150 ASCII data connection for unstuffit-deluxe-20.hqx (128.95.136.1,11969) (172867 bytes). 226 ASCII Transfer complete. local: unstuffit-deluxe-20.hqx remote: unstuffit-deluxe-20.hqx 175534 bytes received in 7.2 seconds (24 Kbytes/s) (6) ftp> bye 221 Goodbye. Table I: Site Name IP Address Directory Software Mode ---------------------------------------------------------------------- sumex-aim.stanford.edu 36.44.0.6 /info-mac Mac ASCII midway.uchicago.edu 128.135.12.73 /pub/OzTeX/oztex Mac Binary wsmr-simtel20.army.mil 26.2.0.74 Non-Unix! MS-DOS Binary wuarchive.wustl.edu 128.252.135.4 /mirrors/msdos MS-DOS Binary