Linux 常用的zip压缩和解压命令详解

「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战

前言

  嗨,大家好,又与大家见面了,感谢大家在2021年的陪伴,让我们在2022年继续一路前行。相信很多小伙伴在使用Linux系统中经常对文件进行或者文件夹进行操作,不像在Windows中可以使用可视化的工具对文件和文件夹进行压缩和解压操作,那么本次与大家一起学习Linux下zip和unzip的压缩和解压命令,并熟悉常用的参数介绍。

常用命令

  相信很多对于有一定Linux基础的小伙伴,常用的压缩有:zip、unzip、tar、gzip、bzip2等常用的命令,下面开始zip和unzip使用方法和参数详解。

zip压缩示例

  针对Linux系统中的文件或者文件夹进行压缩,使压缩后的文件后缀为zip。

图片.png   如上图中,test文件夹下有:admin文件夹、index 和test两个文件,现在将其打包为一个admin.zip压缩文件,其执行的命令是:

zip -p -r admin.zip admin/
复制代码

  通过执行命令可以看到,已经将test文件夹下的三个文件和文件夹进行了打包,变成了admin.zip压缩文件。具体如下图:

图片.png

图片.png

zip命令介绍

  zip在Linux系统中用于压缩文件和文件夹,zip是在Windows和Linux等系统中常用的压缩程序,其压缩后的后缀名为.zip。 zip常用的参数汇总整理如下:

参数 参数描述信息
-A 调整可执行的自动解压缩文件。
-b<工作目录> 指定暂时存放文件的目录。
-c 替每个被压缩的文件加上注释。
-d 从压缩文件内删除指定的文件。
-D 压缩文件内不建立目录名称。
-f 更新现有的文件。
-F 尝试修复已损坏的压缩文件。
-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-h 在线帮助。
-i<范本样式> 只压缩符合条件的文件。
-j 只保存文件名称及其内容,而不存放任何目录名称。
-J 删除压缩文件前面不必要的数据。
-k 使用MS-DOS兼容格式的文件名称。
-l 压缩文件时,把LF字符置换成LF+CR字符。
-ll 压缩文件时,把LF+CR字符置换成LF字符。
-L 显示版权信息。
-m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
-n<字尾字符串> 不压缩具有特定字尾字符串的文件。
-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
-q 不显示指令执行过程。
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
-S 包含系统和隐藏文件。
-t<日期时间> 把压缩文件的日期设成指定的日期。
-T 检查备份文件内的每个文件是否正确无误。
-u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
-v 显示指令执行过程或显示版本信息。
-V 保存VMS操作系统的文件属性。
-w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
-x<范本样式> 压缩时排除符合条件的文件。
-X 不保存额外的文件属性。
-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
-z 替压缩文件加上注释。
-$ 保存第一个被压缩文件所在磁盘的卷册名称。
-<压缩效率> 压缩效率是一个介于1-9的数值。

unzip解压示例

  上面已经通过示例对test文件夹下的文件进行了压缩操作,那么现在针对压缩后的文件admin.zip文件进行解压操作,首先删除其他文件,只保留admin.zip文件。

图片.png

执行如下解压命令之后,可以看到admin.zip文件已经把我们刚刚压缩的文件已经解压完成。

unzip admin.zip 
复制代码

图片.png

unzip命令介绍

  unzip命令用于解压后缀为.zip文件,unzip为.zip压缩文件的解压程序,zip为.zip的压缩程序,两者正好相互对应。 unzip常用的参数汇总整理如下:

参数 参数描述信息
-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
-f 更新现有的文件。
-l 显示压缩文件内所包含的文件。
-p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
-t 检查压缩文件是否正确。
-u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
-v 执行是时显示详细的信息。
-z 仅显示压缩文件的备注文字。
-a 对文本文件进行必要的字符转换。
-b 不要对文本文件进行字符转换。
-C 压缩文件中的文件名称区分大小写。
-j 不处理压缩文件中原有的目录路径。
-L 将压缩文件中的全部文件名改为小写。
-M 将输出结果送到more程序处理。
-n 解压缩时不要覆盖原有的文件。
-o 不必先询问用户,unzip执行后覆盖原有文件。
-P<密码> 使用zip的密码选项。
-q 执行时不显示任何信息。
-s 将文件名中的空白字符转换为底线字符。
-V 保留VMS的文件版本信息。
-X 解压缩时同时回存文件原来的UID/GID。
.zip文件 指定.zip压缩文件。
文件 指定要处理.zip压缩文件中的哪些文件。
-d<目录> 指定文件解压缩后所要存储的目录。
-x<文件> 指定不要处理.zip压缩文件中的哪些文件。
-Z unzip

zipinfo示例

  zip和unzip一个是压缩命令,一个是解压命令,那么怎么在不解压文件的情况下查看压缩文件中都包含哪些内容呢,下面就用到了zipinfo的命令。zipinfo命令用于列出压缩文件信息,可以在不解压的情况下知道压缩文件的详细信息。例如执行命令如下:

zipinfo admin.zip 

复制代码

  通过执行命令之后。我们可以看到压缩文件的基本信息,包括压缩文件的大小、文件的数量、文件的权限信息、文件的日期信息、具体的文件名称和文件夹信息,还是非常全面的。具体截图信息如下: 图片.png zipinfo常用的参数汇总整理如下:

参数 参数描述信息
-1 只列出文件名称。
-2 此参数的效果和指定"-1"参数类似,但可搭配"-h","-t"和"-z"参数使用。
-h 只列出压缩文件的文件名称。
-l 此参数的效果和指定"-m"参数类似,但会列出原始文件的大小而非每个文件的压缩率。
-m 此参数的效果和指定"-s"参数类似,但多会列出每个文件的压缩率。
-M 若信息内容超过一个画面,则采用类似more指令的方式列出信息。
-s 用类似执行"ls -l"指令的效果列出压缩文件内容。
-t 只列出压缩文件内所包含的文件数目,压缩前后的文件大小及压缩率。
-T 将压缩文件内每个文件的日期时间用年,月,日,时,分,秒的顺序列出。
-v 详细显示压缩文件内每一个文件的信息。
-x<范本样式> 不列出符合条件的文件的信息。
-z 如果压缩文件内含有注释,就将注释显示出来。

结语

  好了,以上就是Linux 常用的zip压缩和解压命令详解,感谢您的阅读,希望您喜欢,如对您有帮助,欢迎点赞收藏。如有不足之处,欢迎评论指正。下次见。

  作者介绍:【小阿杰】一个爱鼓捣的程序猿,JAVA开发者和爱好者。公众号【Java全栈架构师】维护者,欢迎关注阅读交流。

猜你喜欢

转载自juejin.im/post/7054568571200471047