一.SCP
scp可以向远程主机中上传文件也可以从远程主机中下载文件。
上传文件:scp 本地文件 远程主机用户@远程主机ip:远程主机目录
下载文件:scp 远程主机用户@远程主机ip:远程主机目录 本地文件
准备两台虚拟机:虚拟机1:rhel7,ip为192.168.0.10,虚拟机2:rhel8,ip为:192.168.0.11,确保两台虚拟机之间可以互相连接,我用rhel7去连接rhel8.
在rhel7桌面上建立文件file,建立目录dir
在rhel8中监控/mnt目录,在rhel7中将文件file上传到rhel8中的/mnt目录下
上传目录时要加上参数-r
在上传文件时,在shell中会显示上传进度条,上传时加上参数-q将不会显示
将rhel7桌面上的文件file删掉并从rhel8中将它们重新下载到rhel7的桌面上
将rhel7桌面上的目录dir删掉并从rhel8中将它们重新下载到rhel7的桌面上
二.rsync
rsync和scp的用法相类似,rsync也能够向远程主机中发送文件或者从远程主机中下载文件到本地主机中
上传文件:rsync 本地文件 远程主机用户@远程主机ip:远程主机目录
下载文件:rsync 远程主机用户@远程主机ip:远程主机目录 本地文件
在rhel7中/mnt下建立文件file1-file5,在rhel8中监控/mnt目录变化
改变文件拥有者,文件权限以及建立链接文件
将rhel7中/mnt下的文件上传到rhel8中,此处要注意下面两个语句的区别
rsync -r /mnt root@192.168.0.11:/mnt
rsync -r /mnt/ root@192.168.0.11:/mnt
第一个命令会将/mnt这个目录本身也上传给远程主机,第二个命令只是将/mnt目录下的文件上传给远程主机
并且从实验结果来看,提示我们链接文件被跳过了
将链接文件也上传加参数-l
上传到远程主机中的文件和本地主机中文件的权限,所有人以及时间戳是不同的,如下图所示
同步文件权限加参数-p
同步所有人所有组加参数-og
在远程主机中文件拥有者为1001是因为在本地主机中student用户的id为1001
同步时间戳加参数-t
同步设备文件加参数-D
不加参数时会显示将所有的设备文件都跳过
加上参数D上传成功
rsync常用的参数总结如下:
-r | 复制目录 |
---|---|
-l | 复制链接 |
-p | 复制权限 |
-t | 复制时间戳 |
-o | 复制拥有者 |
-g | 复制拥有组 |
-D | 复制设备文件 |
三.scp和rsync的区别
在/mnt下建立所需文件
dd 截取命令
if=inputfile
of=outputfile
bs=blocksize
count=块的个数
上图中的命令是指在本地主机中/mnt下建立三个文件,其中file1是从文件/dev/zero中截取十个大小为1M的数据,file2中截取二十个,file3中截取三十个
用time可以检测命令执行时间
从上述实验中我们直到每次向远程主机中发送文件时,都需要我们输入远程主机的密码,这样会占据命令的执行时间,我们可以在两台主机之间建立openssh key,这样上传文件就不再需要密码
创建脚本1(用scp上传文件)
执行脚本文件显示用scp上传三次目录所需要的时间
创建脚本2
由以上实验可知,当用scp上传文件时,三次上传时间基本相同,所以scp不具有相同文件检测的功能,而rsync上传文件时可以看到,第一次上传时消耗的时间为1.321s,后两次时间远远小于第一次的时间,说明,用rsync上传文件时会检测所上传的文件在远程主机中是否存在,如果存在则不会二次上传
四.文件的归档以及压缩
- 文件归档解档
文件归档所用的命令为tar,常用的参数如下
c | 创建 |
---|---|
f | 指定文件名称 |
x | 解档 |
t | 查看 |
r | 向归档文件中添加文件 |
- -get | 解档指定文件 |
- -delete | 删除指定文件 |
-C | 指定解档路径 |
在本地主机中将/etc归档,会出现一个箱子一样的文件
注意,归档后产生的是一个文件
查看归档文件的内容
向归档文件中添加新的文件
解档文件
只解档文件file
将归档文件中的文件file删除
将归档文件解档到指定的目录下
- 文件压缩解压
文件压缩有四种格式:zip,gz,bzip2,xz
1、zip格式压缩解压
压缩
原归档文件的大小
zip格式压缩后文件大小为12M
将桌面上的归档文件删除后解压
2、gz格式的压缩解压
压缩,压缩完成后原来的归档文件会自动删除
gz格式压缩后大小为12M
解压,解压完成后原来的gz压缩文件会删掉
3、bzip2格式的压缩解压
压缩,和gz格式类似
bzip2格式压缩后大小为10M
解压
4、xz格式的压缩解压
压缩,和gz以及bzip2格式类似
压缩后文件大小为8M
解压
- 归档压缩同时完成
这种方式不能应用于zip格式压缩,其他三种方式适用
1、gz格式
归档压缩
解压解档
2、bzip2格式
归档压缩
解压解档
3、xz格式
归档压缩
解压解档