这一节学习了压缩,归档以及如何利用scp和rsync的传送文件。

归档(archive)和压缩(compress)是两个不同的概念,尽管我们经常放在一起使用。归档类似打包的概念,把一堆内容放入一个文件;而压缩则是把归档好的文件进行压缩以便节约空间。


先看看归档,tar命令,最常用的是 tar -cvf, c=create(创建),v=verbose(详细),f=file(文件名)这样会创建一个归档的tar文件


可以通过-t 来查看已经创建的归档文件的内容


RHCE 学习笔记(12) 归档压缩和文件传递_第1张图片


取消归档很简单,把 c(创建)替换成 x (extract,解压)就行了

RHCE 学习笔记(12) 归档压缩和文件传递_第2张图片


接下来看看压缩,RHEL常用的压缩方式有 gzip,bzip2,zip


做个试验,首先创建一个100M的数据块

wKioL1Sk9z3Awxc6AAB5d-oxjs4432.jpg


看看大小

wKiom1Sk9ofTibFbAAA2byKlr1w888.jpg


用gzip进行压缩

wKioL1Sk9z_gXYfqAAAcWDPNQlo741.jpg


压缩之后变成100K了,注意压缩文件的后缀变成gz了

wKiom1Sk9onQ10I5AABF0WAnQcM480.jpg


看看gzip的语法,如果希望解压 用-d就行了


RHCE 学习笔记(12) 归档压缩和文件传递_第3张图片


类似的,我们可以用bzip2来压缩和解压,后缀变成了bz2

wKiom1Sk9o_Be3atAAB8Yo2UaEI984.jpg


或者zip和unzip来压缩和解压,注意zip是windows和linux都通用的格式

RHCE 学习笔记(12) 归档压缩和文件传递_第4张图片


如何把归档和压缩命令放在一起使用呢?

例如,可以用z代表gzip,j代表bzip2 生成的文件后缀使用.tar.gz 或者 tar.bz2


利用tar和gzip进行归档压缩和解压

RHCE 学习笔记(12) 归档压缩和文件传递_第5张图片

RHCE 学习笔记(12) 归档压缩和文件传递_第6张图片


利用tar和bzip2进行归档压缩和解压

wKiom1Sk9pbC9GagAABOKspIuCE727.jpg

RHCE 学习笔记(12) 归档压缩和文件传递_第7张图片


接下来看看本节的第二个部分,如何进行文件的传递。这里学习了scp和rsync命令,这两个命令都是基于SSH的,因此如果熟悉前面的SSH,这里学习很容易。


首先传递一个之前的归档压缩文件到远程服务器,因为我之前已经配置过root账户的密钥了,所以这里确认了指纹信息之后直接就传送过去了


RHCE 学习笔记(12) 归档压缩和文件传递_第8张图片


查看确认一下

RHCE 学习笔记(12) 归档压缩和文件传递_第9张图片


类似的,我也可以指定用户来传递,比如我用beanxyz来传递,这个账户没有配置密钥,那么就通过密码来进行验证。


wKiom1Sk9qWTIO3rAACHI9Qmi98027.jpg


确认一下

wKioL1Sk91_h0ag3AABydbWawJg588.jpg


注意,使用上面的命令之前,必须确认openssh已经在双方服务器安装,如果是最小化界面安装,这个包是没有的,需要手动安装


wKiom1Sk9qrhgMIiAABo5bHUmK8770.jpg


上面的例子是拷贝一个文件,如果拷贝一个目录呢?

直接拷贝会报错,这个和cp命令差不多,需要-r 进行递归的操作

RHCE 学习笔记(12) 归档压缩和文件传递_第10张图片


最后我们看看另外一个命令 rsync,这个命令在备份文件的时候很常见。这个命令的最大好处是可以进行同步文件。


比如 -a 可以直接归档了,简单的说是保持文件所有的权限,时间戳和快捷方式

wKiom1Sk9q-B_D-dAAA54L8wqCM826.jpg

wKioL1Sk92iDSfjmAABZHyc9RF4487.jpg


豆子个人习惯喜欢加vv参数, 这样可以超详细的列出拷贝的内容是否最新,有的时候拷贝几个T的文件,还需要根据需要重定向正确结果和错误的结果,以便查询

RHCE 学习笔记(12) 归档压缩和文件传递_第11张图片


喜欢图像界面的话,还可以下载安装grsync,这个软件我曾经试过在windows 下面也是可以运行的。