压缩与打包

压缩

一、compress

用法

[root@localhosttest]# compress  -[rcv] 文件或目录


参数

         -r:递归压缩,将目录下的子目录或文件一起压缩

         -c:将压缩数据输出为standardoutput (输出到屏幕)

         -v:显示压缩后文件的信息及压缩率

:将/etc/passwd复制到/tmp/test下压缩

[root@localhost test]# cp /etc/passwd .
[root@localhost test]# compress -v passwd
passwd:  -- replaced with passwd.Z Compression: 43.23%


注意:这里passwd压缩后被替换为passwd.Z,并且显示压缩率,我们对比一下,压缩前和压缩后文件的大小

[root@localhost test]# ls -lh /etc/passwd/tmp/test/passwd*
-rw-r--r--. 1 root root 1.5K Sep 21 14:07/etc/passwd
-rw-r--r--. 1 root root  860 Oct 6 06:09 /tmp/test/passwd.Z                压缩后


解压

[root@localhosttest]# uncompress 压缩文件名


[root@localhost test]# uncompress passwd.Z
[root@localhost test]# ls -l passwd*
-rw-r--r--. 1 root root 1515 Oct  6 06:09 passwd

 

二、gzip

用法

[root@localhosttest]# gzip –[cdtv#] 文件名


参数

         -c:将压缩的文件输出到屏幕上,可以重定向处理

         -d:解压

         -t:可以用来检验压缩文件的一致性,看文件是否有错

         -v:显示源文件/压缩文件的压缩比信息

         -#:压缩等级;-1最快,压缩比差;-9最慢,压缩比高;-6最佳

:将/etc/passwd复制到/tmp/test下,使用gzip压缩

[root@localhost test]# gzip -v passwd
[root@localhost test]# ls -lh passwd*
-rw-r--r--. 1 root root 645 Oct  6 06:09 passwd.gz

注意:gzip压缩也会覆盖原文件

如果想保留源文件,则可以使用–c参数,将压缩文件重定向为其他文件

[root@localhost test]# gzip -9 -c passwd> passwdgz.gz
[root@localhost test]# ls -l passwd*
-rw-r--r--. 1 root root 1515 Oct  6 06:09 passwd
-rw-r--r--. 1 root root  645 Oct 6 06:42 passwdgz.gz

这样即可保留源文件

对比gzipcompress压缩的效果

[root@localhost test]# ls -l /etc/passwd/tmp/test/passwd*
-rw-r--r--. 1 root root 1515 Sep 21 14:07/etc/passwd                         源文件
-rw-r--r--. 1 root root  645 Oct 6 06:09 /tmp/test/passwd.gz                 gzip压缩
-rw-r--r--. 1 root root  860 Oct 6 06:37 /tmp/test/passwd.Z                  compress压缩


解压

[root@localhosttest]# gzip -d passwd.gz

注意:解压缩也会覆盖压缩文件并生成压缩前的文件

查看gzip压缩包:

[root@localhost test]# zcat passwdgz.gz

 

三、bzip2

用法

[root@localhosttest]# bzip2  -[cdkzv#] 文件名


参数

         -c:将压缩的文件输出到屏幕上,可以重定向处理

         -d:解压

         -k:保留原文件,不删除原始文件

         -v:显示源文件/压缩文件的压缩比信息

         -#:压缩等级;-1最快,压缩比差;-9最慢,压缩比高;-6最佳

         -z:压缩

:将/etc/passwd复制到/tmp/test下,使用bzip2压缩

[root@localhost test]# bzip2 -z passwd
[root@localhost test]# ls –l
total 12
-rw-r--r--. 1 root root 675 Oct  6 06:09 passwd.bz2
-rw-r--r--. 1 root root 645 Oct  6 06:42 passwdgz.gz
-rw-r--r--. 1 root root 860 Oct  6 06:37 passwd.Z

解压

[root@localhosttest]# bzip2 -d passwd.bz2

查看bzip2压缩文件内容

[root@localhosttest]# bzcat passwd.bz2

 

打包

一、tar

用法

[root@localhosttest]# tar [-j|-z] [cv] [-f 新文件名] filename
[root@localhost test]# tar [-j|-z] [tv] [-f 新文件名]
[root@localhost test]# tar [-j|-z] [xv] [-f 新文件名] [-C 目录]

参数

         -c:新建打包文件,可搭配-v来查看被打包的文件名

         -t:查看打包后文件含哪些文件名,重点是文件名

         -x:解包或解压缩,可配合-C在指定目录中解压

         -j:通过bzip2进行压缩/解压缩

         -z:通过gzip进行压缩/解压缩

         -v:在压缩/解压缩过程中,将正在处理的文件名显示出来

         -ffilename:后跟要被处理的文件名

         -C目录:指定解压目录

         -p:保留备份数据的原本权限与属性,常用于备份重要的配置文件

         -P:保留绝对路径,允许备份数据中有根目录

         --exclude=FILE:压缩过程中,不要将FILE打包

:将/etc/passwd/etc/shadow/etc/man.config复制到/tmp/test目录下,分别使用gzipbzip2格式打包压缩

[root@localhost test]# cp /etc/passwd .
[root@localhost test]# cp /etc/shadow .
[root@localhost test]# cp /etc/man.config .

使用gzip打包压缩

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

使用bzip2打包压缩

[root@localhost test]# tar -jpcv -ftest1.tar.bz2 /tmp/test/

查看两种打包压缩的区别

[root@localhost test]# ls -l /tmp/test1*
-rw-r--r--. 1 root root 3209 Oct  6 08:03 /tmp/test1.tar.bz2
-rw-r--r--. 1 root root 3217 Oct  6 08:02 /tmp/test1.tar.gz

查看打包文件内容

[root@localhost test]# tar -jtv -f/tmp/test1.tar.bz2
[root@localhost test]# tar -ztv -f/tmp/test1.tar.gz

解压

[root@localhost tmp]# tar -jxv -ftest1.tar.bz2 -C /tmp/test
[root@localhost tmp]# tar -zxv -ftest1.tar.gz -C /tmp/test