(十二)、文件的压缩与打包 - ai

一、常见的压缩扩展名及压缩指令

1、常用的扩展名

常用压缩文件的扩展名:“.tar、.tar.gz、 .tgz、 .gz、 .Z、 .bz2、 .xz”,有这么多扩展名的原因是不同的压缩技术无法互通压缩和解压缩;

扩展名解析:

.Z compress程序压缩的文件

.zip zip程序压缩的文件

.gz gzip程序压缩的文件(常用)

.bz2 bzip2程序压缩的文件(常用)

.xz xz程序压缩的文件(常用)

.tar tar程序打包的数据,并没有压缩过

.tar.gz tar程序打包的文件,并经过gzip压缩

.tar.bz2 tar程序打包的文件,并经过bzip2的压缩

.tar.xz tar程序打包的文件,并经过xz的压缩

2、常用的命令及格式

gzip:应用最广的命令,可以解开compress,zip,gzip等软件压缩的文件,使用zcat、zmore、zless、zgrep可以直接操作.gz文件。gzip压缩时源文件不会保存。

命令格式:gzip [-选项] 文件名

选项:

-c --stdout 将压缩的数据输出到屏幕上,可通过数据流重定向处理

-d --decompress 解压缩的参数

-t --test 检验一个压缩文件的一致性

-f --force 强制压缩文件,不管文件名称或硬链接是否存在以及该文件是否为符号链接

-l --list 列出压缩文件目录

-N --name

-r --recursive 递归处理

-v 可以显示出源文件/压缩文件的压缩比等过程信息

-# #为数字,代表压缩等级,-1最快,压缩比最差,-9最慢,压缩比最好,默认-6

bzip2:bzip2提供比gzip更好的压缩比,生成后缀为bz2的文件,可以使用bzcat、bzmore、bzless及bzgrep直接操作.bz2文件

命令格式:bzip2 [-选项] 文件名

选项:

-c --stdout 将压缩的数据输出到屏幕上,可通过数据流重定向处理

-d --decompress 解压缩的参数

-t --test 检验一个压缩文件的一致性

-f --force 强制压缩文件,不管文件名称或硬链接是否存在以及该文件是否为符号链接

-l --list 列出压缩文件目录

-k --keep 保留输入文件,不会删除原始数据

-v 可以显示出源文件/压缩文件的压缩比等过程信息

-# #为数字,代表压缩等级,-1最快,压缩比最差,-9最慢,压缩比最好,默认-6

xz:提供比bzip2更好的压缩比,但是压缩所需要的时间成负相关;可以使用xzcat、xzmore、xzless、xzgrep直接对.xz文件进行操作。

命令格式:xz [-选项] 文件名

选项:

-c --stdout 将压缩的数据输出到屏幕上,可通过数据流重定向处理

-d --decompress 解压缩的参数

-t --test 检验一个压缩文件的一致性

-f --force 强制压缩文件,不管文件名称或硬链接是否存在以及该文件是否为符号链接

-l --list 列出压缩文件目录

-k --keep 保留输入文件,不会删除原始数据

-v 可以显示出源文件/压缩文件的压缩比等过程信息

-# #为数字,代表压缩等级,-1最快,压缩比最差,-9最慢,压缩比最好,默认-6

二、打包命令

1、打包命令介绍

前面介绍的压缩文件只能对一个文件进行操作,虽说三个命令也能够对目录进行操作,但是,这个些命令对目录的压缩指的是将目录内的所有文件分别进行压缩,linux我们可以使用打包命令tar将多个文件打包成一个文件然后再进行压缩,这样就会有各种.tar.gz、 .tzr.bz2、 .tar.xz等先打包后压缩的文件。

2、tar

打包命令格式:tar [-c][options] -f [dst_file_name] [src_file]

解包命令格式:tar [-x][options] -f [src_file]

选项:

-c --create 创建打包文件,可搭配-v查看打包过程

-x --extract 解包,可以搭配-C在特定目录解开

-z 通过gzip的支持进行压缩或者解压缩

-j 通过bzip2的支持进行压缩或者解压缩

-J 通过xz的支持进行压缩或者解压缩

-v 将正在处理的文件名显示出来

-f --filename -f后面要跟着被处理的文件名

-C 目录 解包时,解到特定的目录

-t --list 列出包中的文件

常用的命令组合

打包: tar -jcv -f filename.tar.bz2 要被压缩的文件

查询:tar -jtv -f filename.tar.bz2

解包:tar -jxv -f filename.tar.bz2 -C 想要解压到的目的目录

友情链接: