Linux下zip格式文件的解压缩和压缩


Linux下的软件包很多都是压缩包,软件的安装就是解压缩对应的压缩包。所以,就需要熟练使用常用的压缩命令和解压缩命令。最常用的压缩格式有.tar.gz/tgz, .tar.bz,.zip文件等。

.tar.gz/.tgz,.tar.bz这两种格式都可以用tar命令生成、解压。

但是zip格式的文件的压缩和解压缩分别需要不同的命令,压缩用zip命令,解压缩用unzip命令,而且这两个命令在某些linux系统中还没有附带,得自己安装。

1、zip、unzip在centos下的安装

=========================

$yum install -y unzip zip

2、zip压缩

============

一个zip压缩文件其中包括的无非两类文件:目录和文件,所以最一般的使用方法是学会压缩目录和压缩文件。

(1)把/home/zzl目录下面的mydata目录压缩为mydata.zip
$zip -r mydata.zip mydata

(2)把/home/zzl目录下面的abc文件夹和123.txt压缩成为abc123.zip
$zip -r abc123.zip abc 123.txt

3、unzip解压缩

===============

解压缩zip文件其实原理很简单,只要解压到某一个目录,或者当前目录即可。unzip命令可以直接解压,如果直接解压会把压缩包所有的内容解压到当前目录下,如果在解压的时候要指定解压到某一个目录,则可以使用-d dstDir选项指定目标目录。

(1)解压mydata.zip到当前目录

$unzip mydata.zip

(2)解压mydata.zip到dstDir目录

$unzip mydata.zip -d dstDir

4、验证压缩包是否完整

=====================

zip文件完整性验证的原理:

在压缩的时候就在,zip命令会在zip文件中存储对所有被压缩文件计算的crc值,所以,当我们要验证某一个zip文件是否完整的时候,只要重新计算一下zip中所有文件的crc值,然后和存在zip文件中的crc值对比一下,就可以知道这个zip文件是否完整了。

计算也不需要自己手动做,unzip命令提供了一个选项-t,使用它可以对zip文件的完整性进行验证。

$unzip -t mydata.zip

Archive: mydata.zip
testing: abc.txt OK
testing: dir1/ OK
testing: dir1/abc2.txt OK
No errors detected in compressed data of mydata.zip.

当看到上面的红色字的时候,表明mydata.zip没有问题。

以上的几个命令是使用zip的最小命令组,熟练使用之后,可以确保压缩、解压缩一切文件。

参考资料:

1、https://blog.csdn.net/wxyjuly/article/details/79398559

2、https://www.jb51.net/LINUXjishu/105916.html

Linux下zip格式文件的解压缩和压缩的更多相关文章

  1. LearnPython - Zip格式文件的解压缩

    import zipfile import os def unzip(zip_name, target_dir): files = zipfile.ZipFile(zip_name) for zip_ ...

  2. linux下tar.bz2文件的 解压缩方法

    一 使用bzip2解压缩命令进行解压缩: bzip2 -d  gcc-4.1.0.tar.bz2 二 上面解压完之后执行下面的命令. tar -xvf gcc-4.1.0.tar 或 tar -xvf ...

  3. linux 下 zip unzip压缩与解压

    注:*压缩成限.zip格式文件 常用解压缩: [root@mysql test]# unzip -o test.zip -d tmp/ 将压缩文件test.zip在指定目录tmp下解压缩,如果已有相同 ...

  4. Linux下几种文件传输命令

    Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...

  5. 用脚本如何实现将Linux下的txt文件批量转化为Windows下的txt文件?

    众所周知,Windows和Linux的文件换行回车格式不同,Windows下换行格式是\r\n(回车+换行),Linux下换行格式为\n(只是换行),因此,其中一个操作系统的文本文件若需要在另外一个中 ...

  6. Linux下重要日志文件及查看方式

    http://os.51cto.com/art/201108/282184_all.htm   1.Linux下重要日志文件介绍 /var/log/boot.log 该文件记录了系统在引导过程中发生的 ...

  7. Linux下阅读MHT文件

    Linux下阅读MHT文件 2016年02月04日 15:11:32 dj0379 阅读数:1769   mht是一种WEB电子邮件档案,用IE选择保存网页类型时可以看到有这一项,其最大优点是所保存的 ...

  8. Linux下输出 excel文件

    Linux下输出 excel文件 今日提供给产品需求,需excel文件,故总结要点如下: 1.默认间隔是space_20 2.修改为TAB \t _09 awk '  BEGIN { OFS=&quo ...

  9. [转帖]linux下的find文件查找命令与grep文件内容查找命令

    linux下的find文件查找命令与grep文件内容查找命令 https://www.cnblogs.com/shileima/p/8431393.html 在使用linux时,经常需要进行文件查找. ...

随机推荐

  1. Leetcode 890. Find and Replace Pattern

    把pattern映射到数字,也就是把pattern标准化. 比如abb和cdd如果都能标准化为011,那么就是同构的. class Solution: def findAndReplacePatter ...

  2. (一)canvas简介

    <canvas>元素主要用来图形的绘制,通过脚本来完成(通常时js来实现): 可以利用其实现图表,游戏等项目的开发. getContext 获取画布的摸板是2d还是3d strokeRec ...

  3. (十八)js控制台方法

    console.log 以日志的形式打印 console.warn 输出警示信息 console.info 输出提示信息 console.error 输出错误信息 console.debug 输出调试 ...

  4. 【ACM非算法部分】scanf()函数

    scanf函数 格式说明符: %c    字符型 %d    十进制数 %i     读入十进制,八进制,十六进制数.输入的时候正常是十进制数,若输入0前缀的数将读入八进制,0x前缀读入16进制.若输 ...

  5. typedeifn typename

    1.类型说明typedef 类型说明的格式为: typedef  类型 定义名; 类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型.定义名表示这个类型的新名字. 例如: 用下面语句定义整 ...

  6. intellij idea 如何更改比编辑器文本字体和大小

    换上了intellij idea之后,第一件事就是想要改变下文字字体,因为在我这个27寸的2k分辨率的屏幕上,文字显然太小了. intellij idea字体设值分成两部分,一部分是UI部分字体字号设 ...

  7. Java实现三种常用的查找算法(顺序查查找,折半查找,二叉排序树查找)

    public class Search { public class BiTreeNode{ int m_nValue; BiTreeNode m_pLeft; BiTreeNode m_pRight ...

  8. 【转】C# Socket编程(4)初识Socket和数据流

    [转自:https://www.cnblogs.com/IPrograming/archive/2012/10/15/CSharp_Socket_4.html] 经过前面基础知识作为背景,现在对Soc ...

  9. (转)Android 使用com.j256.ormlite

    在web开发中经常采用的hibernate,在android也提供了一个ormlite 导入所需jar包后 摘自:http://blog.csdn.net/cuiran/article/details ...

  10. Java 编码规范

    package(包) 包名的命名规范:1.小写 2.至少有一层目录 3.域名倒置书写 package baidu; package com.baidu.www; Class(类)-----大驼峰法 类 ...