How do I ftp a file from one machine to another?

FTP stands for "File Transfer Protocol". For complete information, see "man ftp". But here's some simple examples.

Let's say you want to move a file from your home machine to a Rutgers machine -- this hypothetical machine will be called "remus.rutgers.edu".
On your home machine, first make sure you're connected (via PPP, DLS, cable modem, whatever) to the internet. Then (if you're on a ms-whatever machine) run your ftp client program (if you know what that is) and make "remus.rutgers.edu" your target machine -- your remus username and password are the username and password you provide; or (if you're just using an ms-dos window) CD to the directory that the file(s) you want to send are in, and type "ftp remus.rutgers.edu". You'll get a banner (described below), and will be asked for your username and password; supply your remus username and password. Now you're connected to the ftp server.

Now, just the "put" or "send" command (e.g. "send my.java" in the ms-dos version described above), or use the "put" or "send" buttons on your ftp client program to send files from your local machine to remus. These files will be put into your home directory on remus.


Now let's say you want to move a file from machine-A.rutgers.edu to machine-B.rutgers.edu. The file is in a directory of your home directory called "StarTrek", and the file is called "DS9.java".

On machine-B, type:
ftp machine-A.rutgers.edu
You get:

Connected to machine-A.rutgers.edu.
220-
220-   Rutgers University Undergraduate Department of Computer Science
220-   =======-==========-=============-==========-==-========-=======
220-
220- This ftp server is for AUTHORIZED USE ONLY.  A valid email address
220- for anonymous ftp transfers is REQUIRED!  All transfers are logged.
220-
220- Use a dash (-) as the first character of your password to turn off
220- the continuation messages.
220-
220- Report problems to help@machine-a.rutgers.edu
220-
220 machine-A.rutgers.edu FTP server (Version wu-2.4.2-academ[BETA-13](51) Tue Aug 18 13:22:45 EDT 1998) ready.
Name (machine-A:yourname): 

You type your username, hit return, then your password when asked. You get:
ftp>

Now you can use ftp commands to get, or put files, cd to directories, and various other things. "help" works.
so now, we're going to cd to "StarTrek", and get the file.

cd StarTrek
250 CWD command successful.

You could now use the "dir" command to see files there. But we already know what file we want:

get DS9.java

200 PORT command successful.
150 Opening ASCII mode data connection for DS9.java (982 bytes).
226 Transfer complete.
local: DS9.java remote: DS9.java
1031 bytes received in 0.0067 seconds (1.5e+02 Kbytes/s)

Done! Now, let's say we want to get another file, this time "Odo.jpg" from another directory in our home directory, "mypics". First,

cd ../mypics
250 CWD command successful.

then binary
200 Type set to I.

This tells the ftp server that we want this file transmitted in "binary" rather than "ascii" mode. Ascii's good for text files, binary for everything else.

get Odo.jpg

200 PORT command successful.
150 Opening BINARY mode data connection for Odo.jpg (982 bytes).
226 Transfer complete.
local: Odo.jpg remote: Odo.jpg
982 bytes received in 0.0052 seconds (1.8e+02 Kbytes/s)

Done! Now just
quit

and you're completely done. Again, see "man ftp" for complete information.

Note: This information doesn't work moving files to/from mulder/scully/frohike (the Internet Technology machines). For them, use rcp. See "man rcp" for more information.