Linux总结(九):linux文件归档和压缩——linux的zip、unzip、gzip、gunzip、bzip2、bunzip2命令

2024-04-28 05:18

本文主要是介绍Linux总结(九):linux文件归档和压缩——linux的zip、unzip、gzip、gunzip、bzip2、bunzip2命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、Linux的zip命令

1、基本格式

[root@localhost ~]#zip [选项] 压缩包名 源文件或源目录列表
zip 命令常用选项及含义
选项含义
-r递归压缩目录,及将制定目录下的所有文件以及子目录全部压缩。
-m将文件压缩之后,删除原始文件,相当于把文件移到压缩文件中。
-v显示详细的压缩过程信息。
-q在压缩的时候不显示命令的执行过程。
-压缩级别压缩级别是从 1~9 的数字,-1 代表压缩速度更快,-9 代表压缩效果更好。
-u更新压缩文件,即往压缩文件中添加新文件。

2、使用zip

[root@localhost ~]# zip test.zip install.log install.log.syslog
adding: install.log (deflated 72%)
adding: install.log.syslog (deflated 85%)
#同时压缩多个文件到test.zip压缩包中
[root@localhost ~]# mkdir dir1
#建立测试目录
[root@localhost ~]# zip -r dir1.zip dir1
adding: dir1/(stored 0%)
#压缩目录

              注意:(1)所有的压缩命令都可以同时压缩多个文件

                         (2) 使用 zip 命令压缩目录,需要使用“-r”选项

二、unzip命令:解压zip文件

1、基本格式

[root@localhost ~]# unzip [选项] 压缩包名
unzip 命令常用选项及含义
选项含义
-d 目录名将压缩文件解压到指定目录下。
-n解压时并不覆盖已经存在的文件。
-o解压时覆盖已经存在的文件,并且无需用户确认。
-v查看压缩文件的详细信息,包括压缩文件中包含的文件大小、文件名以及压缩比等,但并不做解压操作。
-t测试压缩文件有无损坏,但并不解压。
-x 文件列表解压文件,但不包含文件列表中指定的文件。

2、应用

[root@localhost ~]# unzip dir1.zip
直接解压缩
[root@localhost ~]# unzip -d /tmp/ ana.zip
用-d手动制定解压缩位置

 三、gzip命令:压缩文件或目录

gzip 命令只能用来压缩文件,不能压缩目录,即便指定了目录,也只能压缩目录内的所有文件。

 1、基本格式

[root@localhost ~]# gzip [选项] 源文件
表 1 gzip 命令常用选项及含义
选项含义
-c将压缩数据输出到标准输出中,并保留源文件。
-d对压缩文件进行解压缩。
-r递归压缩指定目录下以及子目录下的所有文件。
-v对于每个压缩和解压缩的文件,显示相应的文件名和压缩比。
-l对每一个压缩文件,显示以下字段:
  • 压缩文件的大小;
  • 未压缩文件的大小;
  • 压缩比;
  • 未压缩文件的名称。
-数字用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高。默认压缩比是 -6。

 2、基本压缩与保留源文件压缩

[root@localhost ~]# gzip install.log
#压缩instal.log 文件
在使用 gzip 命令压缩文件时,源文件会消失
[root@localhost ~]# gzip -c anaconda-ks.cfg >anaconda-ks.cfg.gz
#使用-c选项,但是不让压缩数据输出到屏幕上,而是重定向到压缩文件中,
#这样可以缩文件的同时不删除源文件
[root@localhost ~]# mkdir test
[root@localhost ~]# touch test/test1
[root@localhost ~]# touch test/test2
[root@localhost ~]# touch test/test3 #建立测试目录,并在里面建立几个测试文件
[root@localhost ~]# gzip -r test/
#压缩目录,并没有报错
[root@localhost ~]# ls
anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog test
#但是查看发现test目录依然存在,并没有变为压缩文件
[root@localhost ~]# ls test/
testl .gz test2.gz test3.gz
#原来gzip命令不会打包目录,而是把目录下所有的子文件分别压缩

       在 Linux 中,打包和压缩是分开处理的。而 gzip 命令只会压缩,不能打包,所以才会出现没有打包目录,而只把目录下的文件进行压缩的情况。

四、gunzip命令:解压被 gzip 压缩过的文件(扩展名为 .gz)

对于解压被 gzip 压缩过的文件,还可以使用 gzip 自己,即 gzip -d 压缩包。

1、基本格式

[root@localhost ~]# gunzip [选项] 文件
gunzip 命令常用选项及含义
选项含义
-r递归处理,解压缩指定目录下以及子目录下的所有文件。
-c把解压缩后的文件输出到标准输出设备。
-f强制解压缩文件,不理会文件是否已存在等情况。
-l列出压缩文件内容。
-v显示命令执行过程。
-t

测试压缩文件是否正常,但不对其做解压缩操作。

 2、应用实例

[root@localhost ~]# gunzip install.log.gz
#    当然,"gunzip -r"依然只会解压缩目录下的文件,而不会解打包。
#要想解压缩".gz"格式,还可以使用 "gzip -d"命令
[root@localhost ~]# gzip -d anaconda-ks.cfg.gz
[root@localhost ~]# gunzip -r test/
#    要解压缩目录下的内容,则需使用 "-r" 选项
[root@localhost ~]# zcat anaconda-ks.cfg.gz
#    如果我们压缩的是一个纯文本文件,则可以直接使用
# zcat 命令在不解压缩的情况下查看这个文本文件中的内容

五、bzip2命令:压缩文件(.bz2格式)

      bzip2 命令同 gzip 命令类似,只能对文件进行压缩,对于目录只能压缩该目录及子目录下的所有文件。当执行压缩任务完成后,会生成一个以“.bz2”为后缀的压缩包。

           注意:(.bz2) 压缩性能好,(.gz)压缩时间快

                       (.bz2)不能压缩目录   (.gz)可以用-r压缩目录下的东西,但不会打包

1、基本格式

[root@localhost ~]# bzip2 [选项] 源文件
bzip2 命令常用选项及含义
选项含义
-d执行解压缩,此时该选项后的源文件应为标记有 .bz2 后缀的压缩包文件。
-kbzip2 在压缩或解压缩任务完成后,会删除原始文件,若要保留原始文件,可使用此选项。
-fbzip2 在压缩或解压缩时,若输出文件与现有文件同名,默认不会覆盖现有文件,若使用此选项,则会强制覆盖现有文件。
-t测试压缩包文件的完整性。
-v压缩或解压缩文件时,显示详细信息。
-数字这个参数和 gzip 命令的作用一样,用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高

2、 使用

[root@localhost ~]# bzip2 anaconda-ks.cfg
此压缩命令会在压缩的同时删除源文件。
[root@localhost ~]# bzip2 -k install.log.syslog
#压缩文件和源文件都存在

六、bunzip2命令:bz2格式的解压缩命令

         要解压“.bz2”格式的压缩包文件,除了使用“bzip2 -d 压缩包名”命令外,还可以使用 bunzip2 命令。bunzip2 命令的使用和 gunzip 命令大致相同,bunzip2 命令只能用于解压文件,即便解压目录,也是解压该目录以及所含子目录下的所有文件。

 1、基本格式

[root@localhost ~]# bunzip2 [选项] 源文件
bunzip2 命令选项及含义
选项含义
-k解压缩后,默认会删除原来的压缩文件。若要保留压缩文件,需使用此参数。
-f解压缩时,若输出的文件与现有文件同名时,默认不会覆盖现有的文件。若要覆盖,可使用此选项。
-v显示命令执行过程。
-L列出压缩文件内容。

2、使用 

[root@localhost ~]# bunzip2 anaconda-ks.cfg.bz2
#先试试使用 gunzip2 命令来进行解压缩
[root@localhost ~]# bzip2 -d install.log.syslog.bz2
#".bz2" 格式也可以使用 "bzip2 -d 压缩包" 命令来进行解压缩
[root@localhost ~]# bzcat install.log.syslog.bz2
和 ".gz" 格式一样,".bz2" 格式压缩的纯文本文件也可以不解压缩直接查看,
使用的命令是 bzcat

七、总结

              1、 tar命令是打包命令,即可以打包,又可以压缩。同理,zip也是,能将一个文件夹和文件夹下所有内容压缩到一个文件中。

              2、gzip和bzip2中,gzip可以将一个文件夹下的所有文件压缩,但是压缩后不能形成一个文件。bzip2根本就不能压缩文件夹。

              3、tar命令不仅能压缩,还能打包

              

 

这篇关于Linux总结(九):linux文件归档和压缩——linux的zip、unzip、gzip、gunzip、bzip2、bunzip2命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/942402

相关文章

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

linux批量替换文件内容的实现方式

《linux批量替换文件内容的实现方式》本文总结了Linux中批量替换文件内容的几种方法,包括使用sed替换文件夹内所有文件、单个文件内容及逐行字符串,强调使用反引号和绝对路径,并分享个人经验供参考... 目录一、linux批量替换文件内容 二、替换文件内所有匹配的字符串 三、替换每一行中全部str1为st