scp(Secure Copy Protocol)是一种用于在不同主机之间安全传输文件的命令。使用 scp 命令,你可以将文件从本地计算机复制到远程计算机,或者从远程计算机复制到本地计算机。
以下是 scp 命令的基本语法和一些示例:
基本语法
bash
scp [选项] [本地文件路径] [远程用户]@[远程主机]:[远程路径]
scp [选项] [远程用户]@[远程主机]:[远程文件路径] [本地路径]
常用选项
-r:递归复制整个目录。
-P port:指定远程主机的 SSH 端口(默认是 22)。
-i identity_file:指定私钥文件用于身份验证。
-C:启用压缩。
示例
将本地文件复制到远程主机
bash
scp /path/to/local/file.txt user@remote_host:/path/to/remote/directory/
例如,将本地的 example.txt 文件复制到远程主机 192.168.1.100 上的 /home/user/ 目录:
bash
scp example.txt user@192.168.1.100:/home/user/
将远程文件复制到本地主机
bash
scp user@remote_host:/path/to/remote/file.txt /path/to/local/directory/
例如,将远程主机 192.168.1.100 上的 example.txt 文件复制到本地的 /home/localuser/ 目录:
bash
scp user@192.168.1.100:/home/user/example.txt /home/localuser/
递归复制整个目录
bash
scp -r /path/to/local/directory user@remote_host:/path/to/remote/directory/
例如,将本地的 myfolder 目录及其内容复制到远程主机 192.168.1.100 上的 /home/user/ 目录:
bash
scp -r myfolder user@192.168.1.100:/home/user/
指定非默认 SSH 端口
如果远程主机的 SSH 服务运行在非默认端口(例如 2222),可以使用 -P 选项:
bash
scp -P 2222 /path/to/local/file.txt user@remote_host:/path/to/remote/directory/
注意事项
确保你有权访问远程主机,并且远程主机的 SSH 服务正在运行。
使用 scp 命令时,会提示你输入远程用户的密码(除非你已经配置了 SSH 密钥认证)。
scp 命令依赖于 SSH 协议,因此其安全性与 SSH 相同。
通过这些示例和说明,你应该能够使用 scp 命令在本地和远程主机之间安全地传输文件。