Getting the file from your computer to the other one.
If you're next to it, put it on a USB drive, take it out, walk over, and copy it over.
(by the way, DO THIS ANYWAY with your important stuff. Thanks)
But how do we do this over the internet? There are a LOT of ways. No really, a lot. Lets start at the beginning:
Well, lets start with Linux/Unix: Remember, the whole point of Unix is that doing stuff locally is the same as doing stuff not locally: So we can first think about these two "programs" -- which are simple commands:
CP - which means Copy. Let's be a little more precise here; think PHOTOCOPY (as opposed to perfect clone) i.e., make a copy of the file with identical contents, but that is USEABLE by whoever's got it.
RSYNC - which means SYNCHRONIZE -- this is used for backups and such, i.e. what it creates is a PERFECT CLONE.
But, over in mostly windowsland: Hey, maybe we develop a protocol for File Transfer. Hmm, what might we call it?
FTP. File Transfer Protocol (originally, a bunch of commands + no protection)
Here's something else we need to consider: Protection. Now, you can either "bake it in" or just "stack" one on the other. So let's talk about another important thing: SSH
Let's start talking about SSH by talking about something else -- Telnet. Simple program, you connect to the other computer and start giving it shell commands, again, no protection.
Okay, but now we need protection. We need a Shell that is Secure.
Secure SHell -- SSH. Primarily for commands -- BUT
Like with all these, instead of "typing the commands" you can pipe them through -- SO, you can use SSH not just for typing commands, but as a sort of "armored truck" or "security" system you can pipe other commands through. SO we get things like
SCP -- SSH + CP
and SFTP - SSH + FTP
Now, to further confuse things: Today, sometimes you'll see SSH for just File Transfer. That's fine, will usually work and act just like FTP.
Finally -- WebDAV. Basically the same as above, though tailored for Web Development.
As this implies, this means there are a number of ways to actually transfer the files, you could:
- Get to a terminal, and type out the commands, like scp localfile.txt firstname.lastname@example.org:/home/my/html/
- Open up a dedicated (ssh/ftp/webdav) program, and "fill in" the connection info, then select your file or files and watch them upload. My guess is that this is what most of you will do.
- Open up a special File Manager. While Windows Explorer and Mac Finder don't tend to have this built in, many alternate file managers (and most Linux ones) do.
- Finally (this gets weird but might work for you) there are now website/browsers that have file transfer built into them -- I would say that MOST paid hosting sites which have backend software like cPanel have this option. So you log into your site, you look for a "file manager" INSIDE your browser and go to upload.