2个linux机器怎么传文件

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

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

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

复制文件
将本地文件拷贝到远程
scp 文件名 –用户名@计算机IP或者计算机名称:远程路径

从远程将文件拷回本地
scp –用户名@计算机IP或者计算机名称:文件名 本地路径

命令格式

scp local_file [email protected]_ip:remote_folder
或者
scp local_file [email protected]_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 [email protected]_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
1
2
3
第1个指定了用户名,命令执行后需要再输入密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码;

例子

scp -r /home/space/music/ [email protected]:/home/root/others/
scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/
1
2
参数详解
参数 描述
-a 尽可能将档案状态、权限等资料都照原状予以复制
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误
-C 使能压缩选项
-P 选择端口 . 注意 -p 已经被 rcp 使用
-4 强行使用 IPV4 地址
-6 强行使用 IPV6 地址
举例说明
把计算机名为“v111.nn”下所有的东西都拷贝到本机/home/admin/目录下
scp -r * v111.nn:/home/admin/
1
以admin的身份把IP地址为“192.168.219.125”,/home/admin/test目录下所有的东西都拷贝到本机/home/admin/目录下
scp -r [email protected]:/home/admin/test /home/admin/
1

参考
配置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 [email protected]:/bak
1
-a: archive归档模式,表示以递归方式传输文件,并保持所有文件属性,链接等,等于-rlptgoDrsync——remote sync。

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

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

它的主要特点有:

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

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

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

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

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

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

Rsync实现文件备份同步详解

Rsync同步两台服务器

CentOS 6.5下Rsync远程同步

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

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

管道传输(降低IO开销)
gzip -c sda.img | ssh [email protected] "gunzip -c - > /image/sda.img"
1
对sda.img使用gzip压缩,-c参数表示输出到stdout,即通过管道传送

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

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

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

主机:

dd if=/dev/vda | gzip -c | nc -l 50522
1
待恢复机:

nc 192.168.215.63 50522 | gzip -dc | dd of=/dev/sda
1
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连接,将收到的数据写成压缩文件
1
2
在数据发送方机器上向指定地址(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) # 压缩后发送
1
2
-v打印出错信息
接收方:nc -v -l -p 8210
发送方:nc -v dest_ip 8210
1
2
注意:使用nc传文件时,需注意操作次序,receiver先侦听端口,sender向receiver所在机器的该端口发送数据。否则发送失败。

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

yum install curlftpfs
mkdir /data/ftp
curlftpfs username:[email protected] /data/ftp
1
2
3
nfs实现文件共享
---------------------

原文:https://blog.csdn.net/gatieme/article/details/51673229

原文地址:https://www.cnblogs.com/gered/p/11136886.html

时间: 2024-08-28 19:02:35

2个linux机器怎么传文件的相关文章

使用Samba服务器由win平台向linux平台上传文件

1.配置yum [[email protected] /]# cd /etc/yum.repos.d/ [[email protected] yum.repos.d]# vi yum.repo --修改光盘挂载位置,enabled设置为启动 配置yum参考链接:yum配置举例 2.构建samba服务器 [[email protected] /]# yum install -y samba-* --使用yum安装samba服务器 [[email protected] /]# service smb

linux scp上传文件到其他机器上

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来.另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了.虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用. 1.命

window下批处理操作:从Linux机器下拷贝文件

文件名称:test.bat set THIS_BAT_PATH=%~dp0 cd %THIS_BAT_PATH% rd /s /q %SDV_LLT_PATH% & md %SDV_LLT_PATH% 当前文件所在的路径:THIS_BAT_PATH=%~dp0 cd %THIS_BAT_PATH%进入到当前文件所在路径 删除该文件,并新建该文件:rd md call plink.exe -ssh -pw  password [email protected] cd /home/test;rm t

Linux 三周第一次课(4月2日)Linux,windows 互传文件 用户配置文件密码 组管理

三周第一次课(4月2日) 2.27linux和windows互传文件3.1 用户配置文件和密码配置文件3.2 用户组管理3.3 用户管理 Linux和windows文件互传 我通常使用的是ftp或者是其他文件管理方式 这里介绍一个办法,但是只能在xshell下使用, 安装 lrzsz工具包 安装好了之后就可以使用sz命令 +要传输的文件 如果是想从windows往linux传就可以使用 rz命令 overall 总结 可以使用xshell securecrt 不能使用putty 安装lrzsz工

linux rz上传文件及出错解决方案

在把Windows上的文件传至Linux端时用到SecureCRT,一般小文件都没有问题,文件太大时则出现了上传后的文件只有几K大小,当然大于2个G的是不可能传的上去的了.对于几百M到1G多的大文件要如下处理. 单独用rz会有两个问题:上传中断.上传文件变化(md5不同), 解决办法是上传是用 rz -be ,并且去掉弹出的对话框中"Upload files as ASCII"前的勾选. -a, –ascii -b, –binary 用binary的方式上传下载,不解释字符为ascii

不同Linux机器之间拷贝文件

不同的Linux之间copy文件常用有3种方法: 第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy. 第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便. 第三种就是利用scp命令来进行文件复制. scp是有Security的文件copy,基于ssh登录.操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令. scp /home/daisy/f

Linux系统上传文件与下载文件命令

我们用的服务器都是Linux系统的,如果用的是远程服务器,就需要将我们的代码推送过去,这里可以用到PSCP命令. (一)上传 pscp 本机文件的路径以及文件名 远程主机的用户名@远程主机IP:想要存放的目录 然后输入远程主机的用户密码 ok 文件已经上传到目标机器的指定目录下了 (二)下载 pscp 远程主机用户名@远程主机IP:远程主机文件所在的目录即文件名 本机存放文件的路径 然后输入远程主机的用户密码.ok! 其他 ------------------------------------

linux系统中上传文件与下载文件的方式

方式一:FileZilla 使用FileZilla第三方工具 绿色版直接打开exe文件即可 主机:连接的linux服务器的IP地址 用户名:登录的用户名 密码:登录密码 端口:默认使用22 左边是自己的Windows系统的文件目录,右边是远程linux的文件目录 需要传输文件直接拖拽即可,也可以创建目录 方式二:lrzsz lrzsz也是一个文件传输工具,本身linux没有安装 yum安装 yum install lrzsz -y 手动安装 1.下载安装包,wget https://ohse.d

windows和linux虚拟机互传文件

Windows向Linux虚拟机传入文件: 下载,安装一个xshell远程软件,或其他ssh软件也行.连接上linux服务器.(例如:SecureCRT) 输入命令检查rz命令:rpm -qa |grep rz (如果没有rz命令安装:yum -install rz) 输入rz就可以上传Windows里的文件了 Linux虚拟机向windows传入文件: 下载,安装一个xshell远程软件,或其他ssh软件也行.连接上linux服务器.(例如:SecureCRT) 输入命令检查sz命令:rpm