6.1 压缩打包介绍
压缩是为了节省空间或者方便传输,压缩后文件往往会变小很多 ,网络后文件变少传输时间短 带宽资源耗费变少, 对于公司来讲服务器上的文件经常被下载,压缩后传输的带宽比不压缩要减少很多,机房的带宽资源比普通家庭要昂贵压缩是有效的方法
windows 常见有RAR,ZIP 7Z
linux 常见的文件后缀名 .zip , .gz, .bz2 , .xz , .tar.gz, .tar.bz2, .tar.xz 后缀名不是很重要
后缀名很有用它可以指定一个工具是否可以打开它 ,在linux下文件名不是很重要,可以使用vi/vim直接打开 也可以直接看
我们可以看后缀名衡量判断它是什么文件,后缀名是什么不一定这样子,但是就好像有一种无形的约定,方便区分是怎样的文件工具
gzip压缩工具
gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
语法
gzip(选项)(参数)
选项
-a或——ascii:使用ASCII文字模式;
-d或--decompress或----uncompress:解开压缩文件;
-f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
-h或——help:在线帮助;
-l或——list:列出压缩文件的相关信息;
-L或——license:显示版本与版权信息;
-n或--no-name:压缩文件时,不保存原来的文件名称及时间戳记;
-N或——name:压缩文件时,保存原来的文件名称及时间戳记;
-q或——quiet:不显示警告信息;
-r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串;
-t或——test:测试压缩文件是否正确无误;
-v或——verbose:显示指令执行过程;
-V或——version:显示版本信息;
-<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;
--best:此参数的效果和指定“-9”参数相同;
--fast:此参数的效果和指定“-1”参数相同。
压缩
解压
压缩等级
默认压缩级别 6
压缩后怎么查看文件(压缩后变成二进制文件)
压缩到指定目录 并且不会消失源文件
解压到指定目录
bzip2压缩工具
bzip2命令用于创建和管理(包括解压缩)“.bz2”格式的压缩包。我们遇见Linux压缩打包方法有很多种,以下讲解了Linux压缩打包方法中的Linux bzip2命令的多种范例供大家查看,相信大家看完后会有很多收获
语法
bzip2(选项)(参数)
选项
-c或——stdout:将压缩与解压缩的结果送到标准输出;
-d或——decompress:执行解压缩;
-f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数;
-h或——help:在线帮助;
-k或——keep:bzip2在压缩或解压缩后,会删除原始文件。若要保留原始文件,请使用此参数;
-s或——small:降低程序执行时内存的使用量;
-t或——test:测试.bz2压缩文件的完整性;
-v或——verbose:压缩或解压缩文件时,显示详细的信息;
-z或——compress:强制执行压缩;
-V或——version:显示版本信息;
--repetitive-best:若文件中有重复出现的资料时,可利用此参数提高压缩效果;
--repetitive-fast:若文件中有重复出现的资料时,可利用此参数加快执行效果。
bzip2 与gzip基本一样 但bzip2 压缩的更很
解压
指定解压到目录
bzip2 同样都是9个压缩级别 默认是9 但是指定与不指定都一样
xz压缩工具
XZ 工具常用
xz同样不支持压缩目录
xz 1.txt | 压缩文件,压缩后源文件消失 |
du -sh 1.txt.xz | 查看压缩文件后大小 |
xz -d 1.txt.xz | 解压缩,解压缩后压缩包消失 |
unxz 1.txt.xz | 解压缩文件同xz -d |
xz -c 1.txt > ./2.txt.xz | 压缩文件到指定目录,支持重命名压缩后的文件名,压缩后源文件不消失 |
xzcat 2.txt.xz | more | 查看压缩包中文件的内容 |
xz -c -d 2.txt.xz > ./2.txt | 解压缩文件到指定目录支持重命名,压缩包不消失 |
unxz -c 2.txt.xz > ./3.txt | 同上 |
压缩的最很的压缩工具 xz>bzip2>gzip
解压
压缩到指定目录和解压到指定目录
查看压缩包的内容
zip压缩工具
ZIP 支持压缩目录 压缩后源文件不删除
ip命令可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。
语法
zip(选项)(参数)
zip -r 包名 目标
选项
-A:调整可执行的自动解压缩文件;
-b<工作目录>:指定暂时存放文件的目录;
-c:替每个被压缩的文件加上注释;
-d:从压缩文件内删除指定的文件;
-D:压缩文件内不建立目录名称;
-f:此参数的效果和指定“-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中;
-F:尝试修复已损坏的压缩文件;
-g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件;
-h:在线帮助;
-i<范本样式>:只压缩符合条件的文件;
-j:只保存文件名称及其内容,而不存放任何目录名称;
-J:删除压缩文件前面不必要的数据;
-k:使用MS-DOS兼容格式的文件名称;
-l:压缩文件时,把LF字符置换成LF+CR字符;
-ll:压缩文件时,把LF+cp字符置换成LF字符;
-L:显示版权信息;
-m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中;
-n<字尾字符串>:不压缩具有特定字尾字符串的文件;
-o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同;
-q:不显示指令执行过程;
-r:递归处理,将指定目录下的所有文件和子目录一并处理;
-S:包含系统和隐藏文件;
-t<日期时间>:把压缩文件的日期设成指定的日期;
-T:检查备份文件内的每个文件是否正确无误;
-u:更换较新的文件到压缩文件内;
-v:显示指令执行过程或显示版本信息;
-V:保存VMS操作系统的文件属性;
-w:在文件名称里假如版本编号,本参数仅在VMS操作系统下有效;
-x<范本样式>:压缩时排除符合条件的文件;
-X:不保存额外的文件属性;
-y:直接保存符号连接,而非该链接所指向的文件,本参数仅在UNIX之类的系统下有效;
-z:替压缩文件加上注释;
-$:保存第一个被压缩文件所在磁盘的卷册名称;
-<压缩效率>:压缩效率是一个介于1~9的数值。
压缩文件
压缩目录
[root@linux-01 tmp]# zip -r t1.zip test
adding: test/ (stored 0%)
adding: test/12.txt (deflated 21%)
adding: test/1.txt (deflated 74%)
adding: test/123/ (stored 0%)
adding: test/123/1.txt.zip (stored 0%)
解压unzip
压缩到指定目录
zip 不能查看内容但可以查看有哪些文件
tar打包
选项
-A或--catenate:新增文件到以存在的备份文件;
-B:设置区块大小;
-c或--create:建立新的备份文件;
-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文件的差别;
-x或--extract或--get:从备份文件中还原文件;
-t或--list:列出备份文件的内容;
-z或--gzip或--ungzip:通过gzip指令处理备份文件;
-Z或--compress或--uncompress:通过compress指令处理备份文件;
-f<备份文件>或--file=<备份文件>:指定备份文件;
-v或--verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或--same-permissions:用原来的文件权限还原文件;
-P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
--exclude=<范本样式>:排除符合范本样式的文件。
打包目录
解压
查看压缩包的文件列表
过滤指定文件不打包
解压到指定目录
[root@linux-01 test]# tar -cvf tar2.tar --exclude 12.txt 123 1.txt
123/
123/1.txt.zip
1.txt
[root@linux-01 test]# tar -xvf tar2.tar -C /tmp/223
123/
123/1.txt.zip
1.txt
[root@linux-01 test]# ls /tmp/223
123 1.txt
打包并压缩
查看压缩包文件列表