scp 命令
这里写自定义目录标题
- 一、使用 scp 在本地和远程主机之间或者两台远程主机之间安全地复制文件
- 二、scp 是一种跨平台的命令行工具
一、使用 scp 在本地和远程主机之间或者两台远程主机之间安全地复制文件
scp 命令是 Secure Copy Protocol(安全复制协议)的缩写,用于在本地和远程主机之间或者两台远程主机之间安全地复制文件。它基于 SSH(安全外壳协议),因此它传输的文件会被加密,保证安全。
scp 命令的基本语法:
scp [选项] [源文件路径] [目标路径]
参数说明:
- 源文件路径:指的是你要拷贝的文件或者目录的位置。
- 目标路径:指的是目标位置,可能是本地机器或者远程机器。
常见的用法:
将文件从本地复制到远程服务器:
scp /path/to/local/file username@remote_host:/path/to/remote/directory
例如:将本地的 test.txt 文件复制到远程服务器的 /home/user/ 目录:
scp test.txt user@192.168.1.100:/home/user/
将文件从远程服务器复制到本地:
scp username@remote_host:/path/to/remote/file /path/to/local/directory
例如:将远程服务器上的 test.txt 文件复制到本地桌面:
scp user@192.168.1.100:/home/user/test.txt ~/Desktop/
复制整个目录(递归拷贝):
使用 -r 选项来递归复制目录。
scp -r /path/to/local/folder username@remote_host:/path/to/remote/directory
例如:将本地目录 myfolder 复制到远程服务器的 /home/user/ 目录:
scp -r myfolder user@192.168.1.100:/home/user/
指定端口:
如果远程服务器使用非默认的 SSH 端口(默认是 22),可以使用 -P 参数指定端口。
scp -P port_number /path/to/local/file username@remote_host:/path/to/remote/directory
使用公钥认证:
如果你使用公钥认证而非密码,scp 会自动使用你本地的 SSH 密钥。
常见选项:
- -r:递归复制目录。
- -P:指定 SSH 连接的端口(注意是大写的 P,因为小写的 -p 用于保留文件属性)。
- -v:启用详细模式,显示调试信息(适用于调试)。
- -i:指定使用的私钥文件。
例如,使用私钥文件来连接:
scp -i /path/to/private_key /path/to/local/file user@192.168.1.100:/path/to/remote/directory
二、scp 是一种跨平台的命令行工具
具体支持的操作系统:
- Linux:几乎所有的 Linux 发行版都自带 scp 命令。
- macOS:macOS 也原生支持 scp 命令,可以直接通过终端使用。
- FreeBSD、OpenBSD、NetBSD:这些类 Unix 系统同样支持 scp 命令。
- Windows:Windows 不原生支持 scp 命令,但可以通过以下方式使用:
- Windows 10 及更高版本:通过启用 Windows Subsystem for Linux (WSL),可以直接使用 scp。
- PuTTY:Windows 用户可以通过安装 PuTTY 工具包来使用类似功能的命令(如 pscp)来实现安全文件传输。
在 Windows 上使用 scp:
-
通过 WSL 使用 scp:
如果你安装了 WSL,可以在 WSL 的 Linux 环境中直接使用 scp 命令。 -
通过 PuTTY 的 pscp 工具使用:
你可以下载 pscp.exe(PuTTY 提供的 SCP 命令行工具),然后通过命令行进行操作。
例如,将本地文件 file.txt 拷贝到远程服务器:
pscp file.txt username@remote_host:/path/to/remote/directory