Linux下的tar命令和gzip命令的区别和联系

注:原文章地址https://blog.csdn.net/qq_38131333/article/details/80468326

、windows下最常见的压缩文件有两种:* .zip   和  * .rap  

      而Linux下却有很多,让人混淆:* .tar  、* .tar.gz 、* .tgz 、* .gz 、* .Z 、* .bz2

 

二、基础概念

 1. 打包:将一堆文件或目录什么的变成一个总的文件。

 2. 压缩:将一个大的文件经过某种压缩算法变成一个小文件。

       为什么要区分这两个概念呢?因为Linux中的很多压缩程序只能针对一个文件进行压缩,所以当你想要压缩一大堆文件时,首先需要打个包,然后压缩。

 

三、tar命令

1.  单独使用(man  tar 可以查看)

常用参数:-c  产生新的包

                 -r  像压缩归档文件末尾追加文件

                 -u  更新原压缩包中的文件,仅将较新的文件附加到存档中

                 -t  列出存档中文件的目录

                 -x  解包

                 -f  指定包的文件名,用在最后一个参数

                 -v  详细显示处理的文件

基本用法:# tar -cf all.tar *.jpg
                 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
                 # tar -rf all.tar *.gif
                 这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
                 # tar -uf all.tar logo.gif
                 这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 
                 # tar -tf all.tar 
                 这条命令是列出all.tar包中所有文件,-t是列出文件的意思

                 # tar -xf all.tar

                这条命令是解出all.tar包中所有文件,-x是解开的意思

2. 为了方便用户在打包解包的同时压缩或解压文件,tar命令提供了一种特殊的功能,就是可以在打包解包的同时调用其他的压缩程序,比如:gzip,bzip2等。

扩展用法:1) tar调用gzip

                gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip相对的解压程序是gunzip。 tar中使用-z这个参数来调用gzip。下面来举例说明一下:

                # tar -czf all.tar.gz *.jpg
                   这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz
                # tar -xzf all.tar.gz
                    这条命令是将上面产生的包解开。
            2) tar调用bzip2
                bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用gzip。下面来举例说明一下:
                # tar -cjf all.tar.bz2 *.jpg
                这条命令是将所有.jpg的文件打成一个tar包,并且将其用bzip2压缩,生成一个bzip2压缩过的包,包名为all.tar.bz2
                # tar -xjf all.tar.bz2

                这条命令是将上面产生的包解开

四、gzip命令

1.  (1)缺省情况下,  gzip  将原始文件名和时间信息保存在压缩后的文件中。

     (2)gunzip  的功能  与  gzip  -d  功能一样。gunzip 将命令行中以.gz, -gz, .z, -z, _z 或 .Z结尾并具有正确标志头的文件
       解压缩,并以去掉扩展名的解压缩文件替换原文件。  gunzip 也能识别扩展名为  .tgz  和  .taz  的文件,并将其分别当作  .tar.gz  和   .tar.Z   的缩写。gunzip 目前能够解压由  gzip,  zip,  compress,  compress  -H  以及  pack产生的文件。 对输入格式的检测是自动的。

2.(man  gzip)可以看到详细的内容,这里简单列出常用的参数:

        -c   将结果写到标准输出,原文件保持不变

        -d  解压缩

        -l  列出每个压缩文件的如下项目:

                compressed  size:压缩文件的长度

                uncompressed  size:压缩前文件的长度

                ratio:压缩率(如果未知则为0.0%)

                uncompressed_name:压缩前的文件名

        对于非gzip 格式的文件,压缩前文件长度显示为 -1,例如由compress压缩的 .Z文件。可用下列命令得到这种文件压缩前的长度:

        zcat   file.Z  |  wc  -c    (zcat 的功能与 gunzip -c.  相同。)

        如果同时指定了 --verbose选项,下列项目也被列出:

            method:压缩方式

            crc:未压缩数据的32位CRC校验码

            date  &  time:压缩前文件的时间信息

目前支持的压缩方式有deflate、compress、lzh(SCO下的compress-H)以及pack等方式。对于非gzip格式的文件,crc校验码显示为ffffffff。

 

        -r  递归式地查找指定目录并压缩其中的所有文件或者是解压缩。

    -t  测试,检查压缩文件是否完整。

    -v  对每一个压缩和解压的文件,显示文件名和压缩比。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值