Linux文件传输的五种方式

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

接下来我主要讲scp方法的实践(使用方便快捷,也不需要服务器)

Linux之间传输文件(scp介绍)

这里我使用的是两台各装有Ubuntu 20.04.4 LTS系统的虚拟机的笔记本

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令。

scp优点:

  • 相比于只能在本机进行拷贝的命令cp,scp不仅能远程传输而且传输还是加密的。
  • scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。
  • scp在夸机器复制的时候为了提高数据的安全性,使用了ssh连接和加密方式

scp缺点就是传输速度上会慢一点。

scp安装

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

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

scp命令格式及参数

命令格式: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:10.10.158.214 B:10.10.158.86

[root@localhost tmp]#scp -p ./files/yum.log 10.10.158.86:/tmp/demo/
The authenticity of host '10.10.158.86 (10.10.158.86)' 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 '10.10.158.86' (RSA) to the list of known hosts.
root@10.10.158.86'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 10.10.158.86:/tmp/demo/f3.log /tmp/files/
root@10.10.158.86'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/ 10.10.158.86:/tmp/demo
root@10.10.158.86'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

两台Linux主机之间文件传输的几种方式相关推荐

  1. 两台 Linux 主机之间配置信任关系(以及如何解除)

      主机之间的 ssh 信任,简单地说,就是主机之间使用 ssh 命令登录主机不需要密码.   一.主机之间配置信任关系   将主机 A (47.100.247.242) 作为信任主机,主机 B(10 ...

  2. 两台Linux系统之间传输文件的几种方法

    scp传输 当两台LINUX主机之间要互传文件时可使用SCP命令来实现 scp传输速度较慢,但使用ssh通道保证了传输的安全性 复制文件 将本地文件拷贝到远程 scp 文件名 –用户名@计算机IP或者 ...

  3. 以两台Linux主机在docker中实现mysql主主备份以用nginx实现mysql高可用

    使用nginx反向代理主主备份的两台mysql,连接时连接nginx,当其中一台myql停止后,仍然可以正常使用,如果使用k8s 会简单许多.所谓主主复制就是在主从复制的基础上掉了个头. 请博主买块糖 ...

  4. mac服务器文件传输,scp实现mac与linux服务器之间文件传输

    1.mac上传文件到linux服务器 scp 文件名 用户名@服务器ip:目标路径 如:scp -P端口号 /Users/test/testFile test@xxx.xxx.xxx.xxx:/tes ...

  5. linux删除除非某某文件,find命令查找比某个文件新或...-linux下删除某一时间段的文件-scp命令在两台服务器直接进行文件传输的方法_169IT.COM...

    find命令查找比某个文件新或旧的文件,有需要的朋友可以参考下. 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项. 它的一般形式为: 代码如下: newest_f ...

  6. xftp(windows系统与linux系统之间文件传输)

    1.xftp作用:Xftp支持SFTP(只支持SSH2)和FTP协议,通过可视化界面,可直接在远程主机之间拖放文件,并实时查看进度.也就是我们再windows系统安装好xftp软件之后,可以通过界面操 ...

  7. linux服务器之间文件传输scp

    linux scp Linux scp命令用于Linux之间复制文件和目录. scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令. 语法: sc ...

  8. 如何在同一个局域网内实现简单的两台Linux主机互相连接

    文章目录 二.配置步骤 二.配置步骤 试验前准备: vmware内创建两个虚拟机 两台虚拟机确保连着同一个网络 可以适用于两个朋友之间相互连接虚拟机使用,下面的步骤一样的. 1.首先我们将两台虚拟机的 ...

  9. clockdiff-检测两台linux主机的时间差

    概述 在IP报文的首部和ICMP报文的首部都可以放入时间戳数据,clockdiff程序是使用时间戳来测算目的主机和本地主机的系统时间差. 选项 -o 使用IP时间戳选项来测量系统时间差.时间戳只用3个 ...

最新文章

  1. 未来2年,程序员如何吊打高学历工程师?服气!
  2. python的head函数_python – 是否有一个pandas函数来显示第一个/最后一个n列,如.head().tail()?...
  3. Py之wxPython:利用wxPython设计GUI界面(图片背景+简单按钮)
  4. vue使用npm不会自己加到plugins_Vue-cli项目,打包生产模式,部分用户360浏览器极速模式下奔溃...
  5. 将涡轮增压器添加到JEE Apps
  6. 打开黑色_垃圾桶里的黑色塑料袋,打开一看,倒吸一口气!
  7. wps的计算机在哪里设置密码,wps文件怎么设置和取消密码 wps文件密码设置和取消的步骤方法...
  8. Springboot项目与vue项目整合打包
  9. FPGA时序约束设计经验总结
  10. Adobe全系软件下载安装工具 CCMaker 1.3.6
  11. 模拟电子技术的一点心得(转)
  12. [转]国外英语教学网页
  13. kernel ramdump分析--如何启动crash
  14. 关于Echarts官网httpsecharts.apache.org打不开的解决方案
  15. 第二章 需求分析与需求文档
  16. 移动设备播放局域网内的视频
  17. 联想服务器怎么装系统和配置,联想服务器的配置及操作系统的安装.pdf
  18. Image Translation for Medical Image Generation Ischemic Stroke Lesion Segmentation——论文翻译
  19. idea Dmaven.multiModuleProjectDirectory=$M2_HOME报错!!!
  20. 电商Banner设计背后的12个人性的秘密

热门文章

  1. 西川中学学生管理系统(伪)1.1版本
  2. 计算机的数学发展史论文,数学史毕业论文
  3. Python第六天作业
  4. MacBook设置定时关机
  5. 抗疫得闲●流花湖(2)
  6. 【金融项目】尚融宝项目(一)
  7. nest.js 链接不上数据库 errno 1049
  8. 如何高效利用 Grafana 监控分析 TiDB 指标
  9. 显示手形鼠标,支持IE/FF/Opera
  10. LWN:RIAA, GitHub以及youtube-dl!