Hostname: naic.nasa.gov Directory path: files/general_info/ Filename: using-ftp.txt Updated: July 12, 1993 (mks) USING THE FILE TRANSFER PROTOCOL (FTP) ====================================== WHAT IS "FTP"? -------------- FTP (File Transfer Protocol) is the part of the TCP/IP protocol suite that helps users move files between systems easily, and can be tailored to match the specific types of files involved. If your computer uses TCP/IP, you can use FTP. MultiNet users can do file transfers too. While some systems look different, FTP's functions are standardized, which means you can perform FTP transfers between TCP/IP hosts anywhere in the world. Because of this, many sites have set up software libraries that are available to all network users via anonymous FTP (explained later). WHAT CAN FTP DO FOR ME? ----------------------- Since FTP performs an actual login from your host to a remote host, you can browse the remote host's files and directories just as if you had used TELNET or SET HOST. However, FTP also allows for a special type of login, called anonymous FTP. In this case, users do not need accounts of their own on a system; instead, they can log into a communal account with the userid "anonymous." (In such cases, proper "nettiquette" is to provide one's electronic mail address as a "password.") Hundreds of sites worldwide support Anonymous FTP accounts to distribute information, graphics, and free or low cost software. This handout will help you use both "standard" and "anonymous" FTP; for more information on available anonymous FTP sites, please contact the NAIC (which is itself an anonymous FTP site!) at 415-604-0600 or naic@nasa.gov or EAST::"naic@nasa.gov". HOW CAN I USE FTP? ------------------ To begin a session, you type the FTP command and either the name of the host to which you wish to connect, or its IP address. (Note that many hosts are case sensitve; for that reason, commands are shown here in lowercase. Your host may prefer the initial "FTP" command to be in uppercase.) For example, to open an FTP connection to the host naic.nasa.gov, you would type either ftp naic.nasa.gov or ftp 128.102.128.6 Once your connection is established, you will be prompted to login. If you are connecting to a host on which you have an account, provide your userid, either by simply typing it on a Unix system or by typing "USER" first on a VMS system. When prompted for your password, provide it. If you are connecting to an anonymous FTP host, when prompted to log in, use "anonymous" as your user name. When prompted for a password, type your electronic mail address or the word "guest." Once you have logged in, the system prompt changes to either ftp> or the name of the remote host; in either case, you will enter all commands at this prompt. Note that online help for FTP commands can be obtained by typing help while the FTP prompt is on the screen. HOW DO I SEE FILES ON THE REMOTE SYSTEM? ---------------------------------------- To see what files and directories are available on the remote system, you can use either the DIR or ls commands (some systems only understand "ls"; some systems will only understand "dir" in lowercase). DIR will get you something like this: drwxr-xr-x 2 0 10 512 Apr 13 1989 bin drwxr-xr-x 2 14 10 512 Apr 13 1989 etc -rw-r--r-- 1 0 0 28503 Sep 10 06:36 ls-lRt drwxr-xr-x 14 14 10 1024 Feb 21 14:08 pub A "d" in the first column indicates a directory; a dash in the first column indicates a file. (When using "ls", you won't get this information, but directory names are often followed by a "/".) The series of letters and dashes show file protection (Read, Write, and eXecute); this is shown rwxrwxrwx for owner, group, and world access; you will be able to look at any files/directories with an "r" in the last triplet. HOW DO I MOVE AROUND ON THE REMOTE SYSTEM? ------------------------------------------ This depends a bit on what type of machine the remote host is. For the vast majority of systems that support FTP, you simply type "cd" and the directory name to move "down" into the named directory, and "cd .." (that's two periods) to move back "up" one level in the directory hierarchy. You can also immediately zoom up to the FTP login level directory (where you started after connecting to the remote host) by typing cd / Navigation commands differ on VMS systems. You must type CD [.directory] to move down and CD [..] to move up (include the brackets). Otherwise, the directory navigation commands are pretty much universal. WHAT KIND OF FILE TRANSFERS CAN I DO WITH FTP? ---------------------------------------------- FTP has several commands you may need to use before initiating the actual transfer, depending on what type of files are involved. There are two basic commands for this: BINARY (or IMAGE) and ASCII. The default mode for FTP transfers is ASCII. This works fine for text files, but will ruin executables and image files. To successfully transfer binaries, you must type the command "binary" (or "bin" or "image") at the prompt before initiating the transfer. Similarly, text-only files will become "garbage" if they are transferred in binary mode. If you want to transfer text after transfering a binary, make sure you type "ASCII" first! (See the table at the end of this document for a listing of which file types require which FTP transfer mode.) CAN I FOLLOW THE PROGRESS OF AN FTP TRANSFER? --------------------------------------------- Yes, sort of -- type the command "hash" before initiating a transfer, and the system will print a series of pound signs (#) on-screen as the transfer runs. HOW DO I COPY A FILE FROM THE REMOTE HOST ONTO MY OWN? ------------------------------------------------------ To receive, or get, a file from the remote host, you should use the GET command; the proper syntax is "get remotefilename targetfilename" The target file name refers to the name you want the file to have on your local computer, the computer to which the file is moving. The target file name is optional; the system will default to the original file name if you don't indicate a target file name. This is just a handy way of transferring and renaming the file in one step. Note: UNIX systems can use multiple periods in a filename (e.g. "blah.tar.Z"), but VMS cannot! Make sure the remote file name is compatible with your host's operating system! The example below copies the file appl.sit.hqx from the remote host, renaming it appl.hqx in transit. Example: ftp> get appl.sit.hqx appl.hqx Beginning ASCII transfer... Transfer complete. 14 bytes transmitted in 1 second. (14 bytes/s) CAN I LOOK AT A FILE WITHOUT TRANSFERRING IT FIRST? --------------------------------------------------- FTP allows you to read the contents of text files "on the fly" without actually placing a copy of the file on your system by making your screen the destination. Although the commands for UNIX and VMS systems are similar, there are a few differences. On a VMS system, simply type GET filename TT: and the contents of that text file will scroll across your screen. NOTE: Be ready to hit Control-S or "Hold Screen"; the entire file will scroll by without stopping for page breaks! On a UNIX system, simply type get filename /dev/tty and the contents of that text file will scroll across your screen. If you want the display to stop scrolling each time the screen fills, use the command get filename |more (some versions of UNIX will use |pg instead); you will then be able to read through the text one screen at a time. CAN I MOVE A FILE ONTO THE REMOTE HOST? --------------------------------------- The PUT command works just like the GET command (but without the TT: trick), complete with the dangers of different operating systems having different file naming conventions. Note that the majority of anonymous FTP sites will not allow you to put files onto their disks without prior permission (and then usually only into specific directories). Contact the adminstrator of each specific anonymous FTP archive for information on his or her site's policies. HEY -- HOW DO I GET OUTTA HERE?!? --------------------------------- To exit from FTP (and log off the remote system), just enter the command "bye" or "exit" or "quit" at the prompt (different systems may react to only one or the other of these commands, but the results will be the same). If you end up looking at the "ftp>" prompt, simply enter the same command a second time to return to your normal system prompt. If you have any questions, please contact the NAIC for more information: NASA Network Applications and Information Center Ames Research Center M/S 233-18 Moffett Field, CA 93025-1000 phone: 415-604-0600 fax: 415-604-7300 naic@nasa.gov EAST::"naic@nasa.gov" HOW DO I KNOW WHICH TRANSFER MODE (ASCII OR BINARY) TO USE? ----------------------------------------------------------- The following table describes the most common file types (listed by filename extension) and the FTP mode (ASCII or BINARY) you need for a successful transfer. file type USUALLY means... transfer mode: ----------- --------------------------------------- ---------------------- .arc DOS compression format BINARY .bak usually a binary backup (depends on system!) .bck backup (archived) format BINARY binscii Apple II archive format BINARY .com VMS command file in DCL ASCII .com executable command file in DOS BINARY .cpt PackIt archive format (Mac) BINARY .dat VMS data files BINARY .doc usually ASCII text ASCII .dvi special TeX text output format BINARY .eps Encapsulated PostScript BINARY .exe executable file BINARY .gif GIF graphics format BINARY .h "include" file for 3GL or 4GL compiler ASCII .hlb VMS help libraries BINARY .hlp VMS help files ASCII .hqx BinHex (ASCII text) format (Macintosh) ASCII .jpg JPEG graphics format BINARY .lbr very old LU archive format (CP/M) BINARY .lis usually text or program listing ASCII .lzh Lempel-Ziv compression format BINARY .lzw LHWarp archive (Amiga) BINARY nupack Apple II archive format BINARY .o, .obj compiled (but unlinked) programs BINARY .pak "packed" archive format (DOS, OS/2) BINARY .pcx PCX graphics format BINARY .pict PICT graphics format BINARY .pit "packed" archive format (Mac) BINARY .pnt MacPaint format BINARY .ps postscript format BINARY ._Q_ "Squeeze" (CP/M) archive BINARY .riff RIFF graphics format BINARY .rno DEC Standard Runoff format ASCII .sea self-extracting archive BINARY .shar, .sh UNIX SHell ARchive BINARY .sit StuffIt archive format (Mac) BINARY .tar UNIX Tape ARchive format BINARY .tex TeX formatted text files ASCII .text ASCII text ASCII .tga Targa graphics format BINARY .tiff TIFF graphics format BINARY .txt ASCII text ASCII .uu, .uue UUencoded archive (UNIX) ASCII .wrp Warp archive format (Amiga) BINARY .xx, .xxe xxencode format archive (UNIX) ASCII .Z UNIX Compress format BINARY .zip DOS compression format BINARY .zoo ZOO format archive BINARY