压缩单个文件命令gzip,bzip2:

    gzip可解开conpress,zip,gzip等软件所压缩的文件,gzip新建的压缩文件为*.gz的文件名。

压缩文件:

   使用gzip压缩后原文件会被新建的压缩文件覆盖。使用gzip压缩的文件在windows中能够被winrar解压。

[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012tmp]# cd xia
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# ll
total 16
-rw-r--r--. 1 root root 4940 Aug 21 10:42man.config
drwxrwxr--. 2 root root 4096 Aug 15 14:51newtest
-rw-rw-r--. 1 xia  xia    5 Aug 14 10:41 test
 
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# gzip -v man.config
man.config:      56.5% -- replaced with man.config.gz
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# ll
total 12
-rw-r--r--. 1 root root 2184 Aug 21 10:42man.config.gz
drwxrwxr--. 2 root root 4096 Aug 15 14:51newtest
-rw-rw-r--. 1 xia  xia    5 Aug 14 10:41 test

可以添加-c参数指定压缩到新的文件。

[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# gzip -c -v man.config>/tmp/xia/man.config.gz
man.config:      56.5%
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# ll
total 20
-rw-r--r--. 1 root root 4940 Aug 21 10:42man.config
-rw-r--r--. 1 root root 2184 Aug 21 10:48man.config.gz
drwxrwxr--. 2 root root 4096 Aug 15 14:51newtest
-rw-rw-r--. 1 xia  xia    5 Aug 14 10:41 test

读取压缩文件:

读取压缩文件可以用zcat命令。如果是gzip的压缩文件。

[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# zcat man.config.gz
#
# Generated automatically from man.conf.inby the
# configure script.
#
# man.conf from man-1.6f
#
# For more information about this file, seethe man pages man(1)
# and man.conf(5).

解压文件:

可以使用gzip -d 压缩文件名 来解压gz压缩文件。(此操作会删除原本的gz文件,产生解压前的原始文件。)

[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# gzip -d man.config.gz
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# ll
total 16
-rw-r--r--. 1 root root 4940 Aug 21 10:42man.config
drwxrwxr--. 2 root root 4096 Aug 15 14:51newtest
-rw-rw-r--. 1 xia  xia    5 Aug 14 10:41 test

可以添加-c参数指定解压到新的文件。

[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# gzip -c -d man.config.gz > man.config.bak
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# ll
total 28
-rw-r--r--. 1 root root 4940 Aug 21 10:42man.config
-rw-r--r--. 1 root root 4940 Aug 21 10:49man.config.bak
-rw-r--r--. 1 root root 2184 Aug 21 10:48man.config.gz
drwxrwxr--. 2 root root 4096 Aug 15 14:51newtest
-rw-rw-r--. 1 xia  xia    5 Aug 14 10:41 test

使用gzip -r压缩文件夹:

Gzip加上-r参数可以压缩文件,但是gzip只是对该文件夹下的文件进行压缩,而不是像windows中压缩文件夹那样是将文件夹进行打包。

[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012tmp]# ll /tmp/xia
total 12
-rw-r--r--. 1 root root 4940 Aug 21 11:00man.config
-rw-rw-r--. 1 xia  xia     5 Aug 14 10:41 test
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012tmp]# gzip -r xia
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012tmp]# ll /tmp/xia
total 8
-rw-r--r--. 1 root root 2184 Aug 21 11:00man.config.gz
-rw-rw-r--. 1 xia  xia   30 Aug 14 10:41 test.gz

使用gzip-d -r解压文件夹:

可以使用gzip -d -r  文件夹名 来解压之前使用gzip压缩的文件夹,

[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012tmp]# gzip -d -r xia
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012tmp]# ll /tmp/xia
total 12
-rw-r--r--. 1 root root 4940 Aug 21 11:00man.config
-rw-rw-r--. 1 xia  xia    5 Aug 14 10:41 test

 

bzip2用法与gzip的用法是差不多的。bzip2产生的压缩文件后缀名为.bz2.

[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# bzip2 -v -c man.config>man.config.bz2
 man.config:  2.251:1,  3.555 bits/byte, 55.57% saved, 4940 in, 2195out.
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# ll
total 32
-rw-r--r--. 1 root root 4940 Aug 21 10:42man.config
-rw-r--r--. 1 root root 4940 Aug 21 10:49man.config.bak
-rw-r--r--. 1 root root 2195 Aug 21 10:53man.config.bz2
-rw-r--r--. 1 root root 2184 Aug 21 10:48man.config.gz
drwxrwxr--. 2 root root 4096 Aug 15 14:51newtest
-rw-rw-r--. 1 xia  xia    5 Aug 14 10:41 test

读取压缩文件:

可以使用bzcat来读取bzip2的压缩文件。

[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# bzcat man.config.bz2
#
# Generated automatically from man.conf.inby the
# configure script.
#
# man.conf from man-1.6f

解压:

Bunzip2或者bzip2 -d可解压后缀名为bz,bz2,tbz,rbz2的文件.

Bzip1 -d 压缩文件名  这个命令会删除原本的bz2文件,产生压缩前的原始文件。

[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# ll
total 28
-rw-r--r--. 1 root root 4940 Aug 21 10:49man.config.bak
-rw-r--r--. 1 root root 2195 Aug 21 10:56man.config.bak.bz2
-rw-r--r--. 1 root root 2195 Aug 21 10:53man.config.bz2
-rw-r--r--. 1 root root 2184 Aug 21 10:48man.config.gz
drwxrwxr--. 2 root root 4096 Aug 15 14:51newtest
-rw-rw-r--. 1 xia  xia    5 Aug 14 10:41 test
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# bzip2 -d man.config.bz2
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# ll
total 32
-rw-r--r--. 1 root root 4940 Aug 21 10:53man.config
-rw-r--r--. 1 root root 4940 Aug 21 10:49man.config.bak
-rw-r--r--. 1 root root 2195 Aug 21 10:56man.config.bak.bz2
-rw-r--r--. 1 root root 2184 Aug 21 10:48man.config.gz
drwxrwxr--. 2 root root 4096 Aug 15 14:51newtest

可以添加-c参数。指定解压到新的文件,从而保留原本的bz2文件。

[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# bzip2 -d -c man.config.bak.bz2 >man.config
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# ll
total 32
-rw-r--r--. 1 root root 4940 Aug 21 11:00man.config
-rw-r--r--. 1 root root 4940 Aug 21 10:49man.config.bak
-rw-r--r--. 1 root root 2195 Aug 21 10:56man.config.bak.bz2
-rw-r--r--. 1 root root 2184 Aug 21 10:48man.config.gz
drwxrwxr--. 2 root root 4096 Aug 15 14:51newtest
-rw-rw-r--. 1 xia  xia    5 Aug 14 10:41 test

只用bunzip2命令解压bz2文件,则不会删除原本的bz2文件。

[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# ll
total 24
-rw-r--r--. 1 root root 4940 Aug 21 10:49man.config.bak
-rw-r--r--. 1 root root 2195 Aug 21 10:56man.config.bak.bz2
-rw-r--r--. 1 root root 2184 Aug 21 10:48 man.config.gz
drwxrwxr--. 2 root root 4096 Aug 15 14:51newtest
-rw-rw-r--. 1 xia  xia    5 Aug 14 10:41 test
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# bunzip2 man.config.bak.bz2
bunzip2: Output file man.config.bak alreadyexists.
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012xia]# ll
total 24
-rw-r--r--. 1 root root 4940 Aug 21 10:49man.config.bak
-rw-r--r--. 1 root root 2195 Aug 21 10:56man.config.bak.bz2
-rw-r--r--. 1 root root 2184 Aug 21 10:48man.config.gz
drwxrwxr--. 2 root root 4096 Aug 15 14:51newtest
-rw-rw-r--. 1 xia  xia    5 Aug 14 10:41 test