Linux下文件的压缩、解压缩、打包以及提取
文章目录
- Linux下文件的压缩、解压缩、打包以及提取
- 一、单个文件的解压缩
- 1、压缩文件:
- 2、文件的压缩
- 3、压缩文件的查看:
- 4、文件的解压:gunzip 【选项】 文件名
- 二、多个文件的打包和提取
Linux下文件的压缩、解压缩、打包以及提取
一、单个文件的解压缩
1、压缩文件:
压缩文件就是经过压缩程序压缩的文件,它的原理是把文件的二进制代码进行压缩,把相邻的0,1代码减少,比如1111111,可以把它记作6个1的写法61,这样来减少该文件的空间,实现压缩。
2、文件的压缩
(1)常见压缩文件的扩展名(*表示文件的名字):
压缩文件的扩展名 | 注释 |
---|---|
*.gz | 通过gzip程序压缩的文件 |
*.bz2 | 通过bzip2程序压缩的文件 |
*.tar | tar程序打包的数据,并没有经过压缩 |
*.tar.gz | tar程序打包的文件,其中经过gzip的压缩 |
*.tar.bz2 | tar程序打包的文件,其中经过bzip2的压缩 |
(2)压缩文件的两种命令:gzip 【选项】 文件名
gzip 文件名(压缩后原文件被删除) |
---|
gzip -c 文件名A > 文件名B.gz(压缩后原文件被保留) |
备注:A和B可以不是同一个文件名,修改的后缀也可以不是 .gz 区别就在于 .gz我们可以直观的看出来它是压缩文件,而修改成其他的后缀就不可以直观的知道它是否为压缩文件,也不能够用Tab键进行自动补全。因此建议大家用压缩格式的后缀,文件名与原来的文件名可以不一样。 |
-c 将输出写到标准输出上,并保留原有文件 |
-d 将压缩文件解压 |
-digit digit部分表示的为数字(1-9)代表压缩速度,但压缩效果越差,数值越大,压缩速度越慢,压缩效果也好,默认为6 |
接下来我们演示一下,做个对比。
①首先我们在一个空的“压缩”文件夹中创建两个文件fileA和fileB,分别写入hello,world和hello,B。
②然后我们使用第一种压缩命令执行给文件fileA,第二种压缩命令执行给fileB,最后使用ll查看结果发现发现第一种压缩命令的原文件被删除,第二种却没有。
3、压缩文件的查看:
好文件已经压缩好了。如果我们要查看里面的内容怎么办呢?难道用cat命令,答案当然是否定的。查看压缩文件的命令是 zcat 文件名.gz 如果使用cat命令会导致文件无法被查看(乱码)。对于bzip2文件的查看方式为bzcat 文件名.bz2
4、文件的解压:gunzip 【选项】 文件名
gunzip 文件名.gz、gzip -d 文件名.gz(解压后原文件被删除) |
---|
gunzip -c 文件名A.gz > 文件名B.gz(解压后原文件被保留) |
备注:同上 |
(1)由于这里方法与第1步骤相同,因此不再累赘。但需要补充一点前面没有提到的是下图中红色线框框中的是fileB文件和fileB.gz文件的大小,为什么压缩后的文件会比压缩前的文件大呢?其实就是因为我们里面写的东西太少了,它在压缩的时候还要记录这个文件是怎么压缩的,这就会导致压缩后的文件比未压缩的还大。
(2)除了gunzip 文件名的解压方式,这里还有一个gzip -d 文件名.gz 的解压方式两种接压方式一样,没有区别。
总结:由于bzip2和gzip用法相同,这里不在演示。要注意的是gzip压缩速度要比bzip2压缩速度快,同样带来的代价就是gzip的压缩率没有bizp2高
二、多个文件的打包和提取
文件的归档即打包文件的语法:tar 【主选项+辅选项】要打包的文件和目录
主选项(唯一,只能有一个):
c | 打包:创建一个新归档文件 |
---|---|
x | 解包:从归档文件中提取文件出来 |
t | 查看包:列出归档文件的内容,查看已经打包了哪些文件,重点在于查看文件名 |
辅选项
z | 通过gzip的方式进行压缩或解压,一般格式为*.tar.gz |
---|---|
j | 通过bzip2的方式进行压缩或解压缩,一般格式为*tar,bz2 |
v | 归档或解包过程中显示被打包的的文件 |
C | 这个参数用在解压缩时,若要在特定目录解压缩,可以使用这个参数 |
f | 输出结果到文件,该选项必须有且必须放在所有选项最后面,如果f后面跟其他选项,会误将后面的选项作为文件名 |
其他选项
- -exclude=被排除的文件名(要有路径) | 在打包的过程中,除了要排除的文件,将其他文件进行打包 |
---|
语法示例 tar czvf new.tar.gz --exclude=1/31 1
意思就是说 通过gzip的打包方式,打包过程中显示打包的文件,新的打包文件名为 new.tar.gz 要打包的目录是 1 目录,要排除的文件为1目录中的名字叫做31的文件。
我们来举几个例子:
1、将“压缩”文件夹中的两个目录和四个文件进行打包:tar czvf dabao.tar.gz fileA fileB fileC fileD 1 2
2、查看dabao.tar.gz中的文件都有哪些:tar tf dabao.tar.gz
当显示目录的时候,它会显示出路径分隔符/。
3、解开dabao.tar.gz中的文件到指定路径。
我们在根下创建一个新文件夹起名“压缩2”然后将dabao.tar.gz这个文件解压到“压缩2”文件夹中。使用命令
tar xf dabao.tar.gz -C /root/压缩2
注意:我们在添加选项的时候,没有j或g的选项是可以的,解压缩的过程中它会自动去识别调用的。
4、我们在“压缩”文件夹中创建目录1并写入4个文件(31、32、41、42)然后我们返回上一级目录,对1目录进行打包操作,并将1目录中名为31的文件进行排除打包操作。
本节所要用到的Linux命令总结:
压缩 | 注释 |
---|---|
gzip 文件名 | 对文件进行压缩后原文件被删除 |
gzip -c 文件名A > 文件名B.gz | 创建一个新的压缩文件B,原文件A不会被删除 |
zcat 文件名.gz 或 bzcat 文件名.bz2 | 查看压缩文件所压缩的文件都有哪些 |
解压缩 | |
gzip -d 文件名.gz | 将文件解压缩(原文件不保留) |
gunzip 文件名.gz | 将文件解压缩(原文件不保留) |
gunzip -c 文件名A.gz > 文件名B.gz | 将A文件解压缩命名为B,并且不会删除A文件 |
打包 | |
tar czvf new.tar.gz --exclude=1/31 1 | 通过gzip的打包方式,打包过程中显示打包的文件,新的打包文件名为 new.tar.gz 要打包的目录是 1 目录,要排除的文件为1目录中的名字叫做31的文件 |
tar czvf dabao.tar.gz 文件A 目录B | 将文件A和目录B进行打包,打包后的名字为daobao.tar.gz |
tar tf dabao.tar.gz | 查看打包文件所包含的文件有哪些。 |
tar xf dabao.tar.gz -C /root/压缩2 | 将dabao.tar.gz解压到指定目录 |
好了,本文到此就结束了,欢迎大家在评论区发言,指正错误,提出宝贵的建议谢谢!
Linux下文件的压缩、解压缩、打包以及提取相关推荐
- linux中的文件夹压缩文件,linux将文件拷贝到目录下Linux下文件的压缩与打包详解...
在Linux中,有很多的压缩命令.利用这些压缩命令,可以方便的从网络上下载大型的文件.同时,我们知道,Linux文件的扩展名是没有特殊意义的,不过,因为Linux下存在着许多压缩命令,所以为了方便记忆 ...
- Linux下文件的压缩与解压缩
Linux下文件的压缩与解压缩与Windows环境下有较大的区别,在Windows下只需要安装类似Winrar工具就能解压缩大部分文件,而在Linux命令行下每一种文件都有不同的压缩和解压缩方法. 使 ...
- linux下文件的压缩和解压缩
linux下文件的压缩和解压缩 目录 1.压缩 2.解压缩 3.归档工具 一. 压缩 compress: -d:解压缩,相当于uncompres-c:结果输出至标准输出,不删除原文件-v:显示详情 - ...
- linux下tar命令解压缩,tar解压缩命令 Linux下的tar压缩解压缩命令详解
<tar解压缩命令 Linux下的tar压缩解压缩命令详解>由会员分享,可在线阅读,更多相关<tar解压缩命令 Linux下的tar压缩解压缩命令详解(14页珍藏版)>请在人人 ...
- linux 备份并压缩文件,Linux下文件的压缩和备份.doc
Linux下文件的压缩和备份 Linux下文件的压缩和备份文/ heiyeluren 文件的备份和压缩是管理员遇到的首要问题,我刚学Linux,总结一下书上和网络上的方法.(本文章基于Redhat9) ...
- linux下的tar压缩解压缩命令详解,Linux下的tar压缩解压缩命令详解
linux下tar gz bz2 tgz z等众多压缩文件的压缩与解压方法,需要的朋友可以参考下 Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命 ...
- Linux下的tar压缩解压缩命令使用
文章目录 查看帮助文档 tar.rar.zip压缩解压实例 tar压缩解压实例 rar压缩解压实例 zip压缩解压实例 tar常用参数 总结 项目问题记录---tar解压失败 .lzme包 LZMA压 ...
- linux压缩命令 实例子,Linux下的tar压缩解压缩命令详解及使用实例分析
格式:tar zcvf 压缩后的路径及包名 你要压缩的文件 z:gzip压缩 c:创建压缩包 v:显示打包压缩解压过程 f:接着压缩 t:查看压缩包内容 x:解压 X:指定文件列表形式排除不需要打包压 ...
- Linux下文件的压缩和解压
文件的压缩和解压 Gzip格式的: tar -czvf 要存的名字.tar.gz 要打包的东西或目录 bzip2格式的: tar -cjvf 要存的名字.tar.bz ...
最新文章
- ABAP从数据库中删除行
- 微前端之single-spa
- ajax返回数据报406,ajax – 406返回JSON对象时出错 – 意外内容
- 为了释放AI在边缘计算的力量 英特尔又出手了
- OpenWrt [mktplinkfw] *** error: images are too big
- php 面向对象问题,PHP 面向对象开发的一些问题
- thinkphp5连接数据库mysql_ThinkPHP学习(三)配置PHP5支持MySQL,连接MySQL数据库
- Python入门--二重循环中的continue和break
- Oracle Decode()函数和CASE语句的比较
- 数组题 倒置 加到字符串
- java 字符串string、int和arraylist互转
- NYOJ题目1057-寻找最大数(三)
- Kafka Simple Consumer
- 谷歌云盘Colab使用心得
- 关于元器件选型需要注意的问题
- 教你如何免费下载中国知网、万方学术论文?这份资源请收好!
- matlab 四面体体积
- 最实用的Mysql安全加固手册
- Semi-Supervised Semantic Segmentation Using Unreliable Pseudo-Labels
- Excel批量插入多个空行-VBA实现