views:

184

answers:

2

Im trying to copy my .profile, .rvm and .ssh folders/files to a new computer and I know how to use the cp and ssh commands but I'm not sure how to use them in order to transfer files from one computer to another. Any help would be great, thanks!

+2  A: 

You can do this with the scp command, which uses the ssh protocol to copy files across machines. It extends the syntax of cp to allow references to other systems:

scp username1@hostname1:/path/to/file username2@hostname2:/path/to/other/file

Copy something from this machine to some other machine:

scp /path/to/local/file username@hostname:/path/to/remote/file

Copy something from another machine to this machine:

scp username@hostname:/path/to/remote/file /path/to/local/file
Ether
I think that OP's use of the phrase 'how to use them in order to transfer' might be rewritten as 'how to use them to transfer'. Wordy perhaps, but not terrifically wrong.
High Performance Mark
@High: ah indeed. :) *gets more coffee*
Ether
Thanks @Ether, but unfortunately, I keep getting a "not a regular file" response for directories that start with '.' like the .rvm folder im trying to transfer, any tips?
alvincrespo
@Ether, don't worry about it. I got it! I need to use -r (r for recursive) in order to bring in whole directory structures. Thanks so much!
alvincrespo
@alvin: heh yeah, that happens to me too :)
Ether
A: 

You may also want to look at rsync if you're doing a lot of files.

If you're going to making a lot of changes and want to keep your directories and files in sync, you may want to use a version control system like Subversion or Git. See http://xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion

Andy Lester
Thanks @Andy, we are using SVN here at work but I just got a new computer and wanted to learn how to do everything through the command line since the guys prefer that here. I'm learning to love it as well :)
alvincrespo