Search code examples
macosunixfileterminalcopying

How to copy files across computers using SSH and MAC OS X Terminal


I'm trying to copy my .profile, .rvm and .ssh folders/files to a new computer and keep getting a "not a regular file" response. 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!


Solution

  • 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
    

    Copy with a port number specified:

    scp -P 1234 username@hostname:/path/to/remote/file /path/to/local/file