要求:两台主机在同一网段,可以通信
主机A(Redhat企业8):192.168.1.19
主机B(Redhat企业7):192.168.1.29
文件上传命令: 【scp】+【 本地文件】 +【 远程用户@远程主机IP:远程主机目录】
文件下载命令:【scp】+【远程用户@远程主机IP:远程主机文件】+【本地目录】
scp参数:
示例:
示例①:主机B把文件test 复制给远程主机A
示例②:在主机B上把远程主机A的文件复制到本地
示例③:主机B把westos文件复制给主机A,不显示进度
示例④:主机B把目录复制给主机A
rsyncy用法和scp类似
上传文件:【rsync】+【文件】+【远程用户@远程主机ip:远程主机目录】
下载文件:【rsync】+【远程用户@远程主机ip:远程主机文件】+【本地目录】
rsync在复制时,会检测是否已经存在相同的文件,如果有,则不会复制;
scp总是会执行复制动作,有相同文件,则复制后覆盖
在主机B中截取3个文件到/mnt目录下,大小分别为10M,20M,30M ;通过复制/mnt目录的时间,来比较scp与rsync命令的区别
②:我们在传输文件时,需要输入远程主机的密码,手动输入密码的时间会造成实验结果误差,因此我们需要在主机B上设置对主机A免密登录
③:编写check_scp.sh,check_rsync.sh脚本,分别执行三次检测scp和rsync传输时间的指令
①:执行check_scp.sh脚本
②:将scp复制到主机A的/mnt文件删除,纯净实验环境,执行check_rsync.sh脚本
两次实验效果的对比,说明scp发生了三次复制动作;而rsync只有第一次进行文件复制
在传输文件时,会忽略很多东西,比如不会复制文件的权限,时间,链接等到远程主机中
用rsync命令的相关参数可以对被忽略的内容进行复制
参数 | 作用 |
---|---|
-r | 复制目录 |
-l | 不忽略链接 |
-p | 不忽略权限 |
-t | 不忽略时间戳 |
-g | 不忽略拥有组 |
-o | 不忽略拥有者 |
-D | 不忽略快设备 |
示例:
示例1:在主机B中创建test目录,并在目录下创建一个链接,用-l 参数复制test目录给主机A,链接也会被复制
示例2:在主机B中创建linux目录,修改目录及目录下的文件权限为777,把linux目录传给主机A,文件的权限也一同被复制
示例3:主机B将/dev/pts文件传输给主机A,设备文件被忽略,不会对其进行复制
加上-D参数复制文件,/dev/pts目录中的设备文件也被复制到主机A中
tar:可以将多个文件合并为一个文件,打包后的文件后缀为“tar”
参数 | 解释 |
---|---|
-c | 建立一个压缩文件的参数指令(create 的意思) |
-x | 解开一个压缩文件的参数指令 |
-t | 查看 tarfile 里面的文件 |
-z | 是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? |
-j | 是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩? |
-v | 压缩的过程中显示文件 |
-f | 指定打包文件名 |
-p | 使用原文件的原来属性 |
-P | 可以使用绝对路径来压缩 |
【- -get】 | 解档指定文件 |
【- -delete】 | 删除指定文件 |
-C | 指定解档路径 |
示例1:把file1,file2,file3三个文件打包在test.tar文件中,并查看test.tar里的文件
示例2:为了观察实验效果,在示例1的基础上删除当前路径所有文件,除了打包好的tar文件;解档test.tar文件,过程中显示文件名
示例2:将tset.tar中的file1解档
示例3:将test.tar解档到/mnt目录下
压缩是一种通过特定的算法来减小计算机文件大小的机制。这种机制是一种很方便的发明,尤其是对网络用户,因为它可以减小文件的字节总数,使文件能够通过较慢的互联网连接实现更快传输,此外还可以减少文件的磁盘占用空间。linux系统常用压缩格式有:zip , gzip, bzip2 , xz
压缩文件:把etc.tar文件压缩,压缩后的文件变小
解压文件:把etc.tar.zip文件解压