Date: Tue, 7 Feb 1995 10:11:56 -0600 From: BITNET list server at UA1VM (1.8a) Subject: File: "MAP14 LESSON" MAP14: FTP (PART TWO) "Technology ... the knack of so arranging the world that we need not experience it." -- Max Frisch, Homo Faber Yesterday I told you that the basic steps in an FTP session are: 1. Start-up your FTP client 2. Give your FTP client an address to connect to (and, just like TELNET, step one and two can be combined into one easy step). 3. Identify yourself to the remote site 4. Give the remote site your password 5. Look around the directory for files 6. Change Directories 7. Set the transfer mode (optional) 8. Get the file(s) you want 9. Quit I've accessed SURAnet's FTP site (ftp.sura.net), told the site that I am "anonymous", and given the site my full Internet address as my password. Now that I'm in, I'm going to look around and see what the SURAnet FTP site has to offer. (BTW, you can see a list of all of the acceptable commands for your FTP client by typing "help") On most FTP clients, the command to list the contents of the current directory on the remote machine is just dir My FTP client accepts and uses the "dir" command, so I type dir and the following appears on my screen: >>>PORT 130,160,4,100,212,230 200 PORT command successful >>>LIST 150 Opening ASCII mode data connection for /bin/ls. total 728 drwxrwx--x 3 0 0 512 Aug 5 01:55 bin drwxr-xr-x 2 0 1 512 May 10 12:47 etc drwxrwxrwx 6 0 10 512 Oct 21 11:37 incoming drwxr-xr-x 2 0 0 8192 Feb 15 1992 lost+found -rw-r--r-- 1 0 1 350142 Oct 25 00:00 ls-lR drwxrwxr-r 24 0 100 512 May 3 13:25 pub This is a listing of all of the stuff in the current directory. Let's take a look at the first entry and see if we can figure out what all of this means: drwxrwx--x 3 0 0 512 Aug 5 01:55 bin If the line begins with a "-" instead of a "d", it is a file. The letter "d" at the beginning of this example tells me that this is not a file -- it is a subdirectory. What does *THAT* mean? Well, pretend that the FTP site is simply a big house. You walk into the house through the front door, and you find yourself standing in an entry hall. The entry hall may have some neat stuff in it, but it also has doors leading to other rooms throughout the house. The subdirectories -- the "d"s -- are just doors to other "rooms" at the FTP site, and the files -- the "-"s -- are the neat stuff that you can get while you are at the site. Getting back to our example, drwxrwx--x 3 0 0 512 Aug 5 01:55 bin the "drwxrwx--x" tells us that this entry is a subdirectory (the "rwxrwx--x" part is just some security stuff). The "512" tells us the size of the subdirectory in bytes. The "Aug 5 01:55" tells us the date and time that this subdirectory was last updated. The last part -- the "bin" -- tells us the name of the subdirectory. Let's look at one more example: -rw-r--r-- 1 0 1 350142 Oct 25 00:00 ls-lR There is a "-" instead of a "d", so this is a file. The "350142" tells us that the size of this file is 350,142 bytes, the file was last updated at midnight on October 25, and the name of this file is "ls-lR". Let's get back to the main SURAnet directory contents: drwxrwx--x 3 0 0 512 Aug 5 01:55 bin drwxr-xr-x 2 0 1 512 May 10 12:47 etc drwxrwxrwx 6 0 10 512 Oct 21 11:37 incoming drwxr-xr-x 2 0 0 8192 Feb 15 1992 lost+found -rw-r--r-- 1 0 1 350142 Oct 25 00:00 ls-lR drwxrwxr-r 24 0 100 512 May 3 13:25 pub I want to change this main directory and get into a subdirectory. To change directories on most FTP clients, you use the command cd and replace with the name of the directory that you want to access. Since I am interested in public information, I'm going to get into "pub" directory ("pub" is the standard FTP abbreviation for "public"). I type cd PUB and the following appears on my screen: >>>CWD PUB 550 PUB: No such file or directory. Uhhh ... what happened? One of the unfortunate shortcomings of FTP is that, for most of you, FTP is *case sensitive*. My "cd PUB" command did not work because there is no "PUB" directory ... but there *IS* a "pub" directory :) Let's try it again. I type cd pub and the following appears on my screen: >>>CWD pub 250 CWD command successful. Cool! It worked! Now I need to see the contents of this new directory that I just entered. Do you remember what FTP command I should use? (Hint: it is "dir") I type "dir", and the following appears on my screen: >>>PORT 130,160,4,100,215,140 200 PORT command successful. >>>LIST 150 Opening ASCII mode data connection for /bin/ls. Total 56 -rw-rw-r-- 1 1023 100 4052 Apr 22 1994 README drwxrwsr-x 2 1023 100 512 Aug 6 1993 SURAnet drwxrwxr-x 6 1020 120 512 Mar 3 1992 archie drwxrwxr-x 2 1034 120 512 Feb 15 1992 articles drwxrwxr-x 2 1007 110 512 Jun 22 15:40 books ... Whoa! That first file -- README -- looks pretty important. I bet it contains some important information that will make my life a whole bunch easier (Good rule of thumb: if you see a file that contains the words README or INDEX, it is an important file). I need to get this README file. To get a file using FTP, you use the get filename command, replacing with the name of the file that you want to get. The get command retrieves the file from the remote site and stores the file on your service provider's system. Since I want to get the README file, I type get README (making sure to use the correct case), and the following appears on my screen: Invalid local filename; use 'name.type.mode' or 'name.type' Now what?!? This is a problem that some of you may have when you try to get "one word" files. Some local Internet service providers require files stored on their machines to have some sort of extension or type. Your can't have a file whose name is just README ... it has to be README. (i.e. README.DOC, README.TXT, etc). Since the "get README" command did not work, I'm going to have to use the get command, replacing with README, and replacing with the name that I want the file to be saved as on my service provider's computer. So, I type get README README.DOC and the following appears on my screen: >>>PORT 130,160,4,100,218,90 200 PORT command successful. >>>RETR README 150 Opening ASCII mode data connection for README (4502 bytes). After a few additional seconds, the following is added to my screen: 226 Transfer complete. 4637 bytes transferred. Transfer rate 6.14 Kbytes/sec. YIPEE! It worked!! Let's quit FTP and see what we did. To quit ftp, you need to use either the "bye" or "quit" commands. On my client, the command is "quit", so I type quit and the following appears on my screen: 221 Goodbye. Ready; T=0.54/0.96 01:45:53 Okay .. I got the file. But where is it? It is sitting on my account on my service provider's system! Depending on your system, it is either easy or hard to get into the files that get from FTP (in Unix, type "ls"; in VM, type "fl"). Your local Internet service provider can tell you a little more about how to access, read, and print these files. Looking at this new file that I just got from FTP, I discover that the contents of the README file are a brief explanation of what is in every subdirectory off of the pub directory (cool!): The following items are available anonymous ftp from ftp.sura.net: Directories found under pub: archie/ Information on the archie service as well as client software to use archie. articles/ Text versions of articles in the SURAnet newsletter. books/ Subdirectory containing information on ordering discounted books through SURAnet. databases/ The databases in raw format that are also offered through our WAIS server. dns/ Software and documentation to help setup the Domain Name Server software on Unix machines (BIND) fdic/ The Federal Deposit Insurance Corporation's ftp archive. ... <> NEAT! :) I want to go back and get one of the articles in the SURAnet newsletter. Thanks to what I learned from the README file, I now know that the files that I am looking for are in "pub" directory and in the "articles" subdirectory. In FTP notation, I can write this as /pub/articles This means the same thing as saying "in the pub directory, in the articles subdirectory" and, as you will soon see, this notation will eventually even save me a few steps. Let's go back to SURAnet and get some newsletter articles! I type ftp ftp.sura.net and the following appears on my screen: Connecting to ftp.sura.net 128.167.254.179, port 21 220 nic.sura.net FTP server (Version wu-2.4(1) Fri May 20 10:20:58 EDT 1994) ready. USER (identify yourself to the host): Since I do not have an account on the SURAnet machine, I type anonymous and the following appears on my screen: >>>USER anonymous 331 Guest login ok, send your complete e-mail address as password. Password: I type my full Internet address -- pcrispe1@ua1vm.ua.edu -- as my password, and the following appears on my screen: >>>PASS ******** 230- SURAnet ftp server running wuarchive experimental ftpd 230- 230-Welcome to the SURAnet ftp server. If you have any problems with 230-the server please mail the to systems@sura.net. If you do have problems, 230-please try using a dash (-) as the first character of your password 230- -- this will turn off the continuation messages that may be confusing 230-your ftp client. ... 230 Guest login ok, access restrictions apply. Command: I know that I want to get into the pub directory, and then into the articles subdirectory. I could type "cd pub" and then "cd articles" to get into the subdirectory that I want, but it would be easier to just jump into the "articles" directory with one command. I can make such a jump using the /pub/articles notation introduced a few minutes ago. If I type cd /pub/articles I jump straight into the "articles" directory, and the following appears on my screen: >>>CWD /pub/articles 250 CWD command successful. Command: Since I have no idea what is in the "articles" subdirectory that I just entered, I type dir and the following appears on my screen: >>>PORT 130,160,4,100,222,127 200 PORT command successful >>>LIST 150 Opening ASCII mode data connection for /bin/ls. Total 382 -rw-rw-r-- 1 0 120 1510 Jan 3 1992 editors.box.text -rw-rw-r-- 1 0 120 46167 Jan 3 1992 fall91.issue -rw-rw-r-- 1 0 120 52864 Jan 3 1992 spring91.issue -rw-rw-r-- 1 0 120 1515 Jan 3 1992 sub.form.txt -rw-rw-r-- 1 0 120 36418 Jan 3 1992 summer91.issue -rw-rw-r-- 1 0 120 53606 Jan 3 1992 winter90.issue 226 Transfer complete COOL! These files already have extensions (winter90.issue, etc.), so getting them is going to be a breeze! Let's get the Fall '91 issue. Since I want the file "fall91.issue", I type get fall91.issue and the following appears on my screen: >>>PORT 130,160,4,100,224,34 200 PORT command successful >>>RETR fall91.issue 150 Opening ASCII mode data connection for fall91.issue (46167 bytes). After a few seconds, the following is added to my screen: 226 Transfer complete. 47151 bytes transferred. Transfer rate 16.58 Kbytes/sec. IT WORKED!!! YAY!!! :) I then quit FTP by typing either "bye" or "quit", and I am done! The file "fall91.issue" is now sitting in my account on my local Internet service provider's machine!! TOMORROW: - ASCII and Binary files - getting multiple files - file compression and unpacking - *FTP using nothing but e-mail* PATRICK DOUGLAS CRISPEN THE VIEWS EXPRESSED IN THIS LETTER DO NOT PCRISPE1@UA1VM.UA.EDU NECESSARILY REPRESENT THE VIEWS OF THE THE UNIVERSITY OF ALABAMA UNIVERSITY OF ALABAMA - TUSCALOOSA ROADMAP: COPYRIGHT PATRICK CRISPEN 1994. ALL RIGHTS RESERVED.