本文记录linux系统中文件传输的多种方式,留作备忘。linux中文件传输的方式有ftp,scp,rsync,rz,sz等,但各个工具的功能又有所区别;

  • FTP : FTP是文件服务器,可实现文件的上传下载,存储等功能,但本文不打算介绍ftp的使用。
  • scp: scp能够将不同主机的文件进行相互传输,使用简单方便。
  • rz : 用于linux与windows之间的文件上传
  • sz : 用于linux与windows之间的文件下载
  • rsync : rsync是文件同步工具,结合inotify可以实现文件的同步,备份功能。
  • scp介绍

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。scp在夸机器复制的时候为了提高数据的安全性,使用了ssh连接和加密方式,如果机器之间配置了ssh免密码登录,那在使用scp的时候密码都不用输入。

  scp的安装:文件传输的两端机器都需要安装

[root@yufu ~]# yum install openssh-clients -y

命令格式:scp  [参数]  [本地主机文件路径]  [远程主机路径]

  参数选项:

-1  强制scp命令使用协议ssh1  -2  强制scp命令使用协议ssh2  -4  强制scp命令只使用IPv4寻址  -6  强制scp命令只使用IPv6寻址  -B  使用批处理模式(传输过程中不询问传输口令或短语)  -C  允许压缩。(将-C标志传递给ssh,从而打开压缩功能)  -p 保留原文件的修改时间,访问时间和访问权限。  (建议使用,传输时保留属性时间信息,否则会导致时间发生改变无法进行增量传输)-q  不显示传输进度条。  (很适合crontab任务计划中使用)-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的使用:将本地A主机文件复制到B主机: A:192.168.214.190    B:192.168.214.187

[root@localhost tmp]#scp -p ./files/yum.log 192.168.214.187:/tmp/demo/
The authenticity of host '192.168.214.187 (192.168.214.187)' can't be established.
RSA key fingerprint is SHA256:BwJdXsDA6F5976fKx1cSxkGJ9/uYYI4zVJ2rd+/Cvj0.
RSA key fingerprint is MD5:85:87:8b:17:d2:79:c7:91:11:46:78:b3:4d:9d:dd:5a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.214.187' (RSA) to the list of known hosts.
root@192.168.214.187's password:
yum.log                                                    100%    0     0.0KB/s   00:00

检查B主机文件:

[root@yufu demo]# ls
f3.log  yum.log
[root@yufu demo]# ll
总用量 0
-rw-r--r--. 1 root root 0 3月  31 22:38 f3.log
-rw-------. 1 root root 0 3月  31 22:36 yum.log

将远程主机复制到本地

[root@localhost files]#scp -p 192.168.214.187:/tmp/demo/f3.log /tmp/files/
root@192.168.214.187's password:
f3.log                                                     100%    0     0.0KB/s   00:00
[root@localhost files]#ls
f3.log  ff.txt  yum.log

复制目录

[root@localhost tmp]#scp -rp ./files/ 192.168.214.187:/tmp/demo
root@192.168.214.187's password:
f3.log                                                     100%    0     0.0KB/s   00:00
yum.log                                                    100%    0     0.0KB/s   00:00
ff.txt                                                     100%    5     7.3KB/s   00:00
[root@localhost tmp]#

检查远程主机目录

[root@yufu demo]# tree
.
└── files├── app├── f3.log├── ff.txt└── yum.log2 directories, 3 files
  • rz  sz (lrzsz)

rz  sz指令可以实现linux和windows之间的文件传输,但要求在windows客户端要安装Xshell或SecureCRT远程连接工具。

rz指令和sz指令是一对上传与下载的指令。它们的软件包名为lrzsz。

  rz  sz指令使用很简单,执行rz 指令,远程连接工具会弹出windows文件选择窗口,只要选择要上传的文件即可

  工具的安装: 

  $ yum install lrzsz -y

文件上传: 

 

  文件下载:

  • rsync

rsync是可以实现增量备份的工具。配合任务计划,rsync能实现定时或间隔同步,配合inotify或sersync,可以实现触发式的实时同步。rsync可以实现scp的远程拷贝,cp的本地拷贝、rm删除和"ls -l"显示文件列表等功能。关于rsync的使用将单独写文章学习介绍。

Linux 几种文件传输方式相关推荐

  1. 如何将数据从旧电脑传输到新电脑,哪种文件传输方式更好

    迁移到新的Windows 10 电脑是一个令人兴奋的时刻,尤其是如果您有幸从我们现在可用的最佳Windows笔记本电脑列表中选择一个选项.问题是您熟悉的文件位于旧电脑上,并且您不想重新开始.为了简化电 ...

  2. 详细介绍!Linux 上几种常用的文件传输方式

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 责编:乐乐 来源:https://dwz.cn/VWIHhsOw 昨天发布一篇Linux文章( ...

  3. Linux下几种文件传输命令 sz rz sftp scp

    vbs自动启动程序 64位系统编译的程序,在32位系统中运行会有问题 Linux下几种文件传输命令 sz rz sftp scp 2011-10-28 16:08:47|  分类: 默认分类 |  标 ...

  4. 企业中常用的几种文件传输方法介绍

    Linux上的文件传输常用方式介绍与比较 1.scp scp命令能实现在网络上的主机之间的文件拷贝,它是安全拷贝(secure copy)的缩写.scp命令使用ssh来传输数据,并使用于ssh相同的认 ...

  5. 012-Java有几种文件拷贝方式?哪一种最高效?

    我在专栏上一讲提到,NIO 不止是多路复用,NIO 2 也不只是异步 IO,今天我们来看看 Java IO 体系中,其他不可忽略的部分. 今天我要问你的问题是,Java 有几种文件拷贝方式?哪一种最高 ...

  6. linux做完sftp端口分离后ftp,Linux 中实现文件传输服务(FTP、SFTP)

    ????本文将介绍如何在Linux中实现文件传输,这里主要使用FTP.SFTP. ????FTP ????废话少说,直接进入正题,需要注意,FTP采用Client/Server架构,并且有两个信道(控 ...

  7. Windows 与 Linux之间进行文件传输,文件传输工具Cuteftp的使用方法。

    文件传输工具Cuteftp的使用方法 Cuteftp是一款FTP客户端软件,只要在linux上安装.启动了FTP服务,就可以使用Cuteftp在Windows 与 Linux之间进行文件传输. 一.  ...

  8. Java有几种文件拷贝方式?哪一种最高效?

    第12讲 | Java有几种文件拷贝方式?哪一种最高效? 我在专栏上一讲提到,NIO 不止是多路复用,NIO 2 也不只是异步 IO,今天我们来看看 Java IO 体系中,其他不可忽略的部分. 今天 ...

  9. linux跳转乌班图服务器,Ubuntu18.04连接Linux服务器与文件传输

    1.前言 最近新安装了Ubuntu18.04,需要连接Linux的服务器.之前一直使用的是Win10操作系统,有专门的连接服务器的软件,可以很方便的连接服务器和传输文件.现在,在Ubuntu上完全不知 ...

最新文章

  1. 机器学习博士在获得学位之前需要掌握的九种工具!
  2. 专访英特尔戴金权 | AI和大数据正在这样重塑英特尔
  3. 概率整形在比特度量判决(BMD)下的可达速率计算
  4. java 同步锁_Java多线程:synchronized同步锁的使用和实现原理
  5. java 多站点_Java 并发编程整体介绍 | 内含超多干货
  6. hdu 4421(枚举+2-sat)
  7. Android多媒体框架图
  8. 单片机流水灯源代码+仿真
  9. 野火stm32f103的mcuisp设置与一键ISP下载原理分析总结
  10. PopWindow的简单使用
  11. SpringBoot+Vue实现前后端分离的旅游推荐网站
  12. SPF算法简单解析过程
  13. 微信开发 ━━ 微信商户更名后付款时仍旧为最初的简称,如何修改微信支付的店铺名称
  14. passenger安装nginx
  15. 鲲鹏芯片的服务器,鲲鹏处理器及服务器介绍.pdf
  16. 计算机社团动员大会发言稿,计算机科学与技术学院召开“2020年双创实践线上动员大会”...
  17. matlab零状态响应幅度频谱,matlab零状态、零输入响应
  18. 快讯:预装Ubuntu 11.10小电脑南非开卖
  19. Vlan间通信原理(HCIA)
  20. Android 绘制圆形进度条

热门文章

  1. apache phoenix 入门_简洁的 phoenix 安装使用
  2. Phoenix查询hbase
  3. 酷家乐对电脑配置有要求?
  4. 直播技术:如何实现1080P延迟低于500ms的实时超清直播传输技术
  5. 【Linux命令】pushd、popd 实现目录快速跳回(优于cd -)
  6. python排序返回下标
  7. sim卡没坏但苹果手机无服务_苹果手机如何取消订阅服务
  8. Java 面试知识点【精华背诵版】
  9. 餐饮行业软文怎么写吸引人?怎么打动人心
  10. Android单目手势识别,单目手势识别及其在安卓平台的应用研究