Linux系列之压缩与解压

时间:2023-03-09 05:18:21
Linux系列之压缩与解压

1.压缩技术

1.常用命令实例

1.zip格式的压缩与解压缩

zip是压缩指令,unzip是解压指令。zip指令既可以压缩文件,也可以压缩目录。压缩会自动保留源文件,解压会自动保留压缩文件

zip  -r  yasuo.zip  demo.txt   mydir  //该命令是将demo.txt文件和目录mydir压缩成压缩文件yasuo.zip,选项-r表示递归

zip -r  mydir.zip  mydir  //压缩当前目录下的子目录mydir

unzip   yasuo.zip  //解压yasuo.zip文件到当前目录

unzip -d  /mydir  yasuo.zip  //把压缩文件解压到指定的mydir目录

unzip -t  yasuo.zip  //检查压缩文件是否损坏

unzip  -l  demo.zip  //显示demo.zip压缩包中有哪些文件,不进行解压

unzip  -n  demo.zip  //解压时不覆盖已存在的文件

更多详细用法请参考:https://www.cnblogs.com/dylancao/p/9650242.html

注意:zip指令需要指定文件压缩后的压缩包名,否则会提示“zip error:nothing to do!”。

注意:直接使用unzip指令(不带选项)解压文件时,如果解压文件中包含有文件与当前目录下的某个文件重名,那么会询问是否要覆盖这个文件。

2.gz格式的压缩与解压

gzip指令既可以压缩文件,还可以解压文件。gzip不能够压缩目录,在缺少-c选项时,压缩不会保留源文件,解压不会保留压缩文件。

Linux系列之压缩与解压

格式:

  gzip  filename  //压缩文件至当前目录且不保留源文件

  gzip -c  filename > filename.gz  //把压缩后的文件输出至标准输出设备且保留源文件

  gzip *  //将当前目录下的文件(如果存在目录,就忽视掉目录)批量压缩产生多个压缩文件,并不是只产生一个压缩文件

  gzip -d filename.gz   //解压文件至当前目录且不保留压缩文件

  gzip -c filename.gz > filename //解压文件至当前目录并且保留压缩文件

  gzip -d *   //解压文件至当前目录且不保留压缩文件

  gzip -t  filename.gz  //检测压缩包的好坏

  gzip -l  filename.gz  //显示压缩文件内的文件内容列表

实例:

Linux系列之压缩与解压

3.tar格式的压缩与解压

当你想要压缩一堆文件时,你必须先将这些文件打包成一个文件,再对这个文件进行压缩。

压缩时会保留源文件,解压时会保留压缩文件

格式:tar [主选项] [辅选项]  文件或目录  //主选项告诉tar干什么,因此必须有

Linux系列之压缩与解压

实例:

  tar  czvf  myfile.tar.gz  ./*.txt  //将当前目录下的所有txt文件打包并压缩成myfile.tar.gz文件

  tar  xzvf  myfile.tar.gz  ./    //将压缩文件myfile.tar.gz解压到当前目录下,存在相同文件则会覆盖原来文件

  tar  tvf  myfile.tar.gz  //查看压缩文件中包含哪些目录与文件(并没有解压文件)

1.常见压缩扩展名及对应压缩指令

Linux系列之压缩与解压

Linux上常见的压缩指令就是gzip,bzip以及最新的xz这三个压缩指令,compress压缩指令已经过时了;tar指令仅仅是将多个文件“打包”成一个文件,并没有对文件进行压缩。

注意::Linux与windows系统的压缩与解压缩是有很大区别的,

下面详细了解一下常用的压缩指令

2.压缩指令详解

1.gzip指令

gzip指令可以说是应用最广的压缩指令,目前gzip可以解开compress,zip以及gzip等软件所压缩的文件。

1.格式

Linux系列之压缩与解压

2.tar指令

Linux系列之压缩与解压

关于该指令的详细讲解请移步https://www.cnblogs.com/xccjmpc/p/6035397.html