6.3. Copying Files Remotely
Problem
You want to copy files securely from one computer to another.
Solution
For one file:
$ scp myfile remotehost: $ scp remotehost:myfile .
For one file, renamed:
$ scp myfile remotehost:myfilecopy $ scp remotehost:myfile myfilecopy
For multiple files:
$ scp myfile* remotehost: $ scp remotehost:myfile\* .
To specify another directory:
$ scp myfile* remotehost:/name/of/directory $ scp remotehost:/name/of/directory/myfile\* .
To specify an alternate username for authentication:
$ scp myfile smith@remotehost: $ scp smith@remotehost:myfile .
To copy a directory recursively (-r):
$ scp -r mydir remotehost: $ scp -r remotehost:mydir .
To preserve file attributes (-p):
$ scp -p myfile* remotehost: $ scp -p remotehost:myfile .
Discussion
The scp command has syntax very similar to that of rcp or even cp:
scp name-of-source name-of-destination
A single file may be copied
to a remote file or directory. In other words, if
name-of-source is a file,
name-of-destination may be a file
(existing or not) or a directory (which must exist).
Multiple files and directories, however, may be copied only into a
directory. So, if name-of-source is two or
more files, one or more directories, or a combination, then specify
name-of-destination as an existing
directory into which the copy will take place.
Both name-of-source and
name-of-destination may have the following
form, in order:
The username of the account containing the file or directory, followed by “@". (Optional; permitted only ...