首页 > 代码库 > Linux中常见的压缩与解压缩方法
Linux中常见的压缩与解压缩方法
zip:可以压缩多个文件或者目录,压缩后保留原始文件或者目录,后缀为.zip
# yum-y install zip
选项:
-r:压缩目录
-q:静默模式,执行时不显示任何信息
-v:执行时显示详细的信息
-1:compress faster
-9:compress better
-T:检查zip文件完整性
压缩文件test1.txt为test1.zip:# zip -q test1.zip test1.txt
同时压缩文件test1.txt和目录test1为test1.zip:# zip-qr test1.zip test1 test1.txt
检查上述test1.zip的完整性:# zip-T test1.zip --> test of test1.zip OK
unzip:解压后保留原始压缩文件
选项:
-d:将文件或目录解压至其他位置
-q:静默模式,执行时不显示任何信息
-v:执行时显示详细信息
-t:检查压缩文件是否正确
-l:显示压缩文件内所包含的文件
-x 文件名:解压压缩包中的所有文件除了-x后接的那个文件
将test1.zip静默解压至/tmp目录下:# unzip -qd /tmp test1.zip
检查压缩文件test1.zip是否正确:# unzip -t test1.zip
Archive: test1.zip
testing: test1/ OK
testing: test1.txt OK
Noerrors detected in compressed data of test1.zip.
显示压缩文件test1.zip中的所有文件:# unzip-l test1.zip
解压test1.zip,除了test1.txt:# unzip test1.zip -x test1.txt //-x选项必须放在最后面
Archive: test1.zip
creating: test1/
gzip:压缩后删除源文件,不能压缩目录,后缀为.gz
选项:
-c:将压缩结果送往标准输出,可以使用重定向将其保存为压缩文件,从而保留源文件
-d:解压缩
-l:显示压缩文件中的内容
-q:压缩时不显示任何信息
-v:压缩时显示详细信息
-1:compress faster
-9:compress better
-r:目录中递归操作
压缩文件test2:# gzip-q test2 //删除test2,生成test2.gz
显示test2.gz中的内容:# gzip-l test2.gz
compressed uncompressed ratio uncompressed_name
26 0 0.0% test2
解压缩test2.zip:# gzip-d test2.gz 或者 # gunziptest2.gz //删除test2.gz,生成test2
压缩test2时不删除test2自身:# gzip -c test2 > test2.gz
gunzip(等同于gzip -d):解压后删除原始压缩文件
选项:
-l:显示压缩文件中的内容
-q:压缩时不显示任何信息
-c:将解压缩结果送往标准输出,可以使用重定向将其保存为文件,从而保留原始压缩文件
查看test2.gz中的内容:#gunzip -l test2.gz
compressed uncompressed ratio uncompressed_name
26 0 0.0% test2
静默解压test2.gz:# gunzip-q test2.gz //删除test2.gz,生成test2
解压缩test2.gz时不删除压缩包自身:# gunzip-c test2.gz > test2
bzip2:压缩后删除源文件,压缩效果比gzip好,不能压缩目录,后缀为.bz2
选项:
-d:解压缩
-k:保留源文件
-q:执行压缩时使用静默模式
-v:执行压缩时输出详细信息
静默压缩文件test2,并保留test2:# bzip2 -qk test2
解压缩test2.bz2:# bzip2-d test2.bz2 或者 # bunzip2test2.bz2 //删除test2.bz2,生成test2
bunzip2(等同于bzip2 -d):解压后删除原始压缩文件
xz:压缩后删除源文件,压缩效果最好,不能压缩目录,后缀为.xz
# yum -y install xz
选项:
-z:强制压缩
-d:强制解压缩
-k:保留源文件
-q:执行压缩时使用静默模式
静默压缩文件test2,并保留test2:# xz -qk test2
解压缩test2.xz:# xz-d test2.xz 或者 # unxztest2.xz //删除test2.xz,生成test2
unxz(等同于xz -d):解压后删除原始压缩文件
打包归档(将多个文件打包成一个文件)工具:# tar [选项] -f 归档后的文件名.tar 要归档的文件名 ...
选项:
-c:创建一个新归档
-t:列出归档内容
-x:从归档中解出文件
-r:追加文件至归档结尾
-j:通过bzip2过滤归档
-J:通过xz过滤归档
-z:通过gzip过滤归档
-C DIR:改变至目录DIR
-v:详细地列出处理的文件
-f ARCHIVE:使用归档文件或ARCHIVE设备
将文件test2和目录test1打包成test.tar:# tar-cf test.tar test2 test1 //保留源文件test2和目录test1
列出test.tar中的内容:# tar-tf test.tar --> test2 test1/
解开打包文件test.tar:# tar-xf test.tar //保留打包文件test.tar
创建目录test3,并追加至归档文件test.tar:# tar -rf test.tar test3
打包并使用gzip压缩文件test2和目录test1至test.tar.gz:# tar -zcf test.tar.gz test2 test1 //.tar.gz等同于.tgz
查看test.tar.gz中的内容:# tar -tf test.tar.gz
解压test.tar.gz:# tar -zxf test.tar.gz 或者 # tar -xf test.tar.gz
打包并使用bzip2压缩文件test2和目录test1至test.tar.bz2:# tar -jcf test.tar.bz2 test2 test1
查看test.tar.bz2中的内容:# tar -tf test.tar.bz2
解压test.tar.bz2:# tar -jxf test.tar.bz2 或者 # tar -xf test.tar.bz2
打包并使用xz压缩文件test2和目录test1至test.tar.xz:# tar -Jcf test.tar.xz test2 test1
查看test.tar.xz中的内容:# tar -tf test.tar.xz
解压test.tar.xz:# tar -Jxf test.tar.xz 或者 # tar -xf test.tar.xz
本文出自 “天道酬勤” 博客,请务必保留此出处http://qiuyue.blog.51cto.com/1246073/1903510
Linux中常见的压缩与解压缩方法