Linux系统中的文件传输

  • 1 实验环境
  • 2 scp命令
  • 3 rsync命令
    • 3.1 rsync和scp命令对比
    • 3.2 rsync命令用法
  • 4 文件的归档压缩
    • 4.1 文件归档
    • 4.2 文件压缩
    • 4.3 tar+压缩

1 实验环境

可以相互通信的真实主机和虚拟机,真实主机作为客户端,虚拟机作为服务端,使用“systemctl disable – now firewalld”或“systemctl stop firewalld”命令关闭虚拟机的防火墙。

2 scp命令

  • scp是secure copy的缩写,该命令可以实现远程文件传输
  • 上传:scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径
  • 下载:scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 真机路径

1)在客户端建立文件:

将建立好的文件上传至服务器:

将服务器端的图片下载到客户端的当前位置:

2)将目录上传至服务器,-r 表示复制目录,若目录中有文件,也会将文件传输过去:

在服务器端查看:

将目录及目录下的20个文件上传到服务器:

将目录及目录下的文件上传到服务器,-q表示上传文件时不显示进度:

在服务器端查看,上传成功:

3 rsync命令

rsync是增量备份 ,即只备份没有备份过的,之前备份过的不再备份;而scp是完全备份,即原来服务器不管有没有备份过的东西,都备份上,没有增量的对比。

3.1 rsync和scp命令对比

1)生成密钥,实现免密登陆
2)创建一个较大的文件,下图所示的命令表示从/dev/zero文件中,截取一块放到bigfile文件里,所截取的一块大小是1M,共截取一千块。截取完成后,可以用 du -sh bigfile 命令查看文件大小:

3)测试scp命令上传文件所需要的时间,方便起见,可以创建一个脚本,里面写入要执行的命令:

vim test.sh脚本中写入的内容,time后面可以加命令,查看该命令执行时消耗的时间:

运行该脚本文件,其中real表示实际消耗时间,user表示用户检测消耗的时间(授权检测),sys表示系统消耗时间。根据下图所示结果来看,每次执行该命令所消耗的时间几乎一致,这是因为每次执行scp命令都是需要做完全备份的:

4)修改脚本文件,测试rsync命令:

test.sh文件中的命令修改如下:

可以看到第一次备份的时间和scp命令时间几乎一致,但后面两次,只作增量备份,所消耗的时间远远小与第一次:

3.2 rsync命令用法

  • 上传:rsync 文件 远程用户@远程主机ip:远程主机目录
  • 下载:rsync 远程用户@远程主机ip:远程主机目录 文件路径
参数 含义
-r 复制目录
-l 复制链接
-p 复制权限
-t 复制时间戳
-o 复制拥有者
-g 复制拥有组
-D 复制设备文件(/dev/pts/目录下的设备文件)

1)在客户端建立实验素材,其中“ln -s /home/lhyqjw/westosdir/file1 westosdir/test”命令表示将/home/lhyqjw/westosdir/file1文件链接到westosdir/test里:

在服务端建立一个监控:

2)复制上传目录,复制时,目录后面加‘/’和不加是有区别的,不加代表将目录和文件一起复制,链接会被忽略;加上‘/’表示只上传目录里面的内容,目录本身不会被传输过去,链接也被忽略。当不想忽略链接时,加-l参数:

服务器端监控,复制了目录本身及目录中的内容:

目录后面加上‘/’:

查看服务器端监控,只包含文件,不包含目录本身:


3)复制链接:

查看服务器端监控:

4)将这些文件全都设置成满权限,但是复制过来后,权限不变,所以加上p参数复制权限。
设置文件权限:

查看客户端权限:

将改变权限后的文件上传到服务器端:

服务器端的文件权限依旧没有改变:

添加-p参数:

服务器端权限上传成功:

5)上传文件的同时,复制用户和用户组:

查看服务器端监控:

6)上传文件的同时,复制时间:

查看服务器端监控:

7)复制设备文件

查看服务器端监控:

4 文件的归档压缩

4.1 文件归档

  • 将目录打包成文件传输,提升传输效率
  • tar命令参数及含义
参数 含义
c 创建
f 指定文件名称
x 解档
v 显示打包过程
t 查看
r 向归档文件中添加文件
- -get 解档指定文件
- -delete 删除指定文件
-C 指定解档路径
-P don’t remove “/”,默认会删除‘/’,加P参数之后保留

1)打包文件同时指定文件名称:

2)查看打包文档:

3)解档:

4)tar其他命令操作:

命令 含义
tar cf etc.tar /etc/ etc.tar是打包后的文件名,/etc是打包的内容
tar tf etc.tar 查看打包的内容
tar rf etc.tar westosfile 向归档文件中添加文件。在归档后的目录下建立了一个文件,使用查看打包内容查看后,新建文件不再里面,可以使用该命令进行添加,之后再查看,该文件在该打包内容中
tar xf etc.tar 对打包好的文件解压
tar f etc.tar - -get westosfile 解档指定文件,将该文件单独拿出来
tar f etc.tar --delete westosfile 将归档包里面的文件删除
tar xf etc.tar -C /root/Desktop 解档时,指定解档路径

4.2 文件压缩

  • zip格式压缩及解压
命令 含义
zip -r mnt.tar.zip mnt.tar zip格式压缩,将mnt.tar归档好的文件,进行压缩
unzip mnt.tar.zip zip格式解压缩 ,注意解压的时候,要把原文件删除,原文件在解压出来汇报错
  • gzip格式压缩及解压
命令 含义
gzip mnt.tar gzip格式压缩
gunzip mnt.tar.gz gzip格式解压缩
  • bzip2格式压缩及解压
命令 含义
bzip2 mnt.tar bzip2格式压缩
bunzip2 etc.tar.bz2 bzip2格式解压缩
  • xz格式压缩及解压
命令 含义
xz mnt.tar xz格式压缩
unxz mnt.tar.xz xz格式解压缩

1)du -sh lhy.tar表示查看文件大小,zip压缩和解压缩:

2)gzip压缩和解压缩:

3)bzip2压缩和解压缩:

4)xz压缩和解压缩:

注意:压缩是对已经归档好的文件进行压缩及解压

4.3 tar+压缩

  • gzip格式打包+压缩及解压
命令 含义
tar zcf etc.tar.gz /etc gzip打包+压缩
tar zxf etc.tar.gz gzip解压
  • bzip2格式打包+压缩及解压
命令 含义
tar jcf etc.tar.bz2 /etc bzip2打包+压缩
tar jxf etc.tar.bz2 bzip2解压
  • xz格式打包+压缩及解压
命令 含义
tar Jcf etc.tar.xz /etc xz打包+压缩
tar Jxf etc.tar.xz xz解压


注意:这是实现打包及压缩一起进行的方式,不用先打包再压缩,节约时间且易用

linux系统中的文件传输相关推荐

  1. linux系统中加密文件传输助手,Linux 下的安卓文件传输助手!

    如果你尝试在 Ubuntu 下连接你的安卓手机,你也许可以试试 Linux 下的安卓文件传输助手.本质上来说,这个应用是谷歌 macOS 版本的一个克隆.它是用 Qt 编写的,用户界面非常简洁,使得你 ...

  2. Linux系统中的文件传输(scp命令,rsync命令)

    实验环境 需要2台主机并且保证这两台主机是可以通信的 linux_westos  : 172.25.254.10 westos_lue :  172.25.254.20 systemctl disab ...

  3. Linux系统中的文件传输(scp和rsync命令的使用)

    一.实验环境 两台可以通信的主机 rhel7: 192.168.1.20 rhel8: 192.168.1.10 二.scp命令 scp 本地文件 远程主机用户@远程主机ip:远程主机目录 scp 远 ...

  4. 运维大法之Linux系统中的文件传输

    1.scp和rsync命令 实验环境 需要2台主机并且保证这两台主机是可以通信的 ①localhost.localdomain 172.25.254.10 ②node.westos.com 172.2 ...

  5. Linux系统中的文件传输优化

    目录 一.实验环境 二.scp 命令 1.在rhel7中建立实验素材 2.测试 三.rsync命令 四.scp与 rsync的比较 五. 文件的归档与压缩 1.文件归档 2.文件的压缩 3.tar+压 ...

  6. Android 系统(68)---使用Xshell在Windows系统和Linux系统之间进行文件传输

    使用Xshell在Windows系统和Linux系统之间进行文件传输 Windows系统在安装虚拟机centos系统之后,如何进行两者之间的文件传输和互操作,或者如何在Windows端使用Xshell ...

  7. 将windows系统主机上的文件拷贝到Linux系统中;将Linux系统中的文件粘贴到Windows主机中

    本篇文章主要实现将windows主机上的文件复制到Linux服务器上,这里为了方便演示,我举例放在C盘中的一个test101.py文件,现在我要将它放在Linux系统的home下的shao目录下. 首 ...

  8. android程序移动到Linux,Android应用开发之Android 系统 -- 使用Xshell在Windows系统和Linux系统之间进行文件传输...

    本文将带你了解Android应用开发之Android 系统 -- 使用Xshell在Windows系统和Linux系统之间进行文件传输,希望本文对大家学Android有所帮助. 使用Xshell在Wi ...

  9. linux系统中清空文件内容的三种方法

    1.使用vi/vim命令打开文件后,输入"%d"清空,后保存即可.但当文件内容较大时,处理较慢,命令如下: vim file_name :%d :wq 2.使用cat命令情况,命令 ...

最新文章

  1. ceres实现的pnp解算后的位姿优化代码详解
  2. 源数据文件(.csv)中的空格串和空串对pandas读取结果的影响
  3. 文明,在于传承,而不在于遗忘。
  4. JS跨域访问(ajax跨域)
  5. RAC的搭建(一)--安装环境准备
  6. SAP成都研究院小伙伴们开发的一个SAP C4C POC - 通过名片扫描的方式录入联系人数据到系统
  7. IntelliJ IDEA打开错误 _CGContextSetAllowsAcceleration
  8. HDMI中的视频时序分析
  9. 关于STM32F407和103的主频
  10. 特征锦囊:特征无量纲化的常见操作方法
  11. 入门图形学:雪地特效(一)
  12. python恶搞代码打开对方摄像头_Python 3 利用 Dlib 实现摄像头实时人脸检测和平铺显示...
  13. 阿里巴巴编程规范(new)
  14. 回想那些年我抛弃的技术 (纯属个人看法)
  15. Auto.js视频笔记
  16. 尚硅谷 JavaScript 笔记(张晓飞 2019 高级版)
  17. latex的图的排列方法_latex两幅图上下排列
  18. RT-Thread记录(十二、I/O 设备模型之UART设备 — 使用测试)
  19. skr!《爱情公寓》电影版来了
  20. C语言版 彩色俄罗斯方块 控制台输出

热门文章

  1. nginx 集群部署_入门级实操教程!从概念到部署,全方位了解K8S Ingress!
  2. 基因 ID 匹配利器
  3. 发现了阿里云 APP 的一个小 BUG
  4. R语言:聚类分析hclust
  5. 生信小白的福音——免费在线分析扩增子数据SILVAngs
  6. R语言ggplot2可视化可视化聚类图、使用geom_encircle函数绘制多边形标定属于同一聚类簇的数据点、并自定义每个聚类簇数据点的颜色、多边形框的颜色(Cluster Plot)、主副标题题注
  7. R语言plotly可视化:plotly可视化水平直方图(Horizontal Histogram)
  8. R语言exists函数检查数据对象是否存在实战
  9. 偏依赖图(Partial Dependence Plots)是什么?排列重要性(Permutaion Importance)是什么?如何解读?有什么意义?
  10. R语言创建频数表和列联表