日常操作中我们经常使用到文件压缩操作,其使用一些特定的算法来减小文件的大小,可以提高传输数据时的速率和减少数据在一些存储机制上占有的空间大小,实现空间利用最大化。

比如:如果你想通过邮箱发送一个文件夹,你会发现可能行不通,怎么办呢,难道将文件夹内的内容一个个发送吗?显然不用,因为邮箱不支持文件夹这种格式,所以我们需要将文件夹压缩,或将众多文件归档后压缩后,才能进行发送,这样不仅对应了邮箱支持的格式,而且还将提升传输效率。


任何一个文件在电脑上储存都有它的格式,现今各操作系统中最常用的压缩格式zip, rar;从功能上看rar格式比zip格式的压缩率更高,但压缩解压缩的时间也高于zip格式。当然除这两种格式外,还有很多的压缩格式。以下简述在命令行上压缩归档命令的一些技巧:

  • zip格式,由程序员菲尔卡次1989年发表,zip原义有拉链,速度的含义。zip在Linux,Mac os, Windows平台上都可以看到他的身影,虽然它在Linux下不太广泛,但在与其他平台交流数据时就很有用了。

1:在linux系统下用zip命令创建归档压缩文件:zip -r file.zip dir  //-r 表示对目录进行递归式归档

-q表示安静模式,不显示任何执行过程中的信息。

-d选项可以删除归档文件中一个或多个文件。 zip -d file.zip file1 file2 ...

2:unzip 可以提取出zip中的内容(相当于解压缩): unzip file.zip ;-l选项则可以列出压缩归档文件中的内容。

  • rar格式,开发者为尤金·罗谢尔,全名是“Roshal ARchive”,即“罗谢尔的归档”之意;多用于数据压缩与归档打包。
  • Linux下常用的的gz (gzip), bz2(bzip2), lzma格式:

1: gzip的使用方法(命令行, ->表示左边操作得到右边):

压缩:gzip filename->fliename.gz

解压缩:gunzip filename.gz->filename

列出压缩文件的属性信息:gzip -l filename.gz->各文件的具体信息

2: 因为gzip压缩只针对单个文件或数据流,所以时常与tar结合使用:

方式为先创建tar归档文件: tar -cvf filename.tar file1 file2 ... -> filename.tar

再使用gzip压缩: gzip filename.tar->filename.tar.gz

因为tar支持选项-z以gzip格式压缩,所以也可以:tar -cvzf filename.tar.gz file1 file2 .... ->filename.tar.gz

3:bzip2,lzma在功能与语法上与gzip相似,bzip2的压缩效率高于gzip,lzma最高

解压缩bzip2格式文件: bunzip filename.bz2 -> filename

解压缩lzma格式文件: unlzma filename.lzma -> filename

也可以使用-j, --lzma选项使用tar分别进行bzip2, lzma格式的压缩。

了解一些常见的压缩文件格式利于我们区分各式各样的文件噢。

zip,rar及linux下常用的压缩格式的更多相关文章

  1. Linux 下常用的压缩,解压方法

    压缩命令: tar.gz 格式: tar -zcvf  自定义压缩文件名.tar.gz   被压缩文件名 zip 格式: zip -r 自定义压缩文件名.zip 被压缩文件名 如果要压缩整个文件夹,也 ...

  2. Linux下常用的压缩与解压命令

    .tar (注:tar是打包,不是压缩!) 解包: tar xvf FileName.tar 打包: tar cvf FileName.tar DirName .gz 解压1: gunzip File ...

  3. Linux下对各种压缩文件处理

    Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进 行压缩了,所以首先就来讲讲ta ...

  4. linux下打包,压缩,解压缩

    Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进 行压缩了,所以首先就来讲讲ta ...

  5. Linux 下常用解压命令(转载)

    Linux下常用文件解压(包括rpm.deb包) Linux下怎么解后缀名是gzip的文件?1.以.a为扩展名的文件:#tar xv file.a2.以.z为扩展名的文件:#uncompress fi ...

  6. linux下常用的截图、录屏工具

    录屏: 在linux下常用的录屏工具有5种,可以baidu或者google下喔,我选用的是recordMydesktop,使用非常方便,用时注意先把每秒桢数调高,否则效果必然很差. 在ubuntu下可 ...

  7. linux下常用命令备忘

    转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删 ...

  8. 20145239 Linux下常用的ls命令总结

    20145239 Linux下常用的ls命令总结 通过学习本周的教学视频和要求掌握的内容,发现ls命令被使用的次数非常多,但作为一个初学者,可能我只会ls或者顶多ls -l两种用法.但其实ls是一个非 ...

  9. Linux下常用的操作

    Linux下常用的操作 文件定位 locate filename 有些版本的linux会出现 -bash: locate: command not found错误,不要慌,安装一下mlocate包就好 ...

随机推荐

  1. Linux高级命令-sort、uniq、 cut、sed、grep、find、awk

    sort(参考学习网站:http://www.cnblogs.com/dong008259/archive/2011/12/08/2281214.html) 功能:根据不同的数据类型进行排序 格式:s ...

  2. 能不能自己写个类,也叫java.lang.String?

    可以,但在应用的时候,需要用自己的类加载器去加载,否则,系统的类加载器永远只是去加载jre.jar包中的那个java.lang.String.由于在tomcat的web应用程序中,都是由webapp自 ...

  3. 链表-C语言实现

    链式存储线性表的结构体: typedef int ElemType; //元素类型 typedef struct Node //链表结构体 { ElemType date; //链表结点数据域 str ...

  4. 【LiteOS】STM32F103-LiteOS移植教程(详细篇)【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  5. 机器学习笔记(六) ---- 支持向量机(SVM)

    支持向量机(SVM)可以说是一个完全由数学理论和公式进行应用的一种机器学习算法,在小批量数据分类上准确度高.性能好,在二分类问题上有广泛的应用. 同样是二分类算法,支持向量机和逻辑回归有很多相似性,都 ...

  6. cluster模块设置子进程的stdio

    原因 子进程的stdout及stderr需要被设置为某个文件,根据文档 setupMaster 说明,需要设置stdio数组: c.setupMaster({ exec: `${cwd}/c.js`, ...

  7. flutter最简单轻量便捷的路由管理方案NavRouter

    大家好,我是CrazyQ1,今天给大家推荐一个路由管理方案,用的非常不错的,叫nav_router. 项目地址是:https://github.com/fluttercandies/nav_route ...

  8. pandas学习(四)--数据的归一化

    欢迎加入python学习交流群 667279387 Pandas学习(一)–数据的导入 pandas学习(二)–双色球数据分析 pandas学习(三)–NAB球员薪资分析 pandas学习(四)–数据 ...

  9. [TimLinux] Python 自定义描述符

    1. 含义 在类中,含有属性(该属性需要存在类对象到__dict__属性中,不能为存在示例对象的__dict__属性中),对属性对操作(访问,设置值,删除)可以自定义行为,这样对自定义行为成为自定义属 ...

  10. BZOJ 3107 [cqoi2013]二进制a+b (DP)

    3107: [cqoi2013]二进制a+b Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 995  Solved: 444[Submit][Stat ...