前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用scp进行linux之间的文件传输

利用scp进行linux之间的文件传输

作者头像
SweetHunter
发布2020-05-09 17:32:35
2.3K0
发布2020-05-09 17:32:35
举报
文章被收录于专栏:FinalBoyFinalBoy

前由

其实是个很有意思的问题,网站数据75G,压缩过后65G,原想着tar打包利用ftp发到另外一个服务器上,再解压。后来发现,服务器只有100G的磁盘,那么解压过程中肯定会把磁盘占满,也不会完全成功解压。所以试试scp命令。

scp命令简介

scp特点是不占资源,系统负荷低。rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。(这句话抄的,因为没用过rsync,不过rsync功能应该比较强大) scp(scure copy,安全拷贝)基于ssh登陆,可以在linux服务器之间上传、下载文件和目录。

scp命令参数

代码语言:javascript
复制
-1,-2  强制使用ssh1或ssh2协议
-4,-6  强制使用ipv4或ipv6寻址
-B     使用批处理模式(传输过程不询问传输口令或短语)
-C     允许压缩
-p     保留原始文件修改、访问时间和访问权限
-q     不显示传输进度条
-r     递归复制整个目录
-v     详细方式显示输出
-c     将数据加密传输
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh (不懂)
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh
-l     限制传输带宽,Kbit/s
-P     指定数据传输用到的端口号 

简单使用

连接途中,会让你输入目标服务器的ssh密码,默认ssh端口为22,如果端口非22,如8888,那么记得加参数 -P 8888。 1.从服务器下载文件

代码语言:javascript
复制
scp username@servername:/path/filename /path/local_destination
例如:scp 192.168.80.9@root:/root/1.txt /root
即将192.168.80.9的root文件夹下的1.txt拷贝到本地服务器的root文件夹下。

2.上传本地文件到服务器

代码语言:javascript
复制
scp /path/local_filename username@servername:/path
例如:scp /root 192.168.80.9@root:/root/1.txt

3.下载或上传文件夹

代码语言:javascript
复制
scp -r username@servername:remote_dir/ /tmp/local_dir
scp -r /tmp/local_dir username@servername:remote_dir
加入-r参数即可

其他,造葫芦画瓢即可。

具体使用

如果传输文件过多或过大(我这种),记得使用screen -S xxx,防止中途 ssh 断掉而导致的传输不成功。 传输ing....

scp.png
scp.png

Last modification:December 19th, 2019 at 03:38 pm

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前由
  • scp命令简介
  • scp命令参数
  • 简单使用
  • 具体使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档