VI. File Transfer 1. FTP (File Transfer Protocol) permits copying files from one internet host to another. Downloading: Copying files from the remote computer to yours Uploading: Copying files from your computer to the remote computer 2. Requirement: You need accounts (with passwords) on both the local host and the remote host. There is a special account (anonymous, E-mail address as password) that users can access while unregistered for certain internet hosts that are set up to offer this service. 3. Benefits of Anonymous FTP: * Huge Number (Thousands) of Sites for downloading files * Largest distributed library of information ever accumulated * Library that is always growing, never closes, covers myriad topics * All this is Free * A principal way of distributing software on the internet * Used to archive and disseminate technical information that defines the Internet (rfc* files) 5. Some FTP Command meanings: quit Close connection to the remote host, stop the ftp program ? or help Display a list of all ftp commands ? <ftp command> Display a one-line summary of the specified command help <ftp command> ! Local host: pause ftp and start a shell ! <Unix Command> Local host: pause ftp and execute that Unix command Connecting: open <hostname> Establish connection to the specified computer close Close the connection to the remote host, stay in the ftp program user [name [password] ] set user name for ftp session Directories: cd <directory> Remote host: change to the specified directory cdup Remote host: change to the parent directory dir [directory [file] ] Remote host: display a long directory listing lcd [directory] Local host: change directory ls [directory [file] ] Remote host: display a short directory listing pwd Remote host: display the current directory name Transferring Files: get [remotefile [localfile] ] Download one file from remote host, no wildcards mget [remotefiles ] Download multiple files from remote host, wildcards ok put [localfile [remotefile] ] Upload one file from remote host, no wildcards mput [localfiles ] Upload multiple files from remote host, wildcards ok Setting Options: ascii Set file type to ASCII text file (default) binary Set file type to binary file (do this if not sure) hash Yes/No: show # for each data block transferred prompt Yes/No: prompt for multiple file transfers status Display current status of options 6. Notes about ftp commands * To stop an ftp command as it is executing, press <CTRL-C> * To run a UNIX command while under ftp control, type !command or ! to get multiple commands * To display text files to the terminal (rather than download into a file) ftp> get readme.txt - * Browse any size text files within ftp (a screenful at a time) ftp> get readme.txt |more * Browse a directory within ftp (a screenful at a time) ftp> get . |more * Different File types: Suffix file.Z Compressed file (use $ uncompress file.Z) Suffix file.tar Archive file (use $ tar -xvf file.tar to extract) use $ tar -tvf file.tar to view contents) Suffix file.txt text file README General information about this directory index A description of each file in the directory ls-lR.Z A file having a long list, sorted alphabetically ls-ltR.Z A file having a long list, sorted by latest file first * It is possible to create a Unix Script that calls ftp and downloads based on a data file of ftp commands. Such a script can run unattended and can be prescheduled using the at command 7. Requesting (Anonymous) ftp by mail (64000 bytes at a time) * Use a program called ftpmail to mail a request to an ftpmail server. $ mail ftpmail.decwrl.dec.com #in California [16.1.0.1]; or $ mail bitftp@pucc.princeton.edu #via bitnet [128.112.129.99] Subject: Requesting a text file reply arkay@hcc-cis.ctc.edu connect cathouse.org <username> <password> <account> ascii chdir /misc/fun/humor/british.humour/monty.python/flying.circus get argument.clinic quit <Ctrl-D> EOT * Selected Commands Specifying your E-mail address: reply <E-mail Address> mail response Connect to the Host: connect <host> Connect to specified Anonymous FTP host Setting options: ascii Files to be mailed are text files binary Files to be mailed are non-text or text files uuencode convert binary files to text using uuencode btoa convert binary files to text using btoa Specifying the directory: chdir <directory> Change to the indicated directory Requesting Files: get <file> Download file (up to 10 gets per ftpmail message) Requesting Information: help Send and describe how to use ftpmail dir [ directory ] Send a long directory listing ls [ directory ] Send a short directory listing Ending the Session: quit Terminate the session, ignore the rest of message.Questions? Robert Katz: katz@ned.highline.edu