linux scp传输文件

介绍

scp是 secure copy 的缩写,相当于cp命令 + SSH。它的底层是 SSH 协议,默认端口是22,相当于先使用ssh命令登录远程主机,然后再执行拷贝操作。

使用scp传输数据时,文件 和 密码 都是 加密 的,不会泄漏敏感信息。

scp主要用于以下三种复制操作:

  • 本地上传文件到远端。
  • 从远端下载文件到本地。
  • 两个远程之间的文件传输。

更详细的用法参见:
https://github.com/wangdoc/ssh-tutorial/blob/main/docs/scp.md

上传

本地上传文件到远端

上传文件

在终端执行:

scp 本地文件路径 用户名@ip:远端保存目录

然后输入linux登录密码

例子:
scp /Users/mym/Desktop/python/docs-r2.0.zip root@192.168.0.100:/root

将本地的/Users/mym/Desktop/python/docs-r2.0.zip文件上传到ip是192.168.0.1的/root文件夹下

上传文件夹

在终端执行:

scp -r 本地文件夹路径 用户名@ip:远端保存目录

解释:

  • 本地文件路径:可以有通配符*,代表所有文件、文件夹

  • 然后输入linux登录密码

例子
scp -r /program/jdk1.8.0_202 root@hadoop3:/program
scp -r /program/* root@hadoop3:/program

通配符*,代表 /program/ 目录下所有文件、文件夹

常见错误

如果用ssh登录到linux,此时执行scp命令报错,提示SCP No such file or directory

因为当前登录到linux,scp后面的文件路径是mac电脑的,linux服务器当然找不到

下载

下载文件

将远端文件下载到本地,在终端执行:

scp 用户名@ip:远端文件路径 本地保存目录

然后输入linux登录密码

例子
scp root@192.168.0.100:/root/java8.py /Users/mym/Desktop/python/

下载文件夹

将远端文件夹下载到本地,在终端执行:

scp -r 用户名@ip:远端文件路径 本地保存目录

解释:

  • 本地文件路径:可以有通配符*,代表所有文件、文件夹

  • 然后输入linux登录密码

例子
scp -r root@hadoop1:/program/hadoop-3.0.3 /program
scp -r root@hadoop1:/program/* /program

通配符*,代表 /program/ 目录下所有文件、文件夹

两个远程之间的文件传输

在 本机,将 远程电脑A 的文件夹,发送给 远程电脑B

例子

scp -r root@hadoop1:/program/hadoop-3.0.3 root@hadoop3:/program/
scp -r root@hadoop1:/program/* root@hadoop3:/program/

通配符 *,代表 /program/ 目录下所有文件、文件夹


原文出处:/show_1EF59gZHIwTY.html