压缩与打包
压缩
一、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
这样即可保留源文件
对比gzip和compress压缩的效果
[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目录下,分别使用gzip和bzip2格式打包压缩
[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