压缩文件扩展名:
-
.tar:tar程序打包的数据,没经过压缩
-
.tar.gz:tar程序打包,并经过gzip压缩
-
.tgz
-
.gz:gzip程序压缩的文件
-
.Z:Compress程序压缩的文件
-
.bz2:bzip2程序压缩的文件
-
.xz:xz程序压缩的文件
Linux上最常见的压缩指令为gzip、bzip2、最新的xz;Windows上最常用的是zip。
tar则是打包。
1、tar:解压缩
用法:tar [主选项] [次选项] 文件
常用:tar -xzvf xxx.tar.gz
主选项:必须且只能选择一项
- -x:解压缩
- -t:列出tar
- -c:压缩
次选项:
- -z:用gzip压缩或解压,用于.tar.gz和.tgz文件
- -j:用bzip2压缩或解压,用于.tar.bz2文件
- -v:压缩过程中显示文件
- -f:要解压的文件,后接文件路径或文件名,不能再接其它选项,这决定了选项如果连续写时f只能放在最后,例如-xzvf xxx.tar.gz
- -p:使用源文件的各种属性
- -C:解压缩到指定目录下
2、gzip:压缩
zcat/zmore/zless/zgrep:解压缩
用法:
-
gzip [-cdtv#] 文档名
-
zcat 档名.gz
说明
- 当使用gzip压缩时,在预设状态下原本的文件会被压缩为.gz档名,源文件不再存在。
选项
选项 |
说明 |
c | 将压缩数据输出到屏幕,可通过数据流重导向来处理; |
d | 解压缩的参数; |
t | 检验压缩文件的一致性,看看文件有无错误 |
v | 压缩比 |
# |
数字,代表压缩等级: -1最快,但压缩比最差; -9最慢,压缩比最好; -6 默认。 |
例子
①gzip、找到/tec下(不含子目录)容量最大的文件,并将它复制到/tmp,然后以gzip压缩
[dmtsai@study ~]$ ls -ldSr /etc/* # 忘记选项意义?请自行 man 啰! .....(前面省略)..... -rw-r--r--. 1 root root 25213 Jun 10 2014 /etc/dnsmasq.conf -rw-r--r--. 1 root root 69768 May 4 17:55 /etc/ld.so.cache -rw-r--r--. 1 root root 670293 Jun 7 2013 /etc/services [dmtsai@study ~]$ cd /tmp [dmtsai@study tmp]$ cp /etc/services . [dmtsai@study tmp]$ gzip -v services services: 79.7% -- replaced with services.gz [dmtsai@study tmp]$ ll /etc/services /tmp/services* -rw-r--r--. 1 root root 670293 Jun 7 2013 /etc/services -rw-r--r--. 1 dmtsai dmtsai 136088 Jun 30 18:40 /tmp/services.gz
3、bzip:压缩
bzcat/bzmore/bzless/bzgrep:解压缩
用法
-
bzip2 [-cdkzv#] 档名
-
bzcat 档名.bz2
选项
与gzip的选项类似
选项 |
说明 |
c | 输出到屏幕 |
d | 解压缩的参数 |
k | 保留原文件 |
z | 压缩的参数 |
v | 显示压缩比等信息 |
# | 计算压缩比 |
说明
- 用于取代gzip,bzip的压缩比更高
- 选项都和gzip一样,只是扩展名从.gz变为了.bz2
例子
范例一:将刚刚 gzip 范例留下来的 /tmp/services 以 bzip2 压缩 [dmtsai@study tmp]$ bzip2 -v services services: 5.409:1, 1.479 bits/byte, 81.51% saved, 670293 in, 123932 out. [dmtsai@study tmp]$ ls -l services* -rw-r--r--. 1 dmtsai dmtsai 123932 Jun 30 18:40 services.bz2 -rw-rw-r--. 1 dmtsai dmtsai 135489 Jun 30 18:46 services.gz # 此时 services 会变成 services.bz2 之外,你也可以发现 bzip2 的压缩比要较 gzip 好喔!! # 压缩率由 gzip 的 79% 提升到 bzip2 的 81% 哩! 范例二:将范例一的文件内容读出来! [dmtsai@study tmp]$ bzcat services.bz2 范例三:将范例一的文件解压缩 [dmtsai@study tmp]$ bzip2 -d services.bz2 范例四:将范例三解开的 services 用最佳的压缩比压缩,并保留原本的文件 [dmtsai@study tmp]$ bzip2 -9 -c services > services.bz2
4、xz:压缩
xzcat/xzmore/xzless/xzgrep:解压缩
用法:xz [-dtlkc#] 档名
xcate 档名.xz
选项:同bzip
说明:压缩比比bzip2更高,用法也相同。
例子
范例一:将刚刚由 bzip2 所遗留下来的 /tmp/services 透过 xz 来压缩! [dmtsai@study tmp]$ xz -v services services (1/1) 100 % 97.3 KiB / 654.6 KiB = 0.149 [dmtsai@study tmp]$ ls -l services* -rw-rw-r--. 1 dmtsai dmtsai 123932 Jun 30 19:09 services.bz2 -rw-rw-r--. 1 dmtsai dmtsai 135489 Jun 30 18:46 services.gz -rw-r--r--. 1 dmtsai dmtsai 99608 Jun 30 18:40 services.xz # 各位观众!看到没有啊!!容量又进一步下降的更多耶!好棒的压缩比! 范例二:列出这个压缩文件的信息,然后读出这个压缩文件的内容 [dmtsai@study tmp]$ xz -l services.xz Strms Blocks Compressed Uncompressed Ratio Check Filename 1 1 97.3 KiB 654.6 KiB 0.149 CRC64 services.xz # 竟然可以列出这个文件的压缩前后的容量,真是太人性化了!这样观察就方便多了! [dmtsai@study tmp]$ xzcat services.xz 范例三:将他解压缩吧! [dmtsai@study tmp]$ xz -d services.xz 范例四:保留原文件的档名,并且建立压缩文件! [dmtsai@study tmp]$ xz -k services