在Linux和Unix系统中,scp(Secure Copy Protocol)是一个用于通过SSH协议进行安全文件传输的命令行实用程序。与传统的cp(copy)命令不同,scp允许用户在不同的机器之间、或同一台机器的不同位置之间传输文件或文件夹。
语法
基本语法如下:
bash
scp [options] [source] [destination]
options:可选参数,用于修改scp的行为source:源文件或目录destination:目标文件或目录
常用选项
-r:递归复制,用于复制目录及其内容。-p:保留文件属性(如修改时间、访问时间等)。-q:安静模式,不显示复制进度。-v:详细模式,显示详细的调试信息。
示例
-
将本地文件复制到远程服务器
bashscp local_file.txt username@remote_host:/path/to/destination/ -
从远程服务器复制文件到本地
bashscp username@remote_host:/path/to/source/file.txt /local/destination/ -
复制目录到远程服务器
bashscp -r local_directory/ username@remote_host:/path/to/destination/ -
从一个远程服务器复制文件到另一个远程服务器
bashscp username1@remote_host1:/path/to/source/file.txt username2@remote_host2:/path/to/destination/ -
使用特定SSH端口
bashscp -P 2222 local_file.txt username@remote_host:/path/to/destination/
安全性
由于scp使用SSH进行数据传输,因此它是加密的,这提供了额外的安全层。
注意事项
- 如果你首次连接到远程主机,系统可能会提示你确认远程主机的身份。
- 你必须具有对源文件和目标位置的适当访问权限。
这只是scp命令的一个简单介绍。更多高级用法和选项可以通过查看其man页面(通过运行man scp)来了解。