20.6.2. Using the scp Command
The
scp
command can be used to transfer files between machines over a secure, encrypted connection. It is similar to rcp
.
The general syntax to transfer a local file to a remote system is as follows:
scp <localfile> username@tohostname:<remotefile>
The <localfile> specifies the source including path to the file, such as
/var/log/maillog
. The <remotefile> specifies the destination, which can be a new filename such as /tmp/hostname-maillog
. For the remote system, if you do not have a preceding /
, the path will be relative to the home directory of username, typically /home/username/
.
To transfer the local file
shadowman
to the home directory of your account on penguin.example.net, type the following at a shell prompt (replace username with your username):
scp shadowman username@penguin.example.net:shadowman
This will transfer the local file
shadowman
to /home/username/shadowman
on penguin.example.net. Alternately, you can leave off the final shadowman
in the scp
command.
The general syntax to transfer a remote file to the local system is as follows:
scp username@tohostname:<remotefile> <newlocalfile>
The <remotefile> specifies the source including path, and <newlocalfile> specifies the destination including path.
Multiple files can be specified as the source files. For example, to transfer the contents of the directory
downloads/
to an existing directory called uploads/
on the remote machine penguin.example.net, type the following at a shell prompt:
scp downloads/* username@penguin.example.net:uploads/