码迷,mamicode.com
首页 > 其他好文 > 详细

9、压缩/解压缩及任务计划介绍

时间:2017-11-20 21:39:40      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:压缩、解压缩、归档

1、压缩比:

    压缩前和压缩后的大小体积比例

2、压缩目的:

    时间换空间,用cpu的时间换磁盘的空间;如何选择压缩,要衡量是节省cpu时间还是节省硬盘空间。


3、linux压缩、解压缩工具,及归档工具:

序号压缩工具解压缩工具不解压查看内容后缀备注
1compressuncompress
.z
2gzip
gunzipzcat.gz只能压缩文件
3bzip2bunzip2
.bz2只能压缩文件
4xz
unxz
.xz只能压缩文件
5lzmaunlzmalzcat.lzma
6zip
unzipzcat.zip压缩比比较小







归档工具



1tar




2cpio





3.1、gzip、 gunzip、 zcat:

  gzip [ options ]  [ name ...  ]   //压缩单个文件,后缀为.gz,同时删除原文件

[ options ]:

    -d:直接解压缩,相当于gunzip,

    -#:制定压缩比,默认是6,数字越大,压缩比越大(范围1-9),不建议修改

    -c:将压缩结果输出至标准输出。

        格式: gzip -c FILE >/PATH/TO/SOMEFILE.GZ

 如:

[root@localhost tmp]# ls

fstab  issue

[root@localhost tmp]# gzip -c issue > ./issue1.gz

[root@localhost tmp]# ll

total 12

-rw-r--r--. 1 root root 540 Nov 20 19:38 fstab

-rw-r--r--. 1 root root  23 Nov 20 19:38 issue

-rw-r--r--. 1 root root  49 Nov 20 19:53 issue1.gz

[root@localhost tmp]# zcat issue1.gz 

\S

Kernel \r on an \m


[root@localhost tmp]# 

    

  gunzip [ optios ]  [ name ...  ]  //解压缩,同时会删除原压缩文件

  zcat [ -fhLV ] [ name ...  ]   //直接查看压缩中的文件内容,用cat查看会出现乱码

如:

[root@localhost tmp]# ls

fstab  issue

[root@localhost tmp]# gzip fstab issue 

[root@localhost tmp]# ll

total 8

-rw-r--r--. 1 root root 295 Nov 20 19:38 fstab.gz

-rw-r--r--. 1 root root  49 Nov 20 19:38 issue.gz

[root@localhost tmp]#


[root@localhost tmp]# gunzip fstab.gz issue.gz 

[root@localhost tmp]# ll

total 8

-rw-r--r--. 1 root root 540 Nov 20 19:38 fstab

-rw-r--r--. 1 root root  23 Nov 20 19:38 issue

[root@localhost tmp]# 

 

[root@localhost tmp]# zcat issue.gz 

\S

Kernel \r on an \m


[root@localhost tmp]# 


3.2、 bzip2, bunzip2 、bzcat

  bzip2 [ options ] [ filenames ...  ]  //压缩单个文件,后缀为.bz2,同时删除原文件

[ options ]:

    -d:直接解压缩,相当于bunzip,

    -#:制定压缩比,默认是6,数字越大,压缩比越大(范围1-9),不建议修改

    -k:保留原文件


   bunzip2 [ options ] [ filenames ...  ]

   bzcat [ -s ] [ filenames ...  ]

如:

[root@localhost tmp]# gzip ./*

[root@localhost tmp]# ll

total 8

-rw-r--r--. 1 root root 295 Nov 20 19:38 fstab.gz

-rw-r--r--. 1 root root  49 Nov 20 19:38 issue.gz

[root@localhost tmp]# gzip -d fstab.gz issue.gz

[root@localhost tmp]# ll

total 8

-rw-r--r--. 1 root root 540 Nov 20 19:38 fstab

-rw-r--r--. 1 root root  23 Nov 20 19:38 issue



3.3、 xz,  unxz,  xzcat,

  xz [ options ] [ filenames ...  ]  //压缩单个文件,后缀为.xz,同时删除原文件

[ options ]:

    -d:直接解压缩,相当于unxz,

    -#:制定压缩比,默认是6,数字越大,压缩比越大(范围1-9),不建议修改

    -k:保留原文件



注意:gzip、bzip、xz只能压缩文件不能是目录,而且三者压缩和解压缩都会删除原文件,三者压缩比依次增大



3.4、归档工具:tar、cpio

由于gzip、bzip2、xz压缩软件只能压缩单个文件,不能压缩目录。这种情况下,

如果要压缩一个目录,则先要进行归档操作,归档操作就是将多个文件打包成一个。

归档一般会增大文件体积,因为归档也要有一些文件参与,因此可以将目录归档后在压缩。


3.4.1、tar命令格式:

  tar [OPTION...] [FILE]...

注意:tar命令的options可以不带“-”,而且创建、展开、查看必须带-f选项。

options:

    -c:创建归档

      tar -cf /PATH/TO/SOMEFILE.tar FILE....

    -x:展开归档;-C:和-x一起使用表示展开到何处目录,也可以不跟,表示当前目录

      tar -xf /PATH/FROM/SOMEFILE.tar [-C /TO/SOME/PATH]

    -t:不展开归档查看归档文件

      tar -tf /PATH/TO/SOMEFILE.tar

归档后在进行压缩,也可以归档的同时进行压缩(结合gzip、bzip2、xz)。

    归档并压缩:

    -z:调用gzip

    -j:调用bzip2

    -J:调用xz

    tar {z|j|J}cf /PATH/TO/SOMEFILE.tar.{gz|bz2|xz} FILE...  //归档并压缩

    tar {z|j|J}xf /PATH/TO/SOMEFILE.tar.{gz|bz2|xz} FILE...  //展开归档并解压缩

如:  

[root@localhost tmp]# ls

test

[root@localhost tmp]# tar -zcf test.tar.gz test/

[root@localhost tmp]# ll

total 8

drwxr-xr-x. 2 root root   49 Nov 20 20:55 test

-rw-r--r--. 1 root root 5139 Nov 20 21:08 test.tar.gz

[root@localhost tmp]# 


如:

[root@localhost tmp]# ll

total 0

drwxr-xr-x. 2 root root 49 Nov 20 20:55 test

[root@localhost tmp]# gzip test/

gzip: test/ is a directory -- ignored

[root@localhost tmp]# tar -cf test/    //必须指明归档后的文件名,否则不通过,如这里所示

tar: Cowardly refusing to create an empty archive

Try `tar --help‘ or `tar --usage‘ for more information.

[root@localhost tmp]# tar -cf test.tar test/

[root@localhost tmp]# ls

test  test.tar

[root@localhost tmp]# tar -tf test.tar //查看归档中的文件有哪些

test/

test/fstab

test/functions

test/issue

[root@localhost tmp]# 

[root@localhost tmp]# gzip test.tar 

[root@localhost tmp]# ll

total 8

drwxr-xr-x. 2 root root   49 Nov 20 20:55 test

-rw-r--r--. 1 root root 5148 Nov 20 20:56 test.tar.gz

[root@localhost tmp]# 


3.5、zip:既能归档又能压缩,因此可以压缩目录,但是压缩比有限。

zip、unzip

命令格式:

   zip /PATH/TO/SOMEFILE.zip FILE....

如:

[root@localhost tmp]# ls

test

[root@localhost tmp]# zip test

zip error: Nothing to do! (test.zip)

[root@localhost tmp]# zip test.zip 

zip error: Nothing to do! (test.zip)

[root@localhost tmp]# zip test.zip test/

  adding: test/ (stored 0%)

[root@localhost tmp]# ls

test  test.zip

[root@localhost tmp]#   

9、压缩/解压缩及任务计划介绍

标签:压缩、解压缩、归档

原文地址:http://10631377.blog.51cto.com/10621377/1983611

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!