说明
有时候,我们希望把文件,从一台服务器拷贝到另一台服务器。
scp 提供了这种能力。
远程到本地
复制文件夹
scp -r user@remote_host:/path/to/remote/directory /path/to/local/directory
复制文件
scp user@remote_host:/path/to/remote/directory/file /path/to/local/directory/file
本地到远程
文件夹
scp -r /home/localuser/data user@remote.server.com:/home/user/data
文件
scp -r /home/localuser/data/file user@remote.server.com:/home/user/data/file
chat
介绍一下 scp
使用 scp
命令可以方便地将远程服务器上的文件夹复制到本地。
scp
支持递归复制目录,使用 -r
选项可以实现这一点。以下是将远程文件夹复制到本地的步骤:
语法
scp -r user@remote_host:/path/to/remote/directory /path/to/local/directory
示例操作
假设你想将远程服务器 remote.server.com
上的 /home/user/data
目录复制到本地的 /home/localuser/data
目录:
- 打开终端。
-
输入以下命令:
scp -r user@remote.server.com:/home/user/data /home/localuser/data
详细步骤
-
打开终端。
-
运行
scp
命令:scp -r user@remote.server.com:/home/user/data /home/localuser/data
其中:
user
是远程服务器上的用户名。remote.server.com
是远程服务器的主机名或 IP 地址。/home/user/data
是远程服务器上要复制的目录。/home/localuser/data
是本地计算机上的目标目录路径。
注意事项
- 目标目录:确保本地目标目录存在。如果目标目录不存在,
scp
将创建一个新的目录。 - 权限:确保你有权限访问远程服务器上的文件夹以及在本地写入目标目录。
- SSH 密钥:如果你使用 SSH 密钥进行认证,确保密钥已经正确配置。
进阶用法
如果你需要通过指定端口连接,可以使用 -P
选项。例如,如果远程服务器的 SSH 服务在端口 2222
上:
scp -P 2222 -r user@remote.server.com:/home/user/data /home/localuser/data
如果你需要将本地目录复制到远程服务器上,可以交换源路径和目标路径的位置:
scp -r /home/localuser/data user@remote.server.com:/home/user/data