在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
)来了解。