压缩单个文件命令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
|