Skip to content

scp 命令拷贝本地文件到远程服务器

一、需求描述

如何使用scp命令把本地目录./public/download/目录上传到远程服务器的 /home/ffffee.com/public/download目录。

远程服务器用户名和 ip 地址为: user_name@your_server_ip

二、scp 命令怎么写?

可以使用以下 scp 命令将本地目录 ./public/download/ 上传到远程服务器的 /home/ffffee.com/public/download 目录:

bash
scp -r ./public/download/ user_name@your_server_ip:/home/ffffee.com/public/

解释:

  • -r:递归复制整个目录。
  • ./public/download/:本地要上传的目录。
  • user_name@your_server_ip:/home/ffffee.com/public/:远程服务器的目标目录,注意末尾的 / 确保 download 目录会被上传到目标路径中。

运行这条命令后,本地的 ./public/download/ 目录及其内容会被复制到远程服务器的 /home/ffffee.com/public/ 目录下。

三、scp 命令是什么?

scp(Secure Copy Protocol)是一种基于 SSH(Secure Shell)的文件传输命令,用于在本地和远程主机之间安全地复制文件或目录。scp 命令会通过加密连接传输数据,确保在传输过程中数据的安全性。

scp 命令的基本格式如下:

bash
scp [选项] source destination
  • source:要复制的源文件或目录的路径,可以是本地路径,也可以是远程路径。
  • destination:要复制的目标路径,可以是本地路径,也可以是远程路径。

常见选项包括:

  • -r:递归复制整个目录及其内容。
  • -P:指定远程服务器的端口号(默认是 22)。
  • -i:指定 SSH 私钥文件,如果需要通过私钥认证。
  • -v:显示详细的传输过程信息,用于调试。

例如,命令 scp -r ./public/download/ user_name@your_server_ip:/home/ffffee.com/public/ 的具体含义是:

  • -r:递归复制 ./public/download/ 目录中的所有内容。
  • ./public/download/:本地的源目录。
  • user_name@your_server_ip:/home/ffffee.com/public/:远程服务器的目标目录,user_name@your_server_ip 指定了远程服务器的用户名和主机名(或 IP 地址),:/home/ffffee.com/public/ 是在远程服务器上的目标路径。

在执行该命令后,本地目录及其内容将被安全地传输到远程服务器指定的目录下。