你的位置:首页 > 操作系统

[操作系统]linux 压缩解压打包工具大集合

压缩、解压缩及归档工具有很多,今天小编就整理几个大家较为常用的。

compress  gzip  bzip2  xz  

zip tar cpio

一、压缩、解压工具

 

 

          用法

 

压缩

工具

压缩后

压缩包格式

解压缩

(默认不保留源文件)

保留原文件压缩

-c :将压缩结果打印到屏幕上

保留压缩文件解压

*zcat :将解压结果打印到屏幕上

强制压缩(默认不压缩硬链接)

显示详细过程

压缩比

-#(数字越大,压缩比越高,速度越慢

文件越小)

compress

(压缩比最小,文件最大)

.Z

-d

uncompress

-c > X

(>相当于创建文件,权限改变)

zcat X.Z > X

(>相当于创建文件,权限改变)

-f

-v

gaip

.gz

-d

gunzip

-c > X

 

zcat X.gz > X

-f

-v

-1  --fast

-6 (默认)

-9  --best

bzip2

.bz2

-d

bunzip

-c > X

 

-k (权限不变)

bzcat X.gz > X

 

-k

-f

-v

-1  --fast

-9 --best

 (默认)

xz

(压缩比最大,文件最小)

.xz

-d

 

-c > X

 

-k(权限不变)

xzcat X.gz > X

 

-k

-f

-v

-1  --fast

-6 (默认)

-9  --best

 

1compress   压缩文件,会删除原来文件,生成压缩文件

格式 : .Z

解压 : -d   解压文件,会删除压缩文件,生成原来文件 (不能tab补齐)

    uncompress  和-d一样 (能tab补齐)

zcat X.Z > X    zcat X.Z  将解压结果打印到屏幕上,配合重定向,将解压的结果导入到 .Z压缩文件中,不删除原文件,生成压缩文件,但因为>生成新文件,权限会变。

显示结果: -c  将压缩结果打印到屏幕上,配合重定向,将压缩的结果导入到 .Z压缩文件中,不删除原文件,生成压缩文件,但因为>生成新文件,权限会变。(可以对硬链接数为2的文件压缩)

强制压缩: -f   默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1.

显示详细过程:-v 

 

 

 

2gzip   压缩文件,会删除原来文件,生成压缩文件

格式 : .gz

解压 : -d   解压文件,会删除压缩文件,生成原来文件(能tab补齐)

    gunzip 和-d一样

zcat X.gz > X   (原理同上compress)

显示结果: -c  (原理同上compress)

强制压缩: -f   (原理同上compress)

显示详细过程:-v 

压缩比: -# 数字越大,压缩比越高,速度越慢,文件越小。

  -1 等于 --fast

  -2,3,4,5,6(default默认),7,8

  -9 等于 --best

 

 

3bzip2   压缩文件,会删除原来文件,生成压缩文件

格式 : .bz2

解压 : -d   解压文件,会删除压缩文件,生成原来文件(能tab补齐)

    bunzip2 和-d一样

bzcat X.bz2 > X   (原理同上compress)

保留原文件压缩、解压: -k  比compress,gzip 多出的用法

显示结果: -c  (原理同上compress)

强制压缩: -f   (原理同上compress)

显示详细过程:-v 

压缩比: -# 数字越大,压缩比越高,速度越慢,文件越小。

  -1 等于 --fast

  -2,3,4,5,6,7,8

  -9 等于 --best (default默认)

 

 

4xz   压缩文件,会删除原来文件,生成压缩文件

格式 : .xz

解压 : -d   解压文件,会删除压缩文件,生成原来文件(能tab补齐)

xzcat X.gz > X   (原理同上compress)

保留原文件压缩、解压: -k  比compress,gzip 多出的用法

显示结果: -c  (原理同上compress)

强制压缩: -f   (原理同上compress)

显示详细过程:-v 

压缩比: -# 数字越大,压缩比越高,速度越慢,文件越小。

  -1 等于 --fast

  -2,3,4,5,6(default默认),7,8

  -9 等于 --best

 

比较 :  压缩比:xz > bzip2 > gzip > compress(不一定,有的情况bzip2 比xz要好)

         xz 压缩比最大,文件最小

 

 

 

二、打包工具 zip tar

(1)zip

打包压缩(自动生成后缀.zip)

①  zip –r  生成文件(自动生成.zip)  打包文件(目录,普通文件都行)

     例:zip -r app app/

②  comment | zip  生成文件(自动生成.zip) -

            这种方式打包,只能unzip -p X.zip > X 解包

            例:cat /var/log/messages | zip messages -

                   unzip -p message.zip > message

解包解压缩

unzip X.zip

unzip -p 预览解压缩后的内容到屏幕,可以配置重定向将结果保存到指定文件,权限会发生变化。

 

 

2tar 

    -f 包名,所有用法都要和-f组合

  -c -f 创建包名字  原文件(可以指定多个)

  -t -f 包名字   显示包中的文件名

  -tv -f 详细显示包中的文件名

  -r -f 包名字 新文件名(可以指定多个),向包里放指定文件

  --delete -f 包名字 被删除的文件名(可以指定多个),从包中删除指定文件

  -x -f 包名字 解出所有的文件到当前目录,把包中所有文件移出,解压包

  -x -f 包名字 文件名 解所指定的文件到当前目录,从包中移出指定文件

  -C 解包到指定目录

  -v 详细信息

  -Jcf 创建包的名字(.tar.xz) 原文件(可以指定多个) 打包并用xz压缩

  -jcf 创建包的名字(.tar.bz2) 原文件(可以指定多个) 打包并用bzip压缩

  -zcf 创建包的名字(.tar.gz) 原文件(可以指定多个) 打包并用gzip压缩

  -T 指定个列表,包含需要被打包的文件,以换行符为间隔

  -X 指定个排除列表,以换行符为间隔

 split –b Size –d tar-file-name prefix-name 将tar包分隔为多个文件

 cat 被分隔出的多个文件名 > 单个文件名  合并

 

 

 

3cpio(不常用)

cpio 命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio” 或者“.tar” 结尾的文件。

cpio [ 选项] >  文件名或者设备名

cpio [ 选项] <  文件名或者设备名

选项

  -o  将文件拷贝打包成文件或者将文件输出到设备上

  -i  解包,将打包文件解压或将设备上的备份还原到系统

  -t  预览,查看文件内容或者输出到设备上的文件内容

  -v  显示打包过程中的文件名称。

  -d  解包生成目录,在cpio 还原时,自动的建立目录

  -c 一种较新的存储方式

 例:将etc 目录备份 find ./etc -print |cpio -ov >etc.cpio

  内容预览   cpio –tv < etc.cpio

  要解包文件  cpio –idv < etc.cpio

 

 

 

                                                                                 希望对大家有帮助,有什么错误请告诉我~