Linux中常见的压缩与解压缩方法

简介:
  • zip:可以压缩多个文件或者目录,压缩后保留原始文件或者目录,后缀为.zip

# yum -y install zip

选项:

-r:压缩目录

-q:静默模式,执行时不显示任何信息

-v:执行时显示详细的信息

-1compress faster

-9compress better

-T:检查zip文件完整性

压缩文件test1.txttest1.zip# zip -q test1.zip test1.txt

同时压缩文件test1.txt和目录test1test1.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:压缩时显示详细信息

-1compress faster

-9compress 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 或者 # gunzip test2.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 或者 # bunzip2 test2.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 或者 # unxz test2.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和目录test1test.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和目录test1test.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和目录test1test.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







      本文转自Marion0728  51CTO博客,原文链接:http://blog.51cto.com/qiuyue/1903510 ,如需转载请自行联系原作者


相关文章
|
2月前
|
Shell Linux 编译器
【Shell 命令集合 备份压缩 】Linux 提取zip压缩文件的详细信息 zipinfo命令 使用指南
【Shell 命令集合 备份压缩 】Linux 提取zip压缩文件的详细信息 zipinfo命令 使用指南
36 0
|
25天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
23 0
|
1月前
|
Ubuntu Linux
常用Linux开机启动添加方法
常用Linux开机启动添加方法
17 1
|
3天前
|
Ubuntu Unix Linux
|
9天前
|
人工智能 Linux
Linux查找大文件的方法
Linux查找大文件的方法
|
11天前
|
固态存储 Ubuntu Linux
Linux(29) 多线程快速解压缩|删除|监视大型文件
Linux(29) 多线程快速解压缩|删除|监视大型文件
15 1
|
25天前
|
Shell Linux
在linux shell脚本中root切换到普通用户执行脚本或命令的方法
在linux shell脚本中root切换到普通用户执行脚本或命令的方法
12 1
|
25天前
|
Linux
linux 压缩包管理压缩解压查看 追加
linux 压缩包管理压缩解压查看 追加
10 0
|
25天前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
33 0