简介
scp(Secure Copy Protocol)是 Linux 和 Unix 系统中用于在本地和远程之间安全地传输文件的工具。它基于 SSH(Secure Shell)协议进行文件传输,从而确保数据在传输过程中的安全性和完整性。scp 命令的基本语法如下:
scp [选项] 源文件 目标文件
其中,“源文件” 可以是一个或多个本地文件,也可以是一个远程文件,而 “目标文件” 则相反,可以是本地或远程位置。当 “源文件” 或 “目标文件” 的路径以冒号(:)开始时,表示该路径位于远程系统上,格式通常为 用户名@主机名:文件路径。
基本用法示例
- 从本地复制到远程:
这会将本地的 /path/to/local/file 文件复制到远程主机 remotehost 上的 /path/to/remote/directory/ 目录下。如果目标目录不存在,scp命令可能会失败。scp /path/to/local/file username@remotehost:/path/to/remote/directory/
- 从远程复制到本地:
这会从远程主机 remotehost 上的 /path/to/remote/file 复制文件到本地的 /path/to/local/directory/ 目录下。scp username@remotehost:/path/to/remote/file /path/to/local/directory/
- 复制目录(递归复制):要复制整个目录,你需要使用-r(或-R)选项,表示递归复制。
这会将远程主机上的 /path/to/remote/directory/ 目录及其所有子目录和文件复制到本地的 /path/to/local/directory/ 目录下。scp -r username@remotehost:/path/to/remote/directory/ /path/to/local/directory/
常用选项
- -r 或 -R:递归复制整个目录。
- -P:指定远程主机的SSH端口(大写P)。默认端口是22。
- -C:启用压缩功能。
- -p:保留原文件的修改时间、访问时间和访问权限。
- -q:安静模式,不显示传输进度信息。
- -v:详细模式,显示更多的传输信息。