【Linux】 scp上传或下载文件以及文件夹

背景

scp即secure copy,用于远程拷贝linux服务器的文件以及目录。

scp基于ssh登陆进行安全的远程cp,即scp是传输加密的。

scp基本不影响系统正常使用,推荐日常使用!
windows10目前自带了scp工具,可以直接使用。

[root@localhost .Image]# scp --help
unknown option -- -
usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[user@]host1:]file1 ... [[user@]host2:]file2
[root@localhost .Image]# 

关于scp参数的解释:
-1 强制scp命令使用协议ssh1;
-2 强制scp命令使用协议ssh2;
-4 强制scp命令只使用IPv4寻址;
-6 强制scp命令只使用IPv6寻址;
-B 使用批处理模式(传输过程中不询问传输口令或短语);
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能);
-p 保留原文件的修改时间,访问时间和访问权限;
-q 不显示传输进度条;
-r 递归复制整个目录;
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

从服务器下载文件

命令格式如下:

scp username@servername:/path/filename /tmp/local_destination

示例:

scp root@172.36.6.32:/home/Package/cuda10.2_cudnn7.tar  /home/docker_share/

说明:
即将远程服务器(172.36.6.32)下的/home/Package/cuda10.2_cudnn7.tar文件下载到本地的 /home/docker_share/目录下。
下载完成后/home/docker_share/目录新增cuda10.2_cudnn7.tar文件。

从服务器下载文件夹

新增-r参数,递归复制整个目录,命令格式如下:

scp -r username@servername:remote_dir/ /tmp/local_dir

示例:

scp root@172.36.6.32:/home/Package/  /home/docker_share/

说明:
即将远程服务器(172.36.6.32)下的/home/下的Package文件夹下载到本地的 /home/docker_share/目录下。
下载完成后/home/docker_share/目录新增Package文件夹。
注意:这里文件夹是目录概念而不仅仅是一个文件夹名称。

上传本地文件到服务器

命令格式:

scp /path/local_filename username@servername:/path

示例:

scp /home/docker_share/cuda10.2_cudnn7.tar root@172.36.6.32:/home/Package/

说明:
即将本地/home/docker_share/目录下的cuda10.2_cudnn7.tar文件上传到远程服务器(172.36.6.32)下的/home/下的Package文件夹下。
上传完成后/home/Package//目录新增cuda10.2_cudnn7.tar文件。

上传本地文件夹到服务器

新增-r参数,递归复制整个目录,命令格式如下:

scp -r /tmp/local_dir username@servername:remote_dir

示例:

scp -r /home/docker_share  root@172.36.6.32:/home/Package/

说明:
即将本地/home/docker_share文件夹上传到远程服务器(172.36.6.32)下的/home/下的Package文件夹下。
上传完成后/home/Package//目录新增docker_share文件夹。
注意:这里文件夹是目录概念而不仅仅是一个文件夹名称。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jn10010537

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值