一、文件压缩的原理

简单来说,压缩技术就是在存储时将文件里面没有使用的空间利用起来,主要有以下两种情况。

存储时去掉没有用到的空间。假设我们只是存储一个数字 1 ,二进制表示数字1只需1个bit是1就可以表示(1=1*2^0),但是为了满足操作系统对数据的存取要求,只能通过byte的形态来记录。1 byte = 8 bits,所以每个byte当中会有8个bits,而其他的7个bits将自动的被填上0,其实那7个bits是没有用到的。

另外一种压缩技术是将重复的数据进行统计记录。举例来说,如果数据为[1111…]共有100个1,那么记录为“100个1”也能精简文件的大小。

二、linux常见的压缩指令

Linux支持的压缩指令可以通过不同的后缀名进行区分,常见的扩展名:

.zip:zip程序压缩的文件

.gz:gzip程序压缩的文件

.bz2:bzip2程序压缩的文件

.xz:xz程序压缩的文件

.tar:tar程序打包的数据,并没有压缩过

.tar.gz:tar程序打包的数据,经过gzip压缩过

.tar.bz2:tar程序打包的数据,经过bzip2压缩过

.tar.xz:tar程序打包的文件,经过xz压缩过

三、常用实例

以把/etc中内容打包压缩到/tmp/etc.*,然后在解压回/etc为例

1、tar命令

打包:tar -cvf /tmp/etc.tar /etc

解包:tar -xvf /tmp/etc.tar /etc

常用参数 :

-c :建立压缩档案(create 的意思);

-x :解压档案!

-v : 显示所有过程 ,执行过程会打印在屏幕上!

-f : 使用档案名字,这个参数是最后一个参数,后面只能接档案名。

2、zip命令

压缩:zip -r /tmp/etc.zip /etc

解压:unzip /tmp/etc.zip /etc

-r: 将指定的目录下的所有子目录以及文件一起处理

3、gz命令

压缩:tar -czvf /tmp/etc.tar.gz /etc

解压:tar -xzvf /tmp/etc.tar.gz /etc

-z:使用gzip命令对文件进行压缩或解压缩。

4、bz2命令

压缩:tar -cjvf /tmp/etc.tar.bz2 /etc

解压:tar -xjvf /tmp/etc.tar.bz2 /etc

-j:使用bz2命令对文件进行压缩或解压缩。

5、xz命令(必须分两步)

打包:tar -cvf /tmp/etc.tar /etc

压缩:xz -z /tmp/etc.tar #将 /tmp/etc.tar压缩成为 /tmp/etc.tar.xz

解压缩:xz -d etc.tar.xz #将 etc.tar.xz解压成 etc.tar

解包:tar -xvf etc.tar

-z:使用xz命令对文件进行压缩操作。

-d:使用xz命令对文件进行解压缩操作。

以上命令均可以将多个文件夹或文件打包压缩到一个文件中

总结:

没有特殊要求推荐使用bz2命令,它是速度和压缩比都比较折中的命令,如果想要快速压缩文件,可以使用gz命令,如果追求最高的压缩比,可以使用xz命令 。

linux文件的打包与下载总结,linux下文件的打包和压缩相关推荐

  1. 【Linux】上传和下载服务器上的文件

    (1) Xshell: Xshell 只能通过 "sz 文件名" 和 "rz" 来下载和上传文件,也可以直接通过将电脑上的文件拖动到Xshell窗口的方式来上传 ...

  2. 将本地文件上传或下载到Linux云服务器的三种方法

    1.WinSCP 这款软件可以在windows操作系统中进行安装使用.具有图形化界面,比较友好,操作简单.功能全面,适合刚入门的菜鸟乃至老鸟进行使用. WinSCP 可以执行所有基本的文件操作,例如下 ...

  3. 红旗linux v11预览版下载,红旗 Linux 桌面系统发布 v11 预览版,1月10日开放下载

    近日,国产操作系统红旗 Linux 官网上线最新的红旗 Linux 桌面操作系统 v11 社区预览版,更新内容包括多项组件更新和全新的主题界面等. 据悉,最新的红旗 Linux 桌面系统 v11 版本 ...

  4. 文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件

    总结:                                                          使用PHP下载文件的操作需要给出四个header(),可以参考我的另一篇博文: ...

  5. 红旗linux 操作系统,红旗Linux操作系统9.0官方下载-红旗Linux操作系统9.0正式版(基于c语言)免费版 - 维维软件园...

    说到操作系统相信大家首先想到的是微软的吧,而今天要给大家分享下载的是红旗Linux操作系统9.0官方正式版,该版本是最近发布的全新版本的红旗Linux系统,该操作系统是基于专业的c语言编写,并且它还拥 ...

  6. linux局域网语音通讯软件下载,基于Linux平台的局域网可语音的IM软件的设计与实现.doc...

    基于Linux平台的局域网可语音的IM软件的设计与实 作者: 专业:软件工程 指导老师: 摘要 随着计算机网络的日益普及人们通过网络进行交流显得越来越重要.于是出现了一系列的通信软件. 自1990s ...

  7. 7z替换exe文件内容不能替换文件_Windows小技巧 批处理文件实现目录下文件批量打包压缩...

    最近整理资料,发现很多 pdf 文档,占用了不少的存储空间,考虑使用 7-zip 进行压缩存储,由于文件比较多,且分散在不同目录下,一个个文件压缩比较繁琐.为了提高效率且,方便后面取用,所有打算捣鼓个 ...

  8. android ios打包工具下载,IOS移动开发之快速打包工具---- iTunes 降级 到12.6,回到你熟悉的版本...

    在发布新手机新系统之际,苹果推出了新版本iTunes软件(版本号12.7).新版iTunes主要增加了对ios11设备的支持,但同时删除掉了App Store功能.这也就意味着,你再也不能通过iTun ...

  9. Struts文件上传与下载详解_文件的下载

    在 两篇我们主要说的是文件的上传,既然有上传那就有下载,那么咱们看一下struts里面是怎么个下载法! 1.写个文件下载的表单页面: <a href="downLoad.action? ...

最新文章

  1. 网络营销外包——网络营销外包专员如何系统化梳理网站优化方法
  2. 爱上经典之《蜗牛与黄鹂鸟》
  3. C++ 方块游戏小更新
  4. 100行JavaScript代码实现JavaScript
  5. 优达学城深度学习(之四)——jupyter notebook
  6. makefile工作笔记0001---认识使用makefile
  7. JavaScript(一)基本语法
  8. [hiho1160] 攻城略地
  9. 海康流媒体服务器客户端网页打不开,海康dvr流媒体服务器+客户端
  10. java网吧计费系统源码_网吧计费管理系统 - WEB源码|JSP源码/Java|源代码 - 源码中国...
  11. 3.12_ValueError: x and y must have same first dimension, but have shapes (100,) and (1,)
  12. vue中.lazy 相当于change事件
  13. matlab中如何使用help,MATLAB中如何使用help?怎样看matlab的help
  14. 三菱FX系列PLC以太网连接昆仑通态MCGS
  15. 生态功能区划方法之二:生态服务功能重要性评价
  16. Anaconda3最新版2022版的下载安装配置及使用教程(建议收藏,持续更新..)
  17. mysql 5.7 ga_mysql 5.7.9(GA) 安装
  18. 高仿360云盘android端的ui实现,(原创)高仿360云盘android端的UI实现
  19. cve20190708补丁的kb名称_微软远程桌面漏洞修复补丁下载|
  20. codeforces Mafia

热门文章

  1. java中使用MD5进行计算摘要
  2. 远方 vs How did I fall in love with you
  3. 64MQQ2440烧写MINI2440光盘中的内容同样可以跑起来
  4. 02 | 系统可用性:没有故障,系统就一定是稳定的吗?
  5. ssrs报表服务器数据库配置文件,创建报表服务器数据库(SSRS 配置管理器)
  6. python字典值的和计算_第一章Python数据结构和算法(字典的运算)
  7. centos网络隔一段时间就断_“路由器隔一段时间就上不了网,断一下电又能用了,这是什么原因...
  8. 阿里云智能物联网解决方案宣讲会,帮助天津东丽临空经济区数字腾飞
  9. RDS PostgreSQL一键大版本升级技术解密
  10. Flink Forward Global 2021 议题征集ing!