一:打包和压缩 zip
1.概念
将文件和文件夹合并成一个包,然后通过压缩算法进行压缩方便传输;打包和压缩是两个步骤
目的是减小包的体积,方便传输
2.windows和Linux中常用的打包格式
.windows:zip rar
Linux:zip tar gz bz2 tar.gz(常用的格式) tar.bz2
压缩的算法方式有:gzip bzip2
3.zip压缩算法
zip算法是window和Linux中常用的打包压缩工具
zip在Linux中默认需要安装的
yum install zip unzip -y
calc 在cmd中打开计算机
(1)zip压缩
1.zip压缩的格式: zip 参数 压缩包名称(新命名) 路径(被压缩的文件所在的路径)
例子:
[root@local-work ~]# zip abc abc.pdf
adding: abc.pdf (deflated 7%) #压缩率7%
2.压缩目录:
zip -r 压缩包名字 路径
zip -r 123dir #zip原则上只压缩文件,-r是递归压缩
3.当压缩文件或者目录比较多的时候,不想看到压缩比时候,可以选择加参数-q,静默输出
zip -r -q
(2)unzip解压
unzip解压只能解压zip的格式文件,其他的不行
1.值查看文件内容,不解压 -l参数 unzip -l 文件路径 2.解压文件 到指定文件夹 -d unzip -d 指定的文件路径 待解压的文件路径
[root@abc ~]# unzip -d /root/ etc.zip
二:gzip
通过gzip压缩算法,将文件压缩一定体积,有利于传输, 不支持打包
1.gzip压缩
(1)压缩一个文件
[root@abc ~]# gzip index.html
(2)
压缩一个目录
[root@abc etc]# gzip -r /etc
2.gzip解压
解压到指定的文件夹 -d
gzip -d 文件路径 待解压的文件
三:bzip2
bzip2来压缩一定体积的文件
压缩的格式:
bzip2 被压缩的文件
bzip2的解压: 针对bzip2的压缩文件进行解压 bzip2 -d 被解压的文件
四:打包工具 tar
tar是一个打包工具,不具备压缩功能,但是可以使用参数调用解压工具进行解压
tar压缩支持多种压缩的算法;其中tar,gz和gzip用的最多,还包括tar,bz2和bzip2
1.参数
(1)-c 创建包 (2)-f 指定包名称 格式: tar -cf 包的名称 被打包的对象
打包后若想压缩:
gzip 包的名称
(3)-z 指定gzip进行压缩
tar -czf 1.tar abc.pdf #czf三个顺序不可打乱,因为先创建再压缩再命名
备注:gzip打包名的后面一般会默认添加.gz,但是此处不会添加,需要在命名的时候自己手动去添加,以供后面识别
(4)-j 使用bzip2压缩工具进行压缩
tar -cjf 1.tar.bzip2 abc.pdf
(5)-t 查看压缩包的内容
[root@local-work ~]# tar -tf 1.tar
abc.pdf
(6)-v 显示打包压缩的过程
tar -x -v -f etc.tar -C /opt/
(7)-x 按照原来的路径进行解压
tar -x -f abc.pdf
(8)-C(大写)指定解压路径
tar -xf 解压包 -C 指定的路径
tar -xf 解压包 -C 指定的路径
(9)--exclude 排除某些文件
[root@abc test-tar]# tar -c -f abc.tar ./* --exclude=abc7 --exclude=abc5 --exclude=abc1
# ./*是指当前的路径下的所有文件,上题目是此处文件内排除abc5和abc1的文件进行打包
(10)--exclude-from : 根据某个文件列表排除多个文件
tar -c -f abc.tar ./* --exclude-from=list.txt
(11)-h : 打包软连接
[root@abc test-tar]# tar -c -h -f bin-h.tar /bin
总结来了:
#tar
tar参数
-c : 创建压缩 *
-f ;指定压缩包名称 *
-z : 使用gzip压缩工具进行压缩 *
-j : 使用bzip2压缩工具进行压缩 *
-J : 使用xz压缩工具进行压缩
-t : 显示压缩包内容,不解压 *
-v : 显示压缩过程
-P : 允许使用绝对路径进行压缩 *
-x : 解压 *
-C : 指定解压路径 *
-h : 打包软连接
--exclude : 排除某些文件 *
--exclude-from : 根据文件列表排除多个文件