Using netcat with tar
This method will bulk copy files from one Linux machine to another. It will preserve all directory structures, links and permissions. It is very useful for backing up hard drives or transferring an entire directory to another machine.
For this example, the destination machine is 192.168.0.13 and I have chosen port 10001 but you can choose any port you like of course. Also you will need tar and netcat installed on both machines.
First, on the destination machine, run this command:
netcat -l -p 10001 | tar xv
And then on the source machine, run this command:
tar c * | netcat -q 1 192.168.0.13 10001
The ‘v’ option is, well, optional. I just like to view the progress of the operation as it goes.
If you want to do this over the Internet or through a modem, you might consider using the ‘z’ or ‘j’ option to compress the data on the way through.

You might want to try rsync as well, which tunnels over SSH and preserves more attributes than you can shake a stick at, including directory structure and access time.