压缩单个文件命令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
|
本文转自 天黑顺路 51CTO博客,原文链接:http://blog.51cto.com/mjal01/1957968,如需转载请自行联系原作者