电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
Linux scp命令&自动上传文件到ftp服务器
分 享
扫描二维码分享
Linux scp命令&自动上传文件到ftp服务器
scp
linux
一口Linux
关注
发布时间: 2021-03-30
丨
阅读: 899
# 概念 scp是secure copy的简写, 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。 因为scp传输是加密的,可能会稍微影响一下速度。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。 # 语法 ```bash scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 [...] [[user@]host2:]file2 ``` 简易写法: ```bash scp [可选参数] file_source file_target ``` ## 参数说明: ```bash -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)的选项。 ``` # 命令实例 ## 预置条件: 本例在vmware打开了两个ubuntu。 ubuntu A 地址:192.168.6.186,并开启了ssh服务器 ubuntu B 地址:192.168.6.111 **安装ssh命令如下:** ```bash apt-get install openssh-server ``` ssh详细安装步骤可以参考博文:[《Ubuntu18.04搭建ssh服务器》](https://blog.csdn.net/daocaokafei/article/details/108261429) **开启ssh服务器指令【ubuntu 192.168.6.186】:** ```bash /etc/init.d/ssh restart ``` 执行结果如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200827163317235.png#pic_center) ## 例1 下载文件 把192.168.6.186服务器的t.log拷贝到当前服务器的当前目录下; ```bash scp -r root@192.168.6.186:/home/peng/test/t.log ./ ``` 执行结果如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200827165503293.png#pic_center) ## 例2 上传文件 ```bash scp icons.png root@192.168.1.1:/root/下载 #本机文件,copy远程服务器 ``` **执行结果:** ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020082716595015.png#pic_center) ## 例3 下载目录 1. 以root用户登录ubuntu A的ssh服务器,并将文件夹copy到本地 ```bash scp -r root@192.168.6.186:/home/peng/driver/list /home/peng/test ``` 执行结果【ubuntu 192.168.6.111】: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200827161642850.png#pic_center) ## 例4 上传目录 将本地文件copy到服务器,添填写用户,默认当前用户 ```bash scp /home/peng/test/t.log 192.168.6.186:/home/peng/test ``` 执行结果【ubuntu 192.168.6.111】: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200827162835713.png#pic_center) 看到错误提示:Permission denied,这个错误是因为服务器A的文件夹/home/peng/test没有修改权限。 进入ubuntu A ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200827163058213.png) 再次执行命令 【ubuntu 192.168.6.111】: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200827162854920.png#pic_center) 【ubuntu 192.168.6.186】 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200827163214171.png) ## 例5 指定端口 使用指定端口从本地拷到远程服务器 ```bash scp -P 20022 -r /home/peng/test/list root@192.168.6.186:/home/peng/test ``` ## 例6 使用证书 使用证书登录,并递归的将远程目录下载到本地,同时指定了所需要的端口号。 ```bash scp -r -i /Users/test/wx_Document/private.crt -P 2323 root@192.168.6.186:/data/htdocs/www/logs /Users/local ```
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
0
)
一口Linux
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交