6.1-6.7 预习笔记

1. 压缩打包文件介绍

有时需要对电脑中的文件进行压缩,以方便传输,也可以节省磁盘空间,也可以节省带宽资源。

常见的压缩文件如下

注:最好不要设置奇怪的文件后缀以免麻烦

 

2. gzip压缩工具- 不可以压缩目录,只可以对文件进行操作

  • 语法 # gzip 文件名, 就可以实现对文件的压缩,如下图所示1.txt在被压缩后文件名变成了1.txt.gz, 同时文件大小也减小了很多

 

  • 我们可以加-d来解压文件,语法为# gzip -d 文件名
  • # gzip后面加数字可以指定压缩的级别,从1 ~9有9个级别,数字越大表明压缩程度越严谨,然而级别越高越耗费CPU资源,从下图我们可以看出指定1级别后,文件压缩之后的大小比之前压缩的大。系统默认为6级别,一般保持默认即可,无需指定更改

语法为 # gzip -数字(1~9)

注: 命令语法# gunzip 文件名也可以用来解压文件

 

  • 用# file 压缩文件名,可以查看压缩文件的具体信息

 

 

  • 用# zcat 压缩文件名,可以用来查看压缩文件内容,实际系统操作过程为先解压在cat文件内容
  • # gzip -c可以用来指定压缩文件的保存位置以及文件名且保留原文件,语法为# gzip -c 文件名 > 保存位置,如下图所示,我们可以在压缩1.txt的同时把其压缩文件保存至/tmp/1.txt.gz下也保留了1.txt原文件

 

  • 如同压缩文件,解压文件的时候也可以加-c参数来指定文件解压至位置以及解压后的文件名,语法为# gzip -d -c 文件名 > 指定的保存位置,如下图所示,我们可以把1.txt.gz解压至/tmp/d6z/目录下,且把名字改为2.txt

 

3. bzip2压缩工具(可以用# yum install -y bzip2来先安装bzip2压缩工具)

 

  • bzip2比之gzip,压缩的程度更大(意味着耗费的CPU资源越多),如下图所示当我们用gzip来进行压缩1.txt文件后文件大小为332K,而使用了bzip2之后文件大小为160K

 

  • bzip2的用法大致与gzip的用法一致, -d可以用来解压;# bunzip2也同样用来解压;-c可以用来指定;同样不适用于目录只可以对文件进行操作;也同样可以指定压缩级别,但是默认的压缩级别为最高级9

 

4.xz压缩工具 

用法跟gzip/ bzip2大体相同,压缩程度比bzip2更高

 

  • # unxz 文件名,可以用来解压缩文件

 

5. zip压缩工具(# yum install -y zip)

支持对目录进行压缩解压缩操作。

windows下面也有zip压缩工具,但是linux不支持对.rar文件进行操作,需要安装另外的工具包

  • zip压缩工具的用法,当压缩文件时,语法为# zip 压缩后文件名 原文件名,与之前的压缩工具有所不同,zip压缩文件仍保留原文件

如下图所示

 

  • 加-r可以压缩目录

 

  • 可以用#unzip(# yum install -y unzip)来进行解压缩到当前目录;如果想要指定解压到的目录,我们可以加-d, 语法为 # unzip name.zip -d directory,注意不可更改文件名称仍然保留压缩之前的文件名

如下图所示

  

  • zip无法查看压缩文件,只可以查看压缩文件列表,用# unzip -l 压缩目录,如下图所示

 

6. tar打包

在实际应用中,有时需要在两台服务器之间传输多个目录和多个文件,由于传输过程需要一个一个的进行,所以比较耗时,这时可以使用tar来对文件目录打包,成为一个大文件,这样传输起来就会方便很多。

一般来说tar打包之后,文件大小不会产生太大的变化,但有时也有一些变化,例如想要传输一万个1K的文件,因为系统中块的概念,所以一万个1K的文件在系统中显示为40MB,但是用tar工具打包之后由于文件大小为一次叠加,打包后的文件大小便为10MB。

 

 

  • #tar - c (create)v(visulization)f(filename) name.tar directory,来对目录进行打包,-v可以省略

 

  • # tar -xvf用来解除打包,同时解除打包之后会覆盖原目录,且不会有提示,如下图所示

 

 

  • tar可对目录及文件一起打包,对文件目录名称进行罗列即可

 

  • 可以用# tar -tf name.tar来查看打包的文件列表

如下图所示

 

  • --exclude可以用来过滤掉指定的不需要打包的文件,语法为# tar -cvf name.tar --exclude file/directory name -- exclude file/directory name packfile, 可以过滤掉多个文件或目录但是需要用空格分隔,不支持罗列在一个exclude下 

如下图所示,在打包的时候我们可以过滤掉aming1目录以及2.txt文件,我们也可以用通配符过滤掉所有的.txt文件 “*.txt”。

 

 

7. 打包并压缩

tar在打包的时候也支持压缩

  • gzip

# tar -czvf ; tar -xzvf

 

  • bzip2

#tar -cjvf ; tar -xjvf

  • xz

# tar -cJvf; tar -xJcf

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值