系统中的文件传输

给你一囗甜甜゛ 提交于 2020-02-12 22:59:06

系统中的文件传输

前言

  • 系统中文件传输实验需要两台虚拟机
  • 本次演示的实验以及后续的实验使用rhel7_node1和rhel8_node1两台虚拟机
  • rhel7_node1和rhel8_node1相当于两台电脑哈
  • rhel7_node1设置的网络IP为192.168.43.10
  • rhel8_node1设置的网络IP为192.168.43.11
  • windows中VWware15中新建的虚拟机默认情况下5分钟进行锁屏,影响实验效率,设置不锁屏步骤如下:
    在这里插入图片描述
    在这里插入图片描述

一.文件传输命令(scp&rsync)

1.scp命令

scp 本地文件 远程主机用户@远程IP:远程主机目录 相当于文件上传,将自己主机上的文件上传到远程主机
scp 远程主机用户@远程IP:远程主机目录 本地文件 相当于文件下载 ,将远程主机文件下载到本机上
实验思路:

 - 两台虚拟机已经配置完毕,相互可以实现网络通信
 - rhel7_node1主机远程连接rhel8_node1,也就是在企业7虚拟机中可以直接操作企业8.(即同一个虚拟机中可以看到两个虚拟机的情况)
 - 企业7中打开两个终端,一个查看rhel7_node1主机,一个查看rhel8_node1主机的情况
 - 在rhel7_node1中建立实验素材 (桌面创建westos文件和westosdir目录)
 - 测试文件传输,使用上传和下载命令,在rhel8_node1中查看结果
 - 参数-p 没有进度条显示,scp默认会显示进度条
 - 参数 -r 传输目录
 

实验过程:
易错点:

  • 根目录/ 有普通用户家目录和root
  • root是超级用户家目录
  • 超级用户家目录中有Desktop 等
  • 根目录/ ,是就相当于conputer,有mnt ,dev,root,home…

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.rsync命令

rsync命令的使用方法和scp很类似!

rsync 本地文件 远程主机用户@远程IP:远程主机目录 相当于上传
rsync 远程主机用户@远程IP:远程主机目录 本地文件 相当于下载

rsync命令常见参数

-q 静默方式,不显示进度条
-r 复制目录
-l 复制链接
-o 复制拥有者
-g 复制拥有组
-t 复制时间戳
-p 复制权限
-D 复制设备文件
实验思路:

 1. 保证实验环境的纯净,删除/mnt中的文件
 2. 7中ssh远程连接控制8 并监控/mnt ,在7中可以实现在8中监控 watch -n 1 ls -lR /mnt
 3. 开始准备实验素材
 (1) 7中 /mnt中建立5个文件 touch /mnt/file{1..5}和创建目录
 (2)chmod 777 /mnt/*    修改文件和目录权限
 (3)chown westos:westos /mnt/*  修改所有人和所有组
 (4)7中 /mnt中建立链接 ln -s /mnt/file1 /mnt/file
 (5)知识扩充:设备文件/dev/pts/
 4.测试实验
 5.监视企业八的/mnt 目录,以上传为例,查看各个参数的作用,看看什么参数传输什么内容

实验过程:
易错点:

  • /mnt和/mnt/区别
/mnt 复制目录本身和文件内容
/mnt/ 只复制了文件过去

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.scp&rsync命令的区别

  • scp&rsync命令的区别:scp是复制命令,rsync是远程同步命令
  • /mnt/ 目录对于scp来说,都是复制/mnt 整个目录
  • /mnt/ 目录对于rsync来说,只复制了目录内的文件内容。理解:/mnt/表示此目录下的文件,而rsync是远程同步命令,目标主机存在/mnt目录,则不再复制这个目录了,直接只复制文件了
  • rsync命令是增量检测,若目标主机有相同文件,那么不会再复制
  • rsync 第二和第三次时间远远小于第一次,因为只检测有没有这个文件的时间!
  • scp优点: 加密 不增加磁盘输出负载

实验思路

为了证明rsync命令不复制远程主机已经存在的文件
1.首先设置免密登陆。原因:计算时间时,会计算输入密码的时间,为了对比实验效果,设置免密登陆,对比具有说服力
免密登陆步骤:
(1)生成公钥和私钥
(2)上传公钥到远程主机
(3)即可免密登陆
2.企业7中生成文件。此处采用指定大小建立文件。
  dd if=/dev/zero of=/mnt/file1 bs=1M count=10
  dd if=/dev/zero of=/mnt/file2 bs=1M count=20
  dd if=/dev/zero of=/mnt/file3 bs=1M count=30
  dd:截取
  if:inputfile 
  of:outputfile
  bs:blocksize
  count:块数
  从/dev/zero截取指定大小的内容,存放在/mnt/file1 2 3 文件中
  其中file1 2 3 若不存在,系统自动建立!
3.建立check_scp.sh和check_rsync.sh文件,将要执行的命令放进文件。
vim check_rsync.sh
check_rsync.sh文件中的内容:
time rsync -r /mnt root@192.168.0.11:/mnt
time rsync -r /mnt root@192.168.0.11:/mnt
time rsync -r /mnt root@192.168.0.11:/mnt
check_scp.sh 内容同理!
4.sh check_scp.sh   
  可以看出三条命令执行时间几乎相同,每次都复制
  
  sh check_rsync.sh  
  第一次执行时间远超过第二和第三次,因为第2/3次只有检测时间

实验过程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

二、文件压缩和解压

前言

  • 当需要传输的文件较多时,传输的比较慢,需要引入打包、压缩和解压
  • 传输速度快不快取决于文件大小,并不是看文件数量的多少
  • 打包归档 tar
  • 归档后文件的压缩
  • tar命令压缩一步到位 以及 解压

1、文件归档(打包)

  • 归档意思是把目录中多个文件变成一个文件,也称将多个文件打包成一个文件
  • 传输速度快不快取决于文件大小,并不是看文件数量的多少
  • 打包归档不是压缩,文件大小并没有改变
  • 打包后虽然显示大小略小,是因为没有统计软连接的个数
  • 若文件中有快捷方式,归档后统计略小,统计有误差

tar归档命令常用参数

c 创建归档
f 指定文件名称
x 解档
t 查看
r 向归档文件中添加文件
–get 解档指定文件
–delete 删除指定文件
C 指定解档路径
实验思路:
1.返回到企业七中的桌面
2.将/etc 目录下的文件打包 取名字 etc.tar 到桌面
   tar cf etc.tar /etc    打包归档到当前路径的/etc/目录中
   tar tf etx.tar  查看归档目录
   tar xf etc.tar  解档
   tar xf etc.tar -C /mnt/  解档到指定路径
   tar rf etc.tar jiajiafiel   像归档包中添加文件 文件必须存在
   tar tf etc.tar | tail -n 5 查看后五行
   tar f etc.tar --get jiajiafiel  解档归档包中的指定文件
   tar xf etc.tar --get jiajiafiel 解档归档包中的指定文件
   tar f etc.tar --delete jiajiafiel  删除归档包中的指定文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.文件的压缩

  • linux下的压缩格式一共有4种 : zip 压缩 、gzip压缩、bzip2压缩、xz压缩
  • 压缩对于来说大文件更明显,压缩时间长效果更明显
  • 每次压缩前后使用du -sh 目录名, 查看大小,进行对比
  • 包括:先打包再压缩;打包的同时压缩,解压
  • 通过对比4种压缩后的文件大小可知, zip 压缩 、gzip压缩、bzip2压缩、xz压缩的压缩效果越来越好 (压缩之后的大小越来越小,也就传输的越来越快)
  • gzip压缩、bzip2压缩、xz压缩 压缩之后,归档的文件会消失!
  • zip 压缩 需要加参数 -r 和 压缩之后的文件名。
    zip -r 压缩后的文件名 归档文件

(1)zip压缩
格式:
zip -r xxx.tar.zip xxx.tar 将已经归档打包的文件压缩成前面的文件格式
unzip etc.tar.zip 将压缩好的文件进行解压缩

(2)gzip
格式:
gzip xxx.tar 直接压缩后面的打包文件

(3)bzip2
格式:
bzip2 xxx.tar 直接压缩打包的文件

(4)xz
格式:
xz xxx.tar 直接压缩打包文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.打包压缩一步到位

(1)gzip形式
格式:
tar zcf etc.tar.gz /etc/ 将/etc/ 目录中的文件压缩
tar zxf etc.tar.gz
在这里插入图片描述
在这里插入图片描述
(2)bzip2形式
格式:
tar jcf etc.tar.bz2 /etc/
tar jxf etc.tar.bz2
在这里插入图片描述
(3)xz形式
格式:
tar Jcf etc.tar.xz /etc/
tar Jxf etc.tar.xz
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!