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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9压缩/解压缩及任务计划介绍相关的知识,希望对你有一定的参考价值。

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

 如:

[[email protected] tmp]# ls

fstab  issue

[[email protected] tmp]# gzip -c issue > ./issue1.gz

[[email protected] 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

[[email protected] tmp]# zcat issue1.gz 

\S

Kernel \r on an \m


[[email protected] tmp]# 

    

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

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

如:

[[email protected] tmp]# ls

fstab  issue

[[email protected] tmp]# gzip fstab issue 

[[email protected] 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

[[email protected] tmp]#


[[email protected] tmp]# gunzip fstab.gz issue.gz 

[[email protected] 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

[[email protected] tmp]# 

 

[[email protected] tmp]# zcat issue.gz 

\S

Kernel \r on an \m


[[email protected] tmp]# 


3.2、 bzip2, bunzip2 、bzcat

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

[ options ]:

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

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

    -k:保留原文件


   bunzip2 [ options ] [ filenames ...  ]

   bzcat [ -s ] [ filenames ...  ]

如:

[[email protected] tmp]# gzip ./*

[[email protected] 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

[[email protected] tmp]# gzip -d fstab.gz issue.gz

[[email protected] 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...  //展开归档并解压缩

如:  

[[email protected] tmp]# ls

test

[[email protected] tmp]# tar -zcf test.tar.gz test/

[[email protected] 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

[[email protected] tmp]# 


如:

[[email protected] tmp]# ll

total 0

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

[[email protected] tmp]# gzip test/

gzip: test/ is a directory -- ignored

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

tar: Cowardly refusing to create an empty archive

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

[[email protected] tmp]# tar -cf test.tar test/

[[email protected] tmp]# ls

test  test.tar

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

test/

test/fstab

test/functions

test/issue

[[email protected] tmp]# 

[[email protected] tmp]# gzip test.tar 

[[email protected] 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

[[email protected] tmp]# 


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

zip、unzip

命令格式:

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

如:

[[email protected] tmp]# ls

test

[[email protected] tmp]# zip test

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

[[email protected] tmp]# zip test.zip 

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

[[email protected] tmp]# zip test.zip test/

  adding: test/ (stored 0%)

[[email protected] tmp]# ls

test  test.zip

[[email protected] tmp]#   

以上是关于9压缩/解压缩及任务计划介绍的主要内容,如果未能解决你的问题,请参考以下文章

Linux计划任务及压缩归档

打包压缩_任务计划_日志

Linux的归档及压缩和Linux的cron时间计划任务

压缩工具和计划任务

crontab[计划任务],tar[压缩],grep[查找]

Linux 达人养成计划学习笔记(6-压缩命令)