漫谈压缩格式:zip、tar、bz2、tar.gz...
【Linux】漫谈压缩格式:zip、tar、bz2、tar.gz...
- 前言
- 为什么要有压缩文件
- 什么是压缩文件
- 常见压缩格式介绍
- Linux常用压缩命令
- tar命令
- 实例
- 对于.zip
- 小结
前言
下载开源软件的时候,下载站经常会提供多种格式的下载文件如zip、tar.gz
等。如果用于Linux操作系统,我们一般会下意识地选择tar.gz
结尾的文件而对于Windows环境我常选择zip格式,一直以来就是这么用的,也没有深入了解过,最近简单总结了一下。
对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows下最常见 的压缩文件就只有两种,一是,zip,另一个是.rap。可是Linux就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar
等众多的 压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用,不过在Linux使用.zip
和.rar
的人就太少了。本文就来对这些 常见的压缩文件进行一番小结,希望你下次遇到这些文件时不至于被搞晕。
为什么要有压缩文件
文件对于操作系用的重要性不言而喻,Unix更是基于文件管理的系统,深入理解文件系统不是本文的重点,我们来想一下普通用户都会用到的场景,假设你需要往U盘里拷贝100个Excel文件,我们当然可以Ctrl+A
全选、Ctrl+C
复制最后到U盘中Ctrl+V
粘贴,一顿操作猛如虎。
但若想把这100个文件通过QQ发送给你的朋友,你若图省事儿一股脑全拖到聊天窗口发送给你的朋友,估计网线那头的朋友会抓狂——他需要一个个的接收、另存… …
那么问题来了,有没有一种简单有效的方法来进行文件传输?
答案是肯定的,那就是:打包它!划重点:注意不是压缩!
什么是压缩文件
在具体总结各类压缩文件之前呢,首先要弄清两个概念:打包和压缩。为什么要区分这两个概念呢?其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你就得先借助另它的工具将这一大堆文件先打成一个包,然后再就原来的压缩程序进行压缩。
- 打包
打包是指将一大堆文件或目录什么的变成一个总的文件。tar、zip
都有打包功能。不改变文件大小,就是打个包,变成一个文件的文件夹,解压速率也很快。 - 压缩
压缩是将一个大的文件通过一些压缩算法变成一个小文件,顾名思义,通常说的rar、tar
等这些大多都是格式,而不是算法。
多数人电脑上装有是好压、360压缩、WinRAR、7z、BandZip等解压软件,它们也能兼容市面上的多数格式,Windows上用起来是足够了。
常见压缩格式介绍
rar tar zip 7z
是归档容器,里面可以放多个文件、有目录结构,其中zip
是不识别文件名的编码,rar
是带单独的压缩算法(据说类 Deflate)tar
本身是一个文件打包备份的工具,没有自身的压缩功能。通常的使用方式为打包后再调用其他压缩库进行文件压缩。比较适合Linux系统,保持文件权限状态、软硬链接能力强。zip
是公开的一种压缩算法,压缩比目前相对不太高。gz
,gzip是GNU组织开发的一个压缩程序,.gz
结尾的文件就是gzip
压缩的结果。与gzip
相对的解压程序是gunzip
。tar
中使用-z
这个参数来调用gzip
。rar
是带专利的商业算法,压缩比目前比较高。bz2
是Linux下常见的压缩文件格式,是由具有高压缩率的压缩工具bzip2
生成,以后缀为.bz2
结尾的压缩文件。tar中使用-j这个参数来调用bzip2。Z
,compress也是一个压缩程序,但是好象使用compress的人不如gzip
和bzip2
的人多。.Z结尾的文件就是bzip2
压缩的结果。与 compress相对的解压程序是uncompress。tar
中使用-Z
这个参数来调用compress。
Linux常用压缩命令
tar命令
Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法。
必须的参数:(不能共存)
- -c,创建压缩文件c代表create。
- -x,解压缩文件
- -t,查看压缩包里面的文件!
- -r,向压缩归档文件末尾追加文件
- -u,更新原压缩包中的文件
辅助参数:(可用一个或多个)
- -z,用
gzip
压缩/解压缩 - -j,用
bzip2
压缩/解压缩 - -v,显示压缩/解压缩的进度条
- -f,使用档案文件或设备,这个选项通常是必选的(注意:f后面不要接参数,也就是说
-zxfv
是不对的,要写成-zxvf
) - -O,将文件解开到标准输出
小结:
- *.tar 用
tar –xvf
解压 - *.gz 用
gzip -d
或者gunzip
解压 - *.tar.gz和*.tgz 用
tar –xzf
解压 - *.bz2 用
bzip2 -d
或者用bunzip2
解压 - *.tar.bz2用
tar –xjf
解压 - *.Z 用
uncompress
解压 - *.tar.Z 用
tar –xZf
解压 - *.rar 用
unrar e
解压 - *.zip 用
unzip
解压
实例
解压一个文件:
$ tar -zxvf abc.tar.bz2 [-C --path]
# -C可选解压到的路径如下命令将解压到/user/local/a文件夹下
$ tar -zxvf abc.tar.gz -C /user/local/a
创建压缩文件:
$ tar -zcvf abc.tar.bz2 one.mp3 two.mp3
对于.zip
Linux下提供了zip
和unzip
程序,zip
是压缩程序,unzip
是解压程序。它们的参数选项很多,这里只做简单介绍。
将所有.jpg
的文件压缩成一个zip
包
$ zip all.zip *.jpg
将all.zip中的所有文件解压出来
$ unzip all.zip [-d --path]
# -d可选,作用同tar的-C
小结
到此为至,我们已经介绍过linux下的tar、gzip、gunzip、bzip2、bunzip2、compress、uncompress、 zip、unzip、rar、unrar
等程式,你应该已经能够使用它们对.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、. Z、.tar.Z、.zip、.rar
这10种压缩文件进行解压了,以后应该不需要为下载了一个软件而不知道如何在Linux下解开而烦恼了。而且以上方 法对于Unix也基本有效。
漫谈压缩格式:zip、tar、bz2、tar.gz...相关推荐
- Linux下常见的压缩包格式有5种:zip tar.gz tar.bz2 tar.xz tar.Z
filename.zip的解压: unzip filename.zip filename.tar.gz的解压: tar -zxvf filename.tar.gz z: gzip 压缩格式 ...
- 一键式解压tar, tar.gz. tar.bz2, tar.xv文件的shell脚本【转】
(转自:https://www.cnblogs.com/xmlee/p/9142645.html) tar, tar.gz. tar.bz2, tar.xv等文件的压缩和解压缩参数让人实在蛋疼, 本 ...
- Linux 各种压缩类型文件 解压命令 整理 tar.bz2 tar.gz tgz等等
*.tar 使用 tar –xvf 解压 *.tar.gz和*.tgz 使用 tar –zxvf 解压 *.gz 使用 gzip -d或者gunzip 解压 *.bz2 使用 bzip2 -d 或者 ...
- Java批量高效压缩支持加解密支持所有压缩格式(Zip/7z/rar)
前言:有时候需要对很多文件进行压缩,几个还好如果有100个呢对吧,为什么不借助咱们强大的java呢,所以我就写了一个可以批量压缩,支持所有压缩格式的工具类当然也支持加密和解密,下面就是工具类的代码 废 ...
- word保存为html不压缩图片大小,如何一键保存word文档中的图片?只需把.docx后缀改成压缩格式.zip即可 ......
有时候我们在网上下载一篇Word文档,里面有很多张图片,我们想要将这些图片保存下来.如果是单张图片保存,我们可以选中图片,然后点击鼠标右键,选择[另存为图片]即可,如下图所示. 但如果是需要将所有图片 ...
- pandas 读取/保存压缩格式的csv文件.csv.gz
保存 data.to_csv('data.csv.gz', compression='gzip', index=False) 读取 pd.read_csv('data.csv.gz', compres ...
- Linux下创建与解压zip, tar, tar.gz和tar.bz2文件及该文件压缩对比
目前Linux下常见的压缩文件扩展名: *.Z compress程序压缩的文件(最早期使用),压缩后取代源文件: *.zip 一个夸平台的文件打包程序,适用于Linux.windows和Mac OS系 ...
- Linux下压缩、解压缩、效率,linux tar bz、bz2、gz、zip
linux入门常用的指令中,属压缩解压缩最容易记混.现在来梳理一下: tar 参数使用: -v 显示操作过程(必加) -f 指定压缩文件(必加) -j 支持bzip2解压文件(bz.bz2后缀的文件) ...
- Linux:文件压缩解压gz、tar.gz、tar.xz、tar.bz2、tgz、zip
目录 tar.tar.gz.tar.xz.tar.bz2.tgz gz zip tar.tar.gz.tar.xz.tar.bz2.tgz 1.压缩 tar -zcvf 压缩文件名.tar.gz 被压 ...
最新文章
- java标签多行_利用Arcade表达式显示多行标签
- win10子系统python_Win10子系统ubuntu
- jenkins 安装配置
- Windows Forms 实现安全的多线程详解
- HDU-2037 今年暑假不AC
- ci框架基础详解(入门学习)
- 基于巴法云平台的天猫精灵控制开关
- C# DataGridView 冻结列或行
- MT6573_FlashTool 下载的使用说明
- AngularJS笔记
- are in unnamed module of loader ‘app‘)“ }
- 右键文件夹一直转圈圈怎么办
- solr的copyFeild用法(改变各个feild的权重,修改打分结果)-注意!
- 蓝色巨人IBM(International Business Machines)
- 王家林老师Spark学习第一课
- css overflow
- 新天龙官网服务器更新消息,《经典怀旧·新天龙八部》8月5日全服更新维护公告...
- matlab中的isnan函数怎么用,matlab isnan用法
- 18位身份证包含的信息
- 关于get请求中文乱码的原因分析