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

相关文章

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa