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

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

压缩文件:

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

1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012tmp] # cd xia
1
2
3
4
5
6
7
8
9
10
11
12
13
[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参数指定压缩到新的文件。

1
2
3
4
5
6
7
8
[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的压缩文件。

1
2
3
4
5
6
7
8
9
[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文件,产生解压前的原始文件。)

1
2
3
4
5
6
[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参数指定解压到新的文件。

1
2
3
4
5
6
7
8
[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中压缩文件夹那样是将文件夹进行打包。

1
2
3
4
5
6
7
8
9
[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压缩的文件夹,

1
2
3
4
5
[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.

1
2
3
4
5
6
7
8
9
10
[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的压缩文件。

1
2
3
4
5
6
[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文件,产生压缩前的原始文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[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文件。

1
2
3
4
5
6
7
8
9
[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文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[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