There are a number of Linux commands you can use to copy files from one computer to another. The rcp ("remote copy") command is meant to work like the cp ("copy") command, except that is allows you to copy files and directories over the network to and from remote computers.
This is nice and simple, but to make it work you need to first set up the computers involved in the transaction to allow this operation. This is done using the ".rhosts" files. See here for more information.
A more secure version of rcp is scp ("secure copy"). It is based on the ssh ("secure shell") protocol, which uses encryption.
The key advantage of the FTP client program is that it comes with most commonly used operating systems, including most Linux distributions and even Microsoft Windows, and it doesn't require ".rhosts" files. You can copy multiple files with FTP, but the basic FTP clients typically do not transfer whole directory trees.
FTP is a file transfer protocol that was developed when the first computer networks were designed. It uses the client-server communication model where one computer continuously runs a "server" program that waits for requests from a "client" program. This means an FTP client is useful only if there is an FTP server running on the other end.
There are a variety of FTP clients with graphical user interfaces available, such as the popular FileZilla Client. Luckily, there is also a FileZilla Server program that is easy to set up. So you can turn any Windows computer into an FTP server and access it from any other computer on the Internet.
Like FileZilla Client, FileZilla Server is free and open source. You can download it from FileZilla and set it up using a straight forward set-up wizard. You can choose to have the server start automatically when the computer is turned on, or you can choose to start it manually.
Once the server is up and running you need to use the administrative client to create at least one user account, which is needed to remotely log in. Now you can also automate routine file transfer operations using shell scripts and the .netrc file that defines auto-login and configuration information for FTP clients.
rsync works like scp but does checksum operations on the source and the destination. After the initial sync, moving large amounts of data can by very quick.
Another option to copy files from MS Windows operating systems to Linux and vice versa is smbclient, with uses Samba.
To copy files from MS Windows to Linux, WinSCP is a good choice.

