1. 压缩打包介绍
常见压缩文件
Windows .rar .zip .7Z
Linux .zip,.gz,bz2,.xz,.tar.gz,tar.bz2,.tar.xz
压缩效果从大到小:xz>tar.gz>gz
2、 gzip压缩工具
gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
语法
gzip(选项)(参数)
选项
-a或——ascii:使用ASCII文字模式;-d或--decompress或----:解开压缩文件;-f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;-h或——:在线帮助;-l或——list:列出压缩文件的相关信息;-L或——license:显示版本与版权信息;-n或--no-name:压缩文件时,不保存原来的文件名称及时间戳记;-N或——name:压缩文件时,保存原来的文件名称及时间戳记;-q或——quiet:不显示警告信息;-r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;-S或 <压缩字尾字符串> 或----suffix <压缩字尾字符串> :更改压缩字尾字符串;-t或——:测试压缩文件是否正确无误;-v或——verbose:显示指令执行过程;-V或——version:显示版本信息;- <压缩效率> :压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;--best:此参数的效果和指定“-9”参数相同;--fast:此参数的效果和指定“-1”参数相同。 压缩效率> 压缩字尾字符串> 压缩字尾字符串>
参数
文件列表:指定要压缩的文件列表。
实例
解压缩为1.txt.gz;解压缩1.txt.gz
gzip -d 1.txt.gz / unzip 1.txt.gz
gzip -# 1.txt //#范围1-9,默认6
不能压缩目录。压缩过后的文件是二进制文件。查看文件file+压缩名;使用zcat+压缩包查看内容。
里面的{}表示find 找到的文件。使用du -sh 1.txt,查看1.txt的大小,命令:wc -l 1.txt查看一下行号。
直接使用gzip压缩。
加上-d解压缩,使用wc -l 1.txt查看一下行数。
命令:gzip -c 1.txt > /root/1.txt.gz压缩到指定的目录/root/1.txt.gz中去,并保存下来。
命令:gunzip -c 1.txt > /root/1.txt.gz解压缩到指定的目录/root/1.txt.gz中去,并保存下来。
把test6目录下的每个文件压缩成.gz文件
gzip 文件
把上例中每个压缩的文件解压,并列出详细的信息
gzip -dv 文件
详细显示例1中每个压缩的文件的信息,并不解压
gzip -l 文件
压缩一个tar备份文件,此时压缩文件的扩展名为.tar.gz
gzip -r log.tar
递归的压缩目录
gzip -rv test6
这样,所有test下面的文件都变成了*.gz,目录依然存在只是目录里面的文件相应变成了*.gz.这就是压缩,和打包不同。因为是对目录操作,所以需要加上-r选项,这样也可以对子目录进行递归了。
递归地解压目录
gzip -dr test6
3、 bzip2压缩工具
bzip2命令用于创建和管理(包括解压缩)“.bz2”格式的压缩包。我们遇见Linux压缩打包方法有很多种,以下讲解了Linux压缩打包方法中的Linux bzip2命令的多种范例供大家查看,相信大家看完后会有很多收获。
注意:不能压缩目录
语法
bzip2(选项)(参数)
选项
-c或——stdout:将压缩与解压缩的结果送到标准输出;-d或——decompress:执行解压缩;-f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数;-h或——:在线帮助;-k或——keep:bzip2在压缩或解压缩后,会删除原始文件。若要保留原始文件,请使用此参数;-s或——small:降低程序执行时内存的使用量;-t或——:测试.bz2压缩文件的完整性;-v或——verbose:压缩或解压缩文件时,显示详细的信息;-z或——:强制执行压缩;-V或——version:显示版本信息;-d 解压缩--repetitive-best:若文件中有重复出现的资料时,可利用此参数提高压缩效果;--repetitive-fast:若文件中有重复出现的资料时,可利用此参数加快执行效果。
参数
文件:指定要压缩的文件。
实例
使用yum install -y bzip2安装压缩包
bzip2 -c 1.txt > /tmp/1.txt.bz2 指定到压缩的路径下;使用du -sh /tmp/1.txt.bz2查看。
使用file 1.txt.bz2查看类型
压缩指定文件filename:
bzip2 filename或bzip2 -z filename
这里,压缩的时候不会输出,会将原来的文件filename给删除,替换成filename.bz2.如果以前有filename.bz2则不会替换并提示错误(如果想要替换则指定-f选项,例如bzip2 -f filename
;如果filename是目录则也提醒错误不做任何操作;如果filename已经是压过的了有bz2后缀就提醒一下,不再压缩,没有bz2后缀会再次压缩。
解压指定的文件filename.bz2:
bzip2 -d filename.bz2或 filename.bz2
这里,解压的时候没标准输出,会将原来的文件filename.bz2给替换成filename。如果以前有filename则不会替换并提示错误(如果想要替换则指定-f
选项,例如bzip2 - filename.bz2
。
压缩解压的时候将结果也输出:
$bzip2 -v filename
输入之后,输出如下:
filename: 0.119:1, 67.200 bits/byte, -740.00% saved, 5 in, 42 out.
这里,加上-v
选项就会输出了,只用压缩举例了,解压的时候同理bzip2 -dv filename.bz2
不再举例了。
模拟解压实际并不解压:
bzip2 -tv filename.bz2
输入之后,输出如下:
filename.bz2: ok
这里,-t
指定要进行模拟解压,不实际生成结果,也就是说类似检查文件,当然就算目录下面有filename也不会有什么错误输出了,因为它根本不会真的解压文件。为了在屏幕上输出,这里加上-v
选项了,如果是真的解压bzip2 -dv filename.bz2
则输出的是把"ok"替换成了"done"。
压缩解压的时候,除了生成结果文件,将原来的文件也保存:
bzip2 -k filename
这里,加上-k
就保存原始的文件了,否则原始文件会被结果文件替代。只用压缩举例了,解压的时候同理$bzip2 -dk filename.bz2
不再举例了。
解压到标准输出:
bzip2 -dc filename.bz2
输入之后,输出如下:
hahahhaahahha
这里,使用-c
指定到标准输出,输出的是文件filename的内容,不会将filename.bz2删除。
压缩到标准输出:
bzip2 -c filenamebzip2: I won't compressed data to a terminal.bzip2: For help, : `bzip2 --help'.
这里,使用-c
指定压缩到标准输出不删除原有文件,不同的是,压缩后的文件无法输出到标准输出。
使用bzip2的时候将所有后面的看作文件(即使文件名以'-'开头):
bzip2 -- -myfilename
4 、xz压缩工具
一、通过 yum装个xz压缩包,然后解压,操作如下:
-
yum search xz #安装xz包
-
xz -d #解压缩你的文件.tar.xz
-
tar -xvf #你的文件.tar.xz
-
不能压缩目录
-
xzcat 1.txt .xz
-
xz -c 1.txt > /root/1.txt.xz #保留源文件,并压缩到指定的目录中。
-
xz -d -c /root/1.txt.xz > 1.txt.new3
-
xzcat /tmp/2.txt.xz #查看压缩的包内容
二、创建或解压tar.xz文件的方法
-
习惯了 tar czvf 或 tar xzvf 的人可能碰到 tar.xz也会想用单一命令搞定解压或压缩。
-
其实不行 tar里面没有征对xz格式的参数比如 z是针对 gzip,j是针对 bzip2。
-
创建tar.xz文件:只要先 tar cvf xxx.tar xxx/ 这样创建xxx.tar文件先,然后使用 xz -z xxx.tar 来将 xxx.tar压缩成为 xxx.tar.xz
选项
-z, --compress force compression(强制压缩) -d, --decompress force decompression(强制解压) -t, --test test compressed file integrity(测试压缩文件完整性) -l, --list list information about files(列出相关文件的信息) -k, --keep keep (don't delete) input files(保留(不要删除)输入文件) -f, --force force overwrite of output file and (de)compress links (强制覆盖输出文件和压缩链接) -c, --stdout write to standard output and don't delete input files (写入标准输出,不要删除输入文件) -0 .. -9 compression preset; 0-2 fast compression, 3-5 good (压缩预设; 0-2快速压缩,3-5好) compression, 6-9 excellent compression; default is 6 (压缩,6-9优秀压缩; 默认为6)) -e, --extreme use more CPU time when encoding to increase compression (编码时使用更多的CPU时间来增加压缩) ratio without increasing memory usage of the decoder (比例,而不增加解码器的内存使用) -q, --quiet suppress warnings; specify twice to suppress errors too (抑制警告; 指定两次以抑制错误) -v, --verbose be verbose; specify twice for even more verbose (冗长; 指定两次更详细) -h, --help display this short help(显示帮助信息)) -H, --long-help display the long help (lists also the advanced options) (显示长期帮助(还列出了高级选项)) -V, --version display the version number(显示版本号)