6.1 压缩打包介绍
常用压缩文件
·Windows .rar .zip .7z
·Linux .zip .gz .bz2 .xz .tar .gz .tar .bz2 tar .xz
Linux下后缀名并没有Windows不重要,但是需要通过后缀名来判断压缩包是类型的文件
6.2 gzip压缩工具
Linux下常用的压缩工具:gzip,bzip2,xz,zip,tar
·gizp压缩工具
首先准备一个文件
[[email protected] ~]# cd /tmp/ [[email protected] tmp]# mkdir d6z [[email protected] tmp]# cd d6z/ [[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \; [[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \; [[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \; [[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \; [[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \; [[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \; [[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \; [[email protected] d6z]# ll -h 总用量 2.2M -rw-r--r--. 1 root root 1.7M 1月 3 22:20 1.txt ##文件实际大小和总用量有差距,里面存在虚量
·压缩命令:gzip 文件名
[[email protected] d6z]# gzip 1.txt [[email protected] d6z]# ll -h 总用量 436K -rw-r--r--. 1 root root 433K 1月 3 22:20 1.txt.gz
·解压缩命令:gzip -d 压缩包文件名 / unzip 1.txt.gz
[[email protected] d6z]# gzip -d 1.txt.gz [[email protected] d6z]# ll -h 总用量 1.7M -rw-r--r--. 1 root root 1.7M 1月 3 22:20 1.txt ##压缩解压缩一次会将虚量挤掉
·另一个解压缩命令:gunzip 压缩包文件名
[[email protected] d6z]# gunzip 1.txt.gz [[email protected] d6z]# ll -h 总用量 1.7M -rw-r--r--. 1 root root 1.7M 1月 3 22:20 1.txt
·设定压缩级别(不能压缩目录):gzip -压缩级别(1-9) 文件名
[[email protected] d6z]# gzip -1 1.txt ##指定压缩级别,默认6级别,1为最快,9为最好 [[email protected] d6z]# ll -h 总用量 512K -rw-r--r--. 1 root root 512K 1月 3 22:20 1.txt.gz [[email protected] d6z]# gzip -9 1.txt ##压缩到一定程度后,文件大小不会再有所变化 [[email protected] d6z]# ll -h 总用量 432K -rw-r--r--. 1 root root 431K 1月 3 22:20 1.txt.gz
·查看压缩文件内容:zcat 压缩包文件名
[[email protected] d6z]# zcat 1.txt.gz
内容过多,不详细展示
·压缩时指定压缩文件保存目录并且不删除源文件:gzip -c 文件名 > 压缩包绝对路径
[[email protected] d6z]# gzip -c 1.txt > /tmp/1.txt.gz [[email protected] d6z]# ll 总用量 1664 -rw-r--r--. 1 root root 1700160 1月 3 22:20 1.txt [[email protected] d6z]# ls 1.txt [[email protected] d6z]# ls /tmp/1.txt.gz /tmp/1.txt.gz [[email protected] d6z]# file !$ file /tmp/1.txt.gz /tmp/1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Wed Jan 3 22:20:29 2018
·解压缩文件时不删除原压缩文件:gunzip -c 压缩文件绝对路径 > 目标文件路径 / gzip -d -c
[[email protected] d6z]# gunzip -c /tmp/1.txt.gz > /tmp/d6z/2.txt [[email protected] d6z]# ls /tmp/ 1.txt.gz systemd-private-563dd467f5694de9a79e64f675ddbbd6-chronyd.service-pvAtKB d6z systemd-private-563dd467f5694de9a79e64f675ddbbd6-vgauthd.service-CxHB7l ks-script-ThyP1C systemd-private-563dd467f5694de9a79e64f675ddbbd6-vmtoolsd.service-0pWLAR passwd yum.log [[email protected] d6z]# du -sh 1.txt 2.txt 1.7M1.txt 1.7M2.txt
6.3 bzip2压缩工具
bzip2和gzip比压缩更狠,使用方法差不错
·压缩命令:bzip2 文件名 (不支持压缩目录)
[[email protected] d6z]# bzip2 1.txt [[email protected] d6z]# ls 1.txt.bz2 2.txt [[email protected] d6z]# du -sh 1.txt.bz2 164K1.txt.bz2
·解压缩命令:bzip2 -d 压缩文件名 / bunzip2 压缩文件名
[[email protected] d6z]# bzip2 -d 1.txt.bz2 [[email protected] d6z]# ll -h 总用量 3.3M -rw-r--r--. 1 root root 1.7M 1月 3 22:20 1.txt -rw-r--r--. 1 root root 1.7M 1月 3 22:56 2.txt [[email protected] d6z]# bzip2 1.txt [[email protected] d6z]# bunzip2 1.txt.bz2 [[email protected] d6z]# ll -h 总用量 3.3M -rw-r--r--. 1 root root 1.7M 1月 3 22:20 1.txt -rw-r--r--. 1 root root 1.7M 1月 3 22:56 2.txt
·压缩到一个指定目录下:bzip2 -c 文件名 > 压缩文件绝对路径
[[email protected] d6z]# bzip2 -c 1.txt > /tmp/1.txt.bz2 [[email protected] d6z]# ll -h 总用量 3.3M -rw-r--r--. 1 root root 1.7M 1月 3 22:20 1.txt -rw-r--r--. 1 root root 1.7M 1月 3 22:56 2.txt [[email protected] d6z]# ll -h /tmp/ 总用量 616K -rw-r--r--. 1 root root 163K 1月 4 21:32 1.txt.bz2 -rw-r--r--. 1 root root 433K 1月 3 22:51 1.txt.gz drwxr-xr-x. 2 root root 32 1月 4 21:26 d6z -rwx------. 1 root root 836 12月 28 05:59 ks-script-ThyP1C -rw-r--r--. 1 root root 10K 12月 31 23:18 passwd drwx------. 3 root root 17 1月 4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-chronyd.service-gea3cL drwx------. 3 root root 17 1月 4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vgauthd.service-37GJ3e drwx------. 3 root root 17 1月 4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vmtoolsd.service-BZPrDh -rw-------. 1 root root 0 12月 28 05:36 yum.log
·解压缩到指定目录下:bzip2 -d -c
[[email protected] d6z]# bzip2 -d -c /tmp/1.txt.bz2 > 3.txt [[email protected] d6z]# ll -h 总用量 4.9M -rw-r--r--. 1 root root 1.7M 1月 3 22:20 1.txt -rw-r--r--. 1 root root 1.7M 1月 3 22:56 2.txt -rw-r--r--. 1 root root 1.7M 1月 4 21:35 3.txt [[email protected] d6z]# ll -h /tmp/ 总用量 616K -rw-r--r--. 1 root root 163K 1月 4 21:32 1.txt.bz2 -rw-r--r--. 1 root root 433K 1月 3 22:51 1.txt.gz drwxr-xr-x. 2 root root 45 1月 4 21:35 d6z -rwx------. 1 root root 836 12月 28 05:59 ks-script-ThyP1C -rw-r--r--. 1 root root 10K 12月 31 23:18 passwd drwx------. 3 root root 17 1月 4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-chronyd.service-gea3cL drwx------. 3 root root 17 1月 4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vgauthd.service-37GJ3e drwx------. 3 root root 17 1月 4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vmtoolsd.service-BZPrDh -rw-------. 1 root root 0 12月 28 05:36 yum.log
·设定压缩级别:bzip2 -压缩级别(1-9) 文件名
[[email protected] d6z]# bzip2 -9 1.txt [[email protected] d6z]# du -sh 1.txt.bz2 164K1.txt.bz2
(bzip2默认压缩级别就是9)
·查看压缩文件内容:bzcat 压缩文件名
[[email protected] d6z]# bzcat 1.txt.bz2
内容过多,不详细展示
疑问:gzip压缩过的文件用bzip2工具能解压缩吗?或者bzip2压缩过的文件用gzip解压?
[[email protected] d6z]# gzip -d 1.txt.bz2
gzip: 1.txt.bz2: unknown suffix -- ignored
[[email protected] d6z]# bunzip2 /tmp/1.txt.gz
bunzip2: Can't guess original name for /tmp/1.txt.gz -- using /tmp/1.txt.gz.out
bunzip2: /tmp/1.txt.gz is not a bzip2 file.
答案当然是不可以~!
6.4 xz压缩工具
·压缩命令:xz 文件名 / xz -z 文件名 (不能压缩目录)
[[email protected] d6z]# xz 1.txt [[email protected] d6z]# ll -h 总用量 3.4M -rw-r--r--. 1 root root 56K 1月 3 22:20 1.txt.xz ##压缩级别很高 -rw-r--r--. 1 root root 1.7M 1月 3 22:56 2.txt -rw-r--r--. 1 root root 1.7M 1月 4 21:35 3.txt
·解压缩命令:xz -d 压缩文件名 / unxz 压缩文件名
[[email protected] d6z]# unxz 1.txt.xz [[email protected] d6z]# ll -h 总用量 4.9M -rw-r--r--. 1 root root 1.7M 1月 3 22:20 1.txt -rw-r--r--. 1 root root 1.7M 1月 3 22:56 2.txt -rw-r--r--. 1 root root 1.7M 1月 4 21:35 3.txt
·设定压缩级别:xz -级别 文件名 (1-9,默认6)
[[email protected] d6z]# xz -9 1.txt [[email protected] d6z]# ll -h 总用量 3.4M -rw-r--r--. 1 root root 56K 1月 3 22:20 1.txt.xz -rw-r--r--. 1 root root 1.7M 1月 3 22:56 2.txt -rw-r--r--. 1 root root 1.7M 1月 4 21:35 3.txt
·查看压缩文件内容:xzcat 压缩文件名
[[email protected] d6z]# xzcat 1.txt.xz
内容过多,不详细展示
·压缩到指定目录:xz -c 文件名 > 压缩文件绝对路径
[[email protected] d6z]# xz -c 1.txt > /tmp/1.txt.xz [[email protected] d6z]# ll 总用量 4992 -rw-r--r--. 1 root root 1700160 1月 3 22:20 1.txt ##被压缩的文件不会被删除 -rw-r--r--. 1 root root 1700160 1月 3 22:56 2.txt -rw-r--r--. 1 root root 1700160 1月 4 21:35 3.txt [[email protected] d6z]# ll /tmp/ 总用量 672 -rw-r--r--. 1 root root 166901 1月 4 21:32 1.txt.bz2 -rw-r--r--. 1 root root 442631 1月 3 22:51 1.txt.gz -rw-r--r--. 1 root root 57088 1月 4 22:00 1.txt.xz drwxr-xr-x. 2 root root 45 1月 4 21:59 d6z -rwx------. 1 root root 836 12月 28 05:59 ks-script-ThyP1C -rw-r--r--. 1 root root 10152 12月 31 23:18 passwd drwx------. 3 root root 17 1月 4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-chronyd.service-gea3cL drwx------. 3 root root 17 1月 4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vgauthd.service-37GJ3e drwx------. 3 root root 17 1月 4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vmtoolsd.service-BZPrDh -rw-------. 1 root root 0 12月 28 05:36 yum.log
·解压缩到指定目录:xz -d -c 压缩文件绝对路径 > 文件名
[[email protected] d6z]# xz -d -c /tmp/1.txt.xz > 4.txt [[email protected] d6z]# ll /tmp/ 总用量 672 -rw-r--r--. 1 root root 166901 1月 4 21:32 1.txt.bz2 -rw-r--r--. 1 root root 442631 1月 3 22:51 1.txt.gz -rw-r--r--. 1 root root 57088 1月 4 22:00 1.txt.xz ##被解压缩的文件不会被删除 drwxr-xr-x. 2 root root 58 1月 4 22:01 d6z -rwx------. 1 root root 836 12月 28 05:59 ks-script-ThyP1C -rw-r--r--. 1 root root 10152 12月 31 23:18 passwd drwx------. 3 root root 17 1月 4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-chronyd.service-gea3cL drwx------. 3 root root 17 1月 4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vgauthd.service-37GJ3e drwx------. 3 root root 17 1月 4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vmtoolsd.service-BZPrDh -rw-------. 1 root root 0 12月 28 05:36 yum.log [[email protected] d6z]# ll 总用量 6656 -rw-r--r--. 1 root root 1700160 1月 3 22:20 1.txt -rw-r--r--. 1 root root 1700160 1月 3 22:56 2.txt -rw-r--r--. 1 root root 1700160 1月 4 21:35 3.txt -rw-r--r--. 1 root root 1700160 1月 4 22:01 4.txt ##被解压出的文件
原文地址:http://blog.51cto.com/11530642/2057941