Linux中的压缩指令

linux中,压缩文件的扩展名大多是:“.tar, .tar.gz, .tgz, .gz, .Z, .bz2, *.xz”,然后肯定就有人说linux中扩展名不是没什么作用吗?这个是当然,但是在linux中对文件的压缩指令特别多,且压缩技术都不相同,如果不加上后缀进行标识,那解压的时候是很头痛的,所以扩展名只是为了标识是用了什么压缩指令进行压缩的。

以下列出常见的压缩扩展名:

  1. *.Z compress 程序压缩的文件;
  2. *.zip zip 程序压缩的文件;
  3. *.gz gzip 程序压缩的文件;
  4. *.bz2 bzip2 程序压缩的文件;
  5. *.xz xz程序压缩的文件;
  6. *.tar tar程序打包的数据,并没有压缩过;
  7. *.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩
  8. *.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩
  9. *.tar.xz tar 程序打包的文件,其中并且经过 xz 的压缩

其中常用的是:gzip,bzip2,zip以及xz.而纯tar只是打包的工具,并不具有压缩功能,tar可以将多个文件打包成一个文件,但是tar加上一些参数之后就可以进行打包并且压缩。

下面是具体的压缩指令及参数:

gzip:

-c :将压缩的数据输出到屏幕上,可通过数据流重导向来处理;

-d :解压缩的参数;

-t :可以用来检验一个压缩文件的一致性~看看文件有无错误;

-v :可以显示出原文件/压缩文件的压缩比等信息;

-# :# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6

首先新建一个test.text文件,然后使用gizp进行压缩

root@localhost:/tmp# gzip test.txt

结果内容:

15 11:03 test.txt.gz

这里要注意gzip压缩源文件就不存在了,当然gzip默认压缩后缀是.gz,如果想解压缩可以使用

root@localhost:/tmp# gzip -d test.txt.gz

bzip2:

-c :将压缩的过程产生的数据输出到屏幕上!

-d :解压缩的参数

-k :保留原始文件,而不会删除原始的文件喔!

-z :压缩的参数 (默认值,可以不加)

-v :可以显示出原文件/压缩文件的压缩比等信息;

-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!

使用方式:bzip2 [-cdkzv#] 文件名

root@localhost:/tmp# bzip2 -k test.txt

结果:

52 6月 15 11:03 test.txt.bz2

bzip2默认的压缩文件后缀为bz2,而bzip2的出现也是为了取代gzip,bzip2提供了参数来保留源文件,而且压缩比要比gzip要好。

xz:

xz [-dtlkc#] 文件名

-d :就是解压缩啊!

-t :测试压缩文件的完整性,看有没有错误

-l :列出压缩文件的相关信息

-k :保留原本的文件不删除~

-c :同样的,就是将数据由屏幕上输出的意思!

-# :同样的,也有较佳的压缩比的意思!

虽然 bzip2 已经具有很棒的压缩比,但是 xz 这个压缩比更高的软件,具体用法跟上面的两个差不多