`

压缩解压缩

 
阅读更多
*.Z compress程序压缩的文件
*.bz2: bzip2程序压缩的文件
*.gz:gzip程序压缩的文件
*.tar:tar程序打包的数据,并没有压缩
*.tar.gz:tar程序打包的文件,并且经过gzip的压缩

compress命令已经过时,gzip来取代它。另外还有压缩比更好的压缩命令bzip2。压缩命令通常只能针对一个文件来

压缩和节压缩,如此一来,每次压缩和解压缩都有一大堆文件,很麻烦,打包软件可以解决这个问题。


gzip,zcat

-c :将压缩的资料输出到萤幕上,可透过资料流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩档的一致性~看看文件有无错误(这个命令好像用不了);
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6 ~
-V :版本。显示版本号和编译选项后退出

例如:
gzip man.config
此时 man.config 会变成 man.config.gz !

zcat man.config.gz
此时萤幕上会显示 man.config.gz 解压缩之后的文件内容!


gzip -d man.config.gz
文件解压缩


gzip -9c man.config > man.config.gz
man.config 用最佳的压缩比压缩,并保留原本的档案
-c,在压缩时,会保留原理的文档,如果没有-c,压缩后,原来的文件就消失了。

gzip 是用来压缩与解压缩附档名为 *.gz 的指令!所以看到 *.gz 的档案时,就应该要知道他是经由 gzip 这个程

序压缩的呦。至于 zcat 则是用来读取压缩文件数据内容的指令!假如我们刚刚压缩的档案是一个文字文件, 那么

你还记得如何读取文字文件吗?!没错!就是使用 cat ,那么读取压缩档呢?呵呵!就是使用 zcat ?!由于 gzip

这个压缩指令主要想要用来取代 compress 的,所以 compress 的压缩档案也可以使用 gzip 来解开喔!同时,

zcat 这个指令可以同时读取 compress 与 gzip 的压缩档呦!


bzip2
-c :将压缩的资料输出到萤幕上,可透过资料流重导向来处理;
-d :解压缩的参数;
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6 ~
-V :版本。显示版本号和编译选项后退出
-z :压缩的参数(不写,表示默认压缩)

bzcat 查看bzip2压缩后的文件





tar
tar [-cxtzjvfpPN] 文件与目录 ....
参数:
-c :建立一个新的归档文件(create的意思)
-x :解开一个压缩文件的参数指令
-t :查看tarfile里面的文件
特别注意,在参数的下达中,c/x/t仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有gzip的属性,亦即是否需要用gzip压缩
-j :是否同时具有bzip2的属性,亦即是否需要用bzip2压缩
-v :压缩的过程中显示文件,这个常用,但不建议用在背景执行过程
-f :使用档名,请留意,在f之后要立即接档名,不要再加参数
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
   『 tar -zcvPf tfile sfile』才对
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中
--exclude FILE:在压缩的过程中,不要将FILE打包

例子:
将整个/etc目录下的文件全部打包成为/tmp/etc.tar
tar -cvf /tmp/etc.tar /etc (如果没有v参数,则什么也不显示)
tar -zcvf /tmp/etc.tar.gz /etc<==打包后,以gzip压缩
tar -jcvf /tmp/etc.tar.bz2 /etc<==打包后,以bzip2压缩

特别注意,在参数f之后的文件档名是自己取的,我们习惯上都用.tar来作为辨识
如果加z参数,则以.tar.gz或.tgz来代表gzip压缩过的tar file
如果加j参数,则以.tar.bz2来作为附档名

查阅上述/tmp/etc.tar.gz文件内有哪些文件
tar -ztvf /tmp/etc.tar.gz
由于我们使用gzip压缩,所以要查阅该tar file内的文件时,
就得要加上z这个参数了,这很重要的


tar -zxvf /tmp/etc.tar.gz
上面的命令是把,压缩文档解压到当前工作目录
(使用tar时,一定要加-f指定压缩的文档名字)


要备份/home, /etc,但不要/home/dmtsai
tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc


将/etc/内的所有文件备份下来,并且保存其权限
tar -zcvpf /tmp/etc.tar.gz /etc
这个-p的属性是很重要的,尤其是当您要保留原本文件的属性时

范例六:在/home当中,比 2005/06/01新的文件才备份
tar -N "2005/06/01" -zcvf home.tar.gz /home


注意:假如以绝对路径压缩,那么在解压缩时就会有可能把相同目录下的文件夹给覆盖掉。因此,如果是以绝对路径

来建立打包文件,你们tar将会自动将/去掉。这是为了安全所做的默认设置。如果想以绝对路径来建立打包文件,就

加入-P参数。






1.zip
zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
2.unzip
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
3.其他
zip -d myfile.zip smart.txt
删除压缩文件中smart.txt文件
zip -m myfile.zip ./rpm_info.txt
向压缩文件中myfile.zip中添加rpm_info.txt文件

要使用 zip 来压缩文件,在 shell 提示下键入下面的命令:
zip -r filename.zip filesdir

在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r 选项指定你想递

归地(recursively)包括所有包括在 filesdir 目录中的文件。
要抽取 zip 文件的内容,键入以下命令:
unzip filename.zip

你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:
zip -r filename.zip file1 file2 file3 /usr/work/school

上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后

放入 filename.zip 文件中。


例1:将压缩文件text.zip在当前目录下解压缩。

$ unzip text.zip

例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。

$ unzip -n text.zip -d /tmp


打包并压缩的文件叫 tarball
打包但没有压缩的文件叫 tarfile
分享到:
评论

相关推荐

    zip压缩解压缩

    【标题】:“zip压缩解压缩”这一主题主要涵盖了在计算机编程中如何使用C++语言进行ZIP文件的压缩和解压缩操作。ZIP是一种广泛使用的文件格式,它允许将多个文件打包成一个单一的压缩文件,以节省存储空间和提高传输...

    DFT EDT 压缩解压缩模块详解

    《DFT EDT 压缩解压缩模块详解》 DFT(Design for Testability,可测试性设计)是集成电路设计中的关键部分,旨在提高产品的测试效率和质量。EDT(Embedded DFT Technology)是DFT的一种实现方式,它将测试功能嵌入...

    C++ zip压缩解压缩源代码

    C++ zip压缩解压缩源代码 压缩时调用 #include "zip.h" HZIP hz = CreateZip("c:\\simple1.zip",0); ZipAdd(hz,"znsimple.bmp", "c:\\simple.bmp"); ZipAdd(hz,"znsimple.txt", "c:\\simple.txt"); ...

    C#压缩解压缩类库项目SharpZip.zip

    在这个名为"C#压缩解压缩类库项目SharpZip.zip"的压缩包中,我们很可能会找到一个使用SharpZipLib库来实现C#压缩和解压缩功能的示例项目。 首先,让我们详细了解`SharpZipLib`库。这个库由ICsharpCode提供,它是一...

    C++ 压缩解压缩库

    在给定的标题“C++ 压缩解压缩库”中,我们可以推断这是一个针对C++语言的库,专注于文件或数据的压缩与解压缩功能。描述提到这是为VS2012版本编译的,意味着它可能使用了Visual Studio 2012的编译环境,并且库已经...

    Delphi 压缩解压缩zip文件源代码,支持密码

    2. 可以将任意一个zip文件,加压到一个目录中,该目录位于当前执行文件所在目录的Unzip目录中,目录结构不变 3. 可以加压出任意一个zip文件中的文件到当前... 兼容三方的压缩解压缩文件。 带有演示程序以及原代码

    文件压缩解压缩算法大全C的

    算法,压缩,解压缩算法,压缩,解压缩算法,压缩,解压缩算法,压缩,解压缩算法,压缩,解压缩文件压缩解压缩算法大全C的文件压缩解压缩算法大全C的文件压缩解压缩算法大全C的

    批量压缩解压缩.rar

    "批量压缩解压缩.rar" 提供了这样的功能,它允许用户一次性处理多个文件或整个目录,极大地提高了效率。这一工具对于那些需要频繁处理大量文件的IT专业人员来说尤其实用,比如开发人员、系统管理员和数据分析师。 ...

    JS压缩 解压缩 加密 混淆工具 五合一打包

    JS压缩 解压缩 加密 混淆工具五合一打包: =============================== JsFormatTool JavaScript Code Improver Packer packer2.net X2JSCompactor

    基于zlib封装的压缩解压缩lib库

    《基于zlib封装的压缩解压缩lib库详解》 在信息技术领域,数据压缩与解压缩是常见的操作,尤其是在文件传输、存储和优化资源利用时。本文将深入探讨一个基于zlib库封装的压缩解压缩库,它为开发者提供了便捷的API,...

    哈夫曼编码压缩解压缩程序(CPP写的)

    《哈夫曼编码压缩解压缩程序的实现及原理》 哈夫曼编码是一种高效的数据压缩方法,它基于字符出现频率构建最优的二叉树结构,从而实现数据的压缩与解压缩。本文将深入探讨哈夫曼编码的原理,并通过一个使用C++编写...

    unix压缩解压缩命令详解

    Unix 压缩解压缩命令详解 Unix 操作系统中有多种压缩和解压缩命令,了解这些命令非常重要。本文将详细介绍 Unix 中常用的压缩格式和相应的压缩、解压缩命令。 tar 命令 tar 命令是 Unix 中最常用的打包命令,它...

    c/c++zip压缩解压缩

    本话题主要围绕"基于C/C++的zip压缩解压缩"进行深入探讨。 标题中的"C/C++ zip压缩解压缩"是指使用C或C++编程语言来实现对ZIP文件格式的处理。ZIP是一种广泛使用的文件归档格式,它允许将多个文件和目录打包成一个...

    Huffman 压缩解压缩 Java实现

    需要注意的是,Java实现的Huffman压缩解压缩不适用于二进制文件,因为二进制文件的字节分布与ASCII文档不同,直接应用ASCII字符频率统计可能会导致压缩效果不佳。对于二进制文件,通常需要先进行预处理,如使用字节...

    delphi vclzip 压缩解压缩源码

    总的来说,Delphi VCLZip是一个强大的压缩解压缩工具,它简化了在Delphi应用程序中处理压缩文件的过程,并且提供了额外的注册表操作能力。通过理解和掌握VCLZip,Delphi开发者可以创建更加功能丰富的应用程序,提高...

    基于3D-DCT变化的图像压缩解压缩算法,分别处理单个图片和视频图像序列。使用matlab2021a或者以上版本测试

    总的来说,这个项目提供了从图像到视频的3D-DCT压缩与解压缩的完整解决方案。通过使用3D-DCT,可以有效地压缩视频数据,减少存储需求,同时保持较好的图像质量。对于视频通信、数字媒体存储等领域,这种技术有着广泛...

    文件压缩解压缩DLL带源码

    标题中的“文件压缩解压缩DLL带源码”指的是一个动态链接库(DLL)文件,它包含了用于文件压缩和解压缩的函数实现,并且附带有源代码。DLL是一种可执行文件,它能被多个程序同时调用,以共享功能,提高效率。在这个...

    哈夫曼压缩解压缩

    总之,哈夫曼压缩解压缩是数据压缩领域的一个重要方法,通过MFC和VC++,我们可以构建出直观且高效的压缩工具,便于学习和研究。在这个过程中,理解哈夫曼编码的原理、掌握MFC的使用以及实现压缩和解压缩的算法,都是...

    Rinex压缩解压缩工具

    "Rinex压缩解压缩工具"是一个专门针对Rinex O文件设计的应用程序,它的目的是为了方便地减小这些数据文件的大小,以便于存储、传输和共享。由于Rinex观测文件通常包含大量的高精度定位信息,如卫星信号的相位和伪距...

    .net压缩解压缩插件

    《.NET压缩解压缩插件:ICSharpCode.SharpZipLib深入解析》 在.NET开发环境中,处理压缩和解压缩任务是一项常见的需求。为了简化这一过程,开发者们常常依赖于第三方库,其中ICSharpCode.SharpZipLib是一个非常流行...

Global site tag (gtag.js) - Google Analytics