转载;原文链接:https://www.pingface.com/2020/04/tarzip.html
在Linux中,学会对文件或目录进行打包(归档)和压缩,是每个初学者的基本技能。打包指的是将多个文件和目录集中存储在一个文件中;而压缩则指的是利用算法对文件进行处理,从而达到缩减占用磁盘空间的目的。
1. Linux压缩文件格式
Linux中打包压缩格式主要有:zip、tar、tar.gz、tar.bz2
2. zip格式
zip:多操作系统支持,压缩率不高
-r:压缩文件
-d:指定解压路径
压缩:zip -r /data/zip/scripts.zip scripts.sh
解压:unzip /data/zip/scripts.zip -d /opt
3 tar格式
tar:打包工具,消耗CPU少,仅打包不压缩。#默认是相对路径打包。
-z:指定使用gzip压缩
-j:指定使用bz2压缩
-c:创建新的压缩包
-v:显示过程
-f:指定打包的文件
-x:解压
-t:列出压缩包内容(list)-tf
-C:指定解压的路径
-P:不提示取消/
打包:tar -zcvf /data/oldboy/2.tar.gz 2.php 打包成.tar.gz
打包:tar -cvf /data/oldboy/a.tar a.txt
解压:tar -xvf /data/oldboy/2.tar.gz -C oldboy/
4 tar.gz格式
.tar.gz:不会占用太多CPU,压缩率较好
打包:tar -cvf /data/oldboy/a.tar a.txt
解压:tar -xvf /data/oldboy/2.tar.gz -C oldboy/
5 tar.bz2格式
.tar.bz2:消耗CPU高,压缩率最好
打包:tar -jcvf /data/oldboy/a.tar.bz2 a.txt
解压:tar -jxvf /data/oldboy/2.tar.gz.bz2 -C oldboy/