返回顶部
首页 > 资讯 > 操作系统 >怎样在Linux系统之间传输文件
  • 103
分享到

怎样在Linux系统之间传输文件

2023-06-28 15:06:20 103人浏览 八月长安
摘要

这篇文章的内容主要围绕怎样在linux系统之间传输文件进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!我第一次觉得Linux的强大是在学习Linux系

这篇文章的内容主要围绕怎样在linux系统之间传输文件进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

我第一次觉得Linux的强大是在学习Linux系统中两台系统进行传输文件,当时瞬间被Linux系统的强大而震撼到,下面一起来看看Linux系统怎样传输文件。

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

  1. 以admin的身份把IP地址为“192.168.219.125”,/home/admin/test目录下所有的东西都拷贝到本机/home/admin/目录下

 scp -r  admin@192.168.219.125:/home/admin/test  /home/admin/
  • 1

怎样在Linux系统之间传输文件

参考


配置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
  • 1

-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"
  • 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
  • 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:passWord@ftp.yourdomain.com /data/ftp

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

感谢你的阅读,相信你对“怎样在Linux系统之间传输文件”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注编程网网站!小编会继续为大家带来更好的文章!

--结束END--

本文标题: 怎样在Linux系统之间传输文件

本文链接: https://lsjlt.com/news/320212.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎样在Linux系统之间传输文件
    这篇文章的内容主要围绕怎样在Linux系统之间传输文件进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!我第一次觉得Linux的强大是在学习Linux系...
    99+
    2023-06-28
  • linux之间怎么传输文件
    在Linux之间传输文件有多种方法,下面列举了几种常用的方法:1. 使用scp命令:scp命令用于在不同的Linux服务器之间进行文...
    99+
    2023-09-17
    linux
  • 两台Linux之间怎么传输文件
    有多种方法可以在两台Linux之间传输文件,以下是其中一些常见的方法: 使用SCP(Secure Copy)命令:SCP命令可以通...
    99+
    2024-03-06
    Linux
  • Linux系统中的文件传输
    目录 一、文件传输 二、文档的归档压缩 总结 实验环境: 需要2台主机并且保证两台主机可以通信 systemctl disable firewalld        设定防火墙开启不启动 systemctl stop firewalld...
    99+
    2023-09-20
    linux 服务器 运维
  • 两台Linux系统该如何怎样进行文件传输
    这篇文章跟大家分析一下“两台Linux系统该如何怎样进行文件传输”。内容详细易懂,对“两台Linux系统该如何怎样进行文件传输”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“两台L...
    99+
    2023-06-28
  • 使用安全复制命令scp在Windows系统和Linux系统之间相互传输文件
    现在已经有很多远程控制服务器的第三方软件平台,比如FinalShell,MobaXterm等,半可视化界面,使用起来非常方便和友好,两个系统之间传输文件直接拖就行,当然也可以使用命令方式在两个系统之间相互传递。 目录 命令方式传输文...
    99+
    2023-08-30
    安全 linux 运维
  • Linux系统的文件传输方法
    1.文件在系统中的传输 1.scp scp file user@ip:/dir #上传 scp user@ip:/file dir #下载 2.rsync 远程同步,速度快,默认会忽略文件属性、链接文件...
    99+
    2022-06-04
    linux 文件传输
  • linux服务器之间跳转、传输文件
    一、通过ssh跳转服务器 示例1 直接连接远程主机端口 前提条件: 两台服务器A、B;当前所在位置:服务器A;SSH服务已安装。 判断: 在服务器A中执行命令 ping B的IP地址 ,在能ping通的前提条件下 进入服务器A后,输入: s...
    99+
    2023-09-24
    服务器 运维
  • linux服务器之间如何传输文件
    在Linux服务器之间传输文件有多种方法,以下是其中一些常用的方法:1. SCP (Secure Copy):使用scp命令可以通过...
    99+
    2023-09-15
    linux 服务器
  • 怎么在Linux系统中使用SFTP方式传输文件
    本篇文章给大家分享的是有关怎么在Linux系统中使用SFTP方式传输文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 在xftp里新建一个连接,注意协议需要选择SFTP,然后...
    99+
    2023-06-13
  • vps之间如何传输文件
    VPS之间可以通过多种方式传输文件,以下是其中几种常见的方法:1. SCP(Secure Copy):SCP是基于SSH协议的一种安...
    99+
    2023-09-08
    vps
  • Windows与Linux之间文件传输的方法图解
    Windows与linux之间文件传输 (1)、使用WinSCP工具,实现将Windows的文件上传到Linux指定目录下     (1)、输入主机名、用户名、密码,选择登录,成功连接至Linux系统     (2)、在...
    99+
    2022-06-04
    windows与linux之间文件传输 linux 文件传输
  • Linux系统之间高效传输的方法是什么
    这篇文章给大家介绍Linux系统之间高效传输的方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。两台Linux服务器之间如何传输文件?难道先从这台服务器下载下来,然后再上传到另外一台服务器上面去吗?当然不是,这个...
    99+
    2023-06-28
  • Linux如何在本地/服务器间传输文件
    现在的很多远程连接工具比如XShell或MobaXterm都有提供上传和下载的功能,除此之外,一些Linux终端的命令比如scp、sftp也可以实现这类功能,并且更为灵活和便捷,不但可以满足本地与服务器之间的传输,也能在两台远程服务器之间相...
    99+
    2023-09-06
    服务器 linux
  • 在Linux服务器和windows系统之间上传与下载文件的方法
    背景:linux服务器文件上传下载。 XShell+Xftp安装包(解压即用)百度网盘链接: https://pan.baidu.com/s/1rT_oXxbIjWgiHy9JHiWakw 提取码: cqrt 方式一、通...
    99+
    2022-06-04
    linux 上传文件 linux 下载文件
  • Linux系统如何使用FTP命令传输文件
    小编给大家分享一下Linux系统如何使用FTP命令传输文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!FTP是 用于进行文件传输得标准协议,允许用户以文件操作得...
    99+
    2023-06-28
  • Oracle工具之--ASM与文件系统及跨网络传输文件
    Oracle工具之--ASM与文件系统及跨网络传输文件  Oracle DBMS_FILE_TRANSFER可以实现文件系统和ASM磁盘组之间实现文件传输及ASM磁盘组之间跨网络的传输。...
    99+
    2024-04-02
  • Linux下怎么传输文件
    今天小编给大家分享一下Linux下怎么传输文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。scp介绍scp是secure ...
    99+
    2023-06-27
  • win8系统蓝牙传输文件怎么用
    这篇文章给大家分享的是有关win8系统蓝牙传输文件怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。按win+r进入运行窗口,输入fsquirt,回车即可。随后出现蓝牙文件传送窗口,根据自身需要进行点击发送文件...
    99+
    2023-06-28
  • 怎么在Ubuntu系统中让文件进行加密传输
    这篇文章主要讲解了“怎么在Ubuntu系统中让文件进行加密传输”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Ubuntu系统中让文件进行加密传输”吧!  本文介绍基于Ubuntu De...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作