scp
(Secure Copy)命令用于在Linux系统之间通过SSH协议安全地复制文件和目录,以下是一些常见的用法示例:
从本地复制到远程服务器
scp /path/to/local/file username@remote_host:/path/to/remote/directory
将本地文件example.txt
复制到远程服务器的/home/user/
目录:
scp example.txt user@remote_host:/home/user/
从远程服务器复制到本地
scp username@remote_host:/path/to/remote/file /path/to/local/directory
将远程服务器上的文件example.txt
复制到本地的/home/user/
目录:
scp user@remote_host:/home/user/example.txt /home/user/
递归复制目录
使用r
选项可以递归地复制整个目录。
scp r /path/to/local/directory username@remote_host:/path/to/remote/directory
将本地目录myfolder
及其内容复制到远程服务器的/home/user/
目录:
scp r myfolder user@remote_host:/home/user/
指定端口号
如果远程服务器的SSH服务运行在非默认端口(22),可以使用P
选项指定端口号。
scp P port_number /path/to/local/file username@remote_host:/path/to/remote/directory
将本地文件example.txt
复制到运行在端口2222的远程服务器的/home/user/
目录:
scp P 2222 example.txt user@remote_host:/home/user/
使用密钥进行认证
如果你使用的是SSH密钥进行认证,可以直接使用scp
命令,不需要输入密码,确保你的公钥已经添加到远程服务器的~/.ssh/authorized_keys
文件中。
备份文件示例
假设你想备份本地的backup.tar.gz
文件到远程服务器的/backups
目录:
scp backup.tar.gz user@remote_host:/backups/
恢复备份文件示例
假设你想从远程服务器的/backups
目录中恢复backup.tar.gz
文件到本地的/restore
目录:
scp user@remote_host:/backups/backup.tar.gz /restore/
这些是一些基本的scp
命令用法,可以根据实际需求进行调整。