两台linux之间传输文件的方法

article/2025/11/10 0:57:43

scp传输


当两台Linux主机之间要互传文件时可使用SCP命令来实现

scp传输速度较慢,但使用ssh通道保证了传输的安全性

复制文件


  • 将本地文件拷贝到远程

scp 文件名 –用户名@计算机IP或者计算机名称:远程路径

  • 从远程将文件拷回本地

scp –用户名@计算机IP或者计算机名称:文件名 本地路径

命令格式

scp local_file remote_username@remote_ip:remote_folder 
或者 
scp local_file remote_username@remote_ip:remote_file 
或者 
scp local_file remote_ip:remote_folder 
或者 
scp local_file remote_ip:remote_file 

第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

复制目录


  • 将本地目录拷贝到远程

scp -r 目录名 用户名@计算机IP或者计算机名称:远程路径

  • 从远程将目录拷回本地

scp -r 用户名@计算机IP或者计算机名称:目录名 本地路径

命令格式

scp -r local_folder remote_username@remote_ip:remote_folder 
或者 
scp -r local_folder remote_ip:remote_folder 

第1个指定了用户名,命令执行后需要再输入密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码;

例子

scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/ 
scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/ 

参数详解


参数描述
-a尽可能将档案状态、权限等资料都照原状予以复制
-r若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地
-f若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制
-v和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误
-C使能压缩选项
-P选择端口 . 注意 -p 已经被 rcp 使用
-4强行使用 IPV4 地址
-6强行使用 IPV6 地址

举例说明


  1. 把计算机名为“v111.nn”下所有的东西都拷贝到本机/home/admin/目录下
scp -r * v111.nn:/home/admin/ 
  1. 以admin的身份把IP地址为“192.168.219.125”,/home/admin/test目录下所有的东西都拷贝到本机/home/admin/目录下
scp -r  admin@192.168.219.125:/home/admin/test  /home/admin/

scp示例

参考


配置scp在Linux或Unix之间传输文件无需密码

Linux之cp/scp命令+scp命令详解

[CentOS 不能使用scp命令 解决方法](http://www.linuxidc.com/Linux/2014-09/106569.htm_

两台Linux主机之间scp复制文件

rsync差异化传输(支持断点续传,数据同步)


rsync -av /backup/ -e ssh root@192.168.1.110:/bak

-a: archive归档模式,表示以递归方式传输文件,并保持所有文件属性,链接等,等于-rlptgoDrsync——remote sync。

rsync是linux系统下的文件同步和数据传输工具,它采用“rsync”算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上。

如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分。rsync可以执行完整备份或增量备份。

它的主要特点有:

  1. 可以镜像保存整个目录树和文件系统;

  2. 可以很容易做到保持原来文件的权限、时间、软硬链接;无须特殊权限即可安装;

  3. 可以增量同步数据,文件传输效率高,因而同步时间短;

  4. 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;

  5. 支持匿名传输,以方便进行网站镜象等;

  6. 加密传输数据,保证了数据的安全性;

Rsync实现文件备份同步详解

Rsync同步两台服务器

CentOS 6.5下Rsync远程同步

Linux下用Rsync进行数据备份和同步配制

Linux使用Rsync客户端与服务端同步目录进行备份

管道传输(降低IO开销)


gzip -c sda.img | ssh root@192.168.1.110 "gunzip -c - > /image/sda.img"

对sda.img使用gzip压缩,-c参数表示输出到stdout,即通过管道传送

gunzip -c - 中的”-“表示接收从管道传进的sdtin

nc传输(一种网络的数据流重定向)


nc所做的就是在两台电脑之间建立tcp或udp链接,并在两个端口之间传输数据流,是一种网络的数据流重定向

使用dd结合nc命令网络克隆磁盘分区

主机:

dd if=/dev/vda | gzip -c | nc -l 50522

待恢复机:

nc 192.168.215.63 50522 | gzip -dc | dd of=/dev/sda

dd命令克隆/dev/vda磁盘,并使用gzip压缩,把数据流重定向到本机50522端口,待恢复机上使用nc连接主机50522端口,就能接收主机50522端口的比特数据流,然后使用gzip解压缩,并恢复到/dev/sda磁盘

dd命令读取的是磁盘扇区,所以不论磁盘文件系统,或者分区表,磁盘MBR信息,dd都能够复制,可以使用bs,count参数控制要克隆的大小

例如dd bs=512 count=1 if=/dev/vda of=mbr.img 只复制磁盘vda的第一个扇区512K字节数据(引导程序和分区表)

通常,可以用scp完成两台主机间的文件传输任务,但在主机间未建立信任关系的情况下,scp每次都需要输入密码,用起来感觉不是很方便,之前这篇笔记介绍过不用输入密码执行脚本或传输文件的方法,但对于一些临时性的任务,准备工作还是比较麻烦。

what is nc ?


nc是netcat的简写,关于nc是什么,man如是说:arbitrary TCP and UDP connections and listens

nc可以方便地实现任意TCP/UDP端口的侦听,连接的建立,端口的扫描,等等。也即,nc既可以作为server以TCP或UDP方式侦听指定端口,也可以作为client发起TCP连接或方式UDP包。下面要介绍的技巧就是借助其TCP连接来实现主机间文件传输的。

nc的控制参数不少,常用的几个参数如下所列:

备注:nc要连接的目的端口可以是具体的整数,也可以直接通过服务名指定,这种情况下,nc会负责将name映射至某个well-known port(可用cat /etc/services查看这些端口跟服务名的映射关系)

参数描述
-l用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接
-p port指定nc要使用的端口。若之前已指定-l,则这里的-p指定具体的侦听端口;若未指定-l,则表示向这个端口发起连接
-s hostname/ip-address指定发送数据的源IP地址,适用于多网卡机器
-u指定nc使用UDP协议,默认为TCP
-v输出交互或出错信息,新手调试时尤为有用

use nc to transmit data between hosts


经过上面对nc的简介,估计不少同学已经知道怎么用nc来实现两台机器间的文件传输了。这里对实现流程做简单说明。

在数据接收方的机器上侦听指定端口


nc -l -p 8210 > demo.txt        # 在本机8210端口侦听TCP连接,将收到的数据写入文本文件
nc -l -p 8210 > demo.tar.bz2    # 在本机8210端口侦听TCP连接,将收到的数据写成压缩文件

在数据发送方机器上向指定地址(ip+port)以TCP方式发送数据


nc dest_ip 8210 < demo.txt      # 向ip为dest_ip的机器的8210端口发送demo.txt文件
nc dest_ip 8210 < $(tar -jcvf demo.tar.bz2 demo.txt) # 压缩后发送

-v打印出错信息


接收方:nc -v -l -p 8210  
发送方:nc -v dest_ip 8210

注意:使用nc传文件时,需注意操作次序,receiver先侦听端口,sender向receiver所在机器的该端口发送数据。否则发送失败。

建立文件服务器


除了上面集中传输文件的方式之外,还可以通过简历文件服务器,然后通过网络挂载的方式传输,这种适用于经常性的拷贝,下面是一个挂载ftp服务器的例子
挂载ftp服务器

yum install curlftpfs
mkdir /data/ftp
curlftpfs username:password@ftp.yourdomain.com /data/ftp

nfs实现文件共享


mount nfs常见出错信息总结

转自:http://blog.csdn.net/gatieme/article/details/51673229



http://chatgpt.dhexx.cn/article/XCDbe0wX.shtml

相关文章

Linux实现两台机器文件互传(SCP命令)

文章目录 SCP命令的注意事项下载文件和目录上传文件和目录 SCP命令的注意事项 scp命令的主要作用是实现Linux与Linux系统之间的文件传输 SCP传输要求&#xff1a; 两台计算机都的操作系统都必须是Linux操作系统SCP命令是基于SSH协议&#xff0c;所以两台服务器的sshd服务必须…

Linux这么在两个服务器直接传文件?

文章目录 概念1.当从一个远程服务器传输文件到另一个服务器上(你想传给别人文件)2.在本地服务器&#xff0c;从另一个服务器中获取文件(你想从别人获取文件)总结 概念 scp是secure copy的简写&#xff0c; 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp 是加密…

快速实现两台Linux系统之间的传输文件

文章目录 前言一、ssh协议介绍1、什么是ssh协议&#xff1f;2、ssh协议使用介绍3、scp指令使用介绍 二、实验步骤1、安装虚拟机&#xff0c;分别安装linux2、开启ssh协议3、查看ip地址4、文件传输 总结 前言 最近开始用linux做实验啦&#xff0c;实现了用ssh协议的两个liunx系统…

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

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

Linux之两个Linux服务器之间互传文件

1.当从一个Linxu服务器传输文件到另一个服务器上 现在有128和129两个文件夹&#xff0c;128服务其中有m文件夹以及其中对应的文件 128服务器 129服务器&#xff08;没有m文件夹及其中文件&#xff09; 把aaa.java文件传输到129的opt目录下 //scp 文件名称 root服务器ip&…

Linux(传输层二继续讲TCP)

文章目录 0. 前言1. 流量控制2. 滑动窗口2-1 基础2-2 重传 3. 拥塞控制4. 延迟应答5. 捎带应答6. 面向字节流7. 粘包问题8. TCP异常情况9. TCP小结10. 基于TCP应用层协议11. TCP/UDP对比 0. 前言 上一章我们主讲了TCP,本章我们继续 链接&#xff1a;https://blog.csdn.net/Din…

Linux(传输层二)

文章目录 0. 前言1. TCP协议1-1 TCP协议段格式1. TCP如何解包&#xff1f;2. TCP协议如何交付&#xff08;应用层- - 客户&#xff09;&#xff1f;3. 如何理解报文本身&#xff1f;4. 如何理解报文字段&#xff1f; 1-2 确认应答(ACK)机制1-3 超时重传机制1-4 连接管理机制1. …

两台linux服务器之间传输文件的几种方法

打开powershell, 开始连接服务器 ssh root192.168.7.204 然后输入密码后就进来了&#xff0c;进入之后找到你要传输文件的位置 接下来我要将这个包传到另一个环境中去&#xff0c;有以下几种方法 scp 示例&#xff1a; 将本地服务器的文件传向另一个服务器 wget 【用法】 wget是…

操作:FTP服务器的搭建

实验目的&#xff1a; 掌握FTP服务器的配置方法、掌握FTP配置基于虚拟用户的服务器搭建方法 实验要求&#xff1a; 以学号和姓名为虚拟用户的FTP服务器搭建实现利用不同虚拟用户登录FTP服务器实现不同用户的权限控制 实验步骤&#xff1a; 一、 搭建一台FTP服务器&#xf…

虚拟机上CentOS 7 架设ftp服务器 最新版系统超详细!!

被这玩意弄的死去活来&#xff0c;搞了这么长时间终于通了。。。看了很多教程感觉说的都不错&#xff0c;但对像我这样的菜鸟还是不够照顾啊。。。还是觉得自己写一篇入门级的更好一些&#xff0c;也希望能方便大家&#xff01; 我们假定此时CentOS刚刚在虚拟机上安装好&#…

办公室服务器安装系统,教你如何架设办公室FTP服务器以Serv-U为例

Scrv-U是Windows平台上最流行的FTP服务器软件&#xff0c;可以从官方网站下载&#xff0c;也可以从其他软件下载网站下载。下面&#xff0c;脚本之家小编就以现在局域网中最流行的FTP服务器软件Serv-U为例&#xff0c;向您讲解一下如何架设FTP服务器。 [1]下载并准备安装Serv-U…

Serv-U 15 架设FTP文件服务器 图文教程

&#xfeff;&#xfeff; 轉自solar的博客:无心阁 solar 转自&#xff1a;http://blog.163.com/zoulei154126/blog/static/4645500220093831019355/ FTP&#xff1a;意思就是&#xff1a;文件传输协议。说白了&#xff0c;就是提供一个服务&#xff0c;让网上的人&#xff…

搭建FTPserver

默认情况下FTP协议使用TCP端口中的 20和21这两个端口&#xff0c;其中20用于传输数据&#xff0c;21用于传输控制信息。但是&#xff0c;是否使用20作为传输数据的端口与FTP使用的传输模式有关&#xff0c;如果采用主动模式&#xff0c;那么数据传输端口就是20&#xff1b;如果…

FTP搭建

FTP FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09; 是 TCP/IP 协议组中的协议之一。FTP 协议包括两个组成部分&#xff0c;其一为 FTP 服务器&#xff0c;其二为 FTP 客户端。其中FTP 服务器用来存储文件&#xff0c;用户可以使用FTP 客户端通过…

基于vsftpd搭建ftp服务器

作者&#xff1a;【吴业亮】 博客&#xff1a;https://wuyeliang.blog.csdn.net/ 1、FTP的传输有两种方式 ASCII传输方式  假定用户正在拷贝的文件包含的简单ASCII码文本&#xff0c;如果在远程机器上运行的不是UNIX&#xff0c;当文件传输时ftp通常会自动地调整文件的内容以…

Linux服务器架设-FTP服务器配置实例

FTP服务器配置 任务背景&#xff1a; 学院准备搭建FTP服务器&#xff0c;对于所有的学生均以真实账号登录&#xff08;学号&#xff1a;0800901&#xff09;&#xff0c;允许下载相关信息及学习资料&#xff0c;禁止上传&#xff0c;但操作目录只限于/students下。所有老师也…

架设FTP Server

第十八章 架 設 FTP Server 索引&#xff1a; 18.1 何謂 FTP 及 FTP 的連線流程 18.1.1FTP 簡介 18.1.2FTP 的連線流程18.2 架設 Pure-ftpd Server 18.2.1查詢套件安裝及檢視套件內容 18.2.2設定 Pure-ftpd Server 18.2.3設定虛擬帳號18.3 架設 vsftpd Server 18.3.1查詢套…

架设ftp,架设ftp的2种方法

架设FTP的服务器方法有很多种&#xff0c;各种软件有免费的有收费的&#xff0c;最基础最根本最万无一失的当然是window操作系统自带的“Internet 信息服务 (IIS)”&#xff0c;当然这个架设FTP服务器对于部署过网页的人来最简单不过的了。 IIS7服务器管理工具可以批量管理、定…

【FTP】FTP服务搭建

基本介绍&#xff1a; FTP是文件传输协议的缩写&#xff0c;基于网络来传输文件的应用层协议。 FTP支持两种模式&#xff1a;Standard&#xff08;PORT方式&#xff0c;主动方式&#xff09;&#xff0c;Passive&#xff08;PASV&#xff0c;被动方式&#xff09;。 Port模式&…

FTP服务器架设

FTP服务器架设详细图解转载文章,网络共享 <script src"http://www.topc.cn/Click_ajax.asp?typejs&SubSysNS&spanidNS_id_click_HB25HJ3I099D1G6" language"JavaScript" type"text/javascript"></script> FTP 是File Tran…