scp(Secure Copy)命令,功能为在 Linux 系统中用于通过SSH协议在本地主机和远程主机之间或两个远程主机之间安全地复制文件。
从本地复制到远程
scp /path/to/local/file username@remotehost:/path/to/remote/directory
这条命令将本地文件/path/to/local/file复制到远程主机的/path/to/remote/directory目录下。
同步时会显示进度
从远程复制到本地
scp username@remotehost:/path/to/remote/file /path/to/local/directory
这条命令将远程主机上的文件/path/to/remote/file复制到本地的/path/to/local/directory目录下。
从远程复制到远程
scp username@remotehost1:/path/to/remote/file username@remotehost2:/path/to/remote/directory
这条命令将remotehost1上的文件复制到remotehost2上指定的目录。
复制整个目录
如果你需要复制整个目录,可以使用-r选项,它代表递归复制。
scp -r /path/to/local/directory username@remotehost:/path/to/remote/directory
这条命令将本地目录/path/to/local/directory及其内容复制到远程主机的/path/to/remote/directory目录下。
使用端口
如果你知道远程主机的SSH服务运行在非默认端口上,可以使用-P选项指定端口。
scp -P <portNumber> /path/to/local/file username@remotehost:/path/to/remote/directory
将 <portNumber> 替换为实际的端口号。
使用密码
默认情况下,scp会尝试使用SSH密钥进行认证。如果你想要使用密码认证,可以不使用任何特殊选项,因为密码认证是SSH的默认行为。
使用公钥认证
如果你已经设置了SSH公钥认证,那么在使用scp时不需要输入密码。