0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

linux中的压缩和解压操作

CHANBAEK 来源:嵌入式之入坑笔记 作者:嵌入式之入坑笔记 2023-02-16 18:13 次阅读

前言:

在开发中,很多时候会遇到某些文件要进行压缩的操作,比如文件较大不方便传输的时候,可能会考虑对文件进行压缩,以减少文件传输的时间。

比如在网络中传输文件的时候,就会考虑先将文件进行压缩,然后传输压缩的文件,这样可以减少文件传输所需要的带宽和时间,在网络接收到文件之后再解压,就可以得到文件了。

文件的压缩有两种方式:有损压缩和无损压缩。 有损压缩会对文件的数据有一定的破坏,一般对于重要的文件我们不会考虑这样的方式。 无损压缩不会影响文件,所以对于压缩我们最先考虑的是使用无损压缩的方式。

1、单个文件压缩和解压用 gzip / bzip2

对单个文件的压缩和解压我们可以使用使用gzip 和 bzip2 进行操作。 这两个命令只能用于对单个文件的压缩操作,对于目录和多级目录的压缩是不行的。

2.1、gzip 压缩和解压

gzip命令的使用如下:

gzip [选项] [完整的文件名]


常用的选项有:


-l(list):列出压缩文件的内容;


-k(keep):在压缩或解压时,保留输入文件;


-d(decompress):将压缩文件进行解压缩;

使用gzip压缩完之后的文件会生成后缀为.gz的压缩文件。 如果直接使用 gzip 对某个文件进行压缩,不加任何其他选项的话,压缩完成之后是会删除掉被压缩的源文件的,加 -k 选项就会在压缩完成之后依然保留源文件。

gzip的使用示例如下:

1)	压缩文件 


gzip -k "需要压缩的文件名" // 压缩成功后得到了一个.gz结尾的压缩文件



2) 查看压缩文件


gzip -l "经过压缩的.gz的文件"



3) 解压文件


gzip -kd pwd.1.gz //该压缩文件必须是以.gz结尾的单个文件


2.2、bzip2 压缩和解压

bzip2 命令的使用如下:

bzip2 [选项] [完整的文件名]


常用的选项有:


-l(list):列出压缩文件的内容;


-k(keep):在压缩或解压时,保留输入文件;


-d(decompress):将压缩文件进行解压缩;

使用bzip2压缩完之后的文件会生成后缀为.gz的压缩文件。

bzip2 的使用示例如下:

1)	压缩文件 


bzip2 -k "需要压缩的文件名" // 压缩成功后得到了一个.bz2结尾的压缩文件



2) 查看压缩文件


bzip2 -l "经过压缩的.bz2的文件"



3) 解压文件


bzip2 -kd pwd.1.gz //该压缩文件必须是以.bz2结尾的单个文件

gzip 和 bzip2 都能对单个文件进行压缩,那这两个方式有什么不同呢?

不同之处在于:

1) 一般情况下,小文件使用gzip来压缩,大文件使用bzip2来压缩;

2) bzip2 比 gzip 的压缩率更高。

2、目录和多级目录的解压和压缩用 tar

对目录以及多级递归的目录的压缩和解压可以使用 tar 进行操作。 常用的 tar 命令的选项有:

-c(create):表示创建用来生成文件包 。


-x:表示提取,从文件包中提取文件。


-t:可以查看压缩的文件。


-z:使用gzip方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。


-j:使用bzip2方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。


-v(verbose):详细报告tar处理的信息


-f(file):表示文件,后面接着一个文件名。 -C <指定目录> 解压到指定目录。

使用 tar 的进行打包压缩的时候,是可以选择压缩方式的,这个压缩方式就是前面提到的 gzip 和 bzip2 。

可以简单的理解为:tar就是将目录进行打包压缩,至于选择什么样的压缩文件的方式就要自己指定,对文件的压缩可选 gzip 和 bzip2 。

3.1、tar打包,用 gzip 压缩/解压

1)把目录 file1 压缩、打包为file1.tar.gz文件:


tar czvf file1.tar.gz file1。


注意:“tar –czvf”与“tar czvf”是一样的。



2)查看压缩文件:


tar tvf file1.tar.gz



3) 解压文件,可以用 -C 指定解压到哪个目录:


tar xzvf file1.tar.gz //解压到当前所在的目录。


tar xzvf file1.tar.gz -C "解压路径:xxx" //解压到xxx。


3.2、tar打包,用 bzip2 压缩/解压

1)把目录 file1 压缩、打包为file1.tar.bz2文件:


tar cjvf file1.tar.bz2 file1。


注意:“tar –cjvf”与“tar cjvf”是一样的。



2)查看压缩文件:


tar tvf file1.tar.bz2



3)解压文件,可以用 -C 指定解压到哪个目录:


tar xjvf file1.tar.bz2 //解压到当前所在的目录。


tar xjvf file1.tar.bz2 -C "解压路径:xxx" //解压到xxx。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11354

    浏览量

    210657
  • 压缩
    +关注

    关注

    2

    文章

    102

    浏览量

    19440
  • 文件
    +关注

    关注

    1

    文章

    571

    浏览量

    24848
  • 命令
    +关注

    关注

    5

    文章

    698

    浏览量

    22148
  • 解压
    +关注

    关注

    0

    文章

    7

    浏览量

    7893
收藏 人收藏

    评论

    相关推荐

    Linux中常用的压缩和解压缩命令介绍

    Linux压缩和解压缩文件是常见的操作。有时候,我们需要将大文件压缩成较小的文件,以便于传
    发表于 07-31 11:50 2292次阅读

    [转载]linux 解压缩命令大全

    [转载]linux 解压缩命令大全感谢lemaker Andy不在为记不住linux命令而苦恼,给上连接:http://www.cnblogs.com/eoiioe/archive/2008/09/20/1294681.html
    发表于 08-09 20:51

    Linux里面的压缩和解压类指令是什么

    Linux里面的压缩和解压类指令
    发表于 05-28 17:40

    如何解决linux的源码文件命名和解压问题?

    百度网盘 下载最新(linux资料,资料日期: 20210730)的A40i/T3源码后,解压xaa+xab文件后为 lichee.tar.gztest@test:~/docker
    发表于 01-04 07:10

    Ubuntu压缩解压缩的相关资料分享

    常常见的操作,在 Windows 下我们有很多压缩和解压缩的工具,比如 zip、360 压缩等等。在 Ubuntu 下也有压缩工具,我们学习
    发表于 02-11 06:48

    解压缩软件

    解压缩软件
    发表于 02-15 23:52 13次下载

    Linux入门教程之如何进行文件打包和解压缩资料概述

    在讲linux上的解压缩工具之前,有必要先了解以下常见常用的压缩包文件格式。在windows上我们最常见的不外乎这三种*.zip,*.rar,*.7z后缀的压缩文件,而在
    发表于 11-02 15:15 8次下载
    <b class='flag-5'>Linux</b>入门教程之如何进行文件打包<b class='flag-5'>和解压缩</b>资料概述

    Linux如何归档文件和目录

    我们讨论了如何使用 gzip 和 bzip2 压缩和解压缩文件。在本教程,我们将学习如何在 Linux 归档文件。
    发表于 04-22 17:54 2023次阅读

    第1期Ubuntu入门篇:【10】Ubuntu下压缩解压缩

    常常见的操作,在 Windows 下我们有很多压缩和解压缩的工具,比如 zip、360 压缩等等。在 Ubuntu 下也有压缩工具,我们学习
    发表于 12-07 18:06 13次下载
    第1期Ubuntu入门篇:【10】Ubuntu下<b class='flag-5'>压缩</b>与<b class='flag-5'>解压缩</b>

    linux压缩和解压操作是什么

    文件的压缩有两种方式:有损压缩和无损压缩。有损压缩会对文件的数据有一定的破坏,一般对于重要的文件我们不会考虑这样的方式。无损压缩不会影响文件
    发表于 02-20 14:54 359次阅读

    linux系统压缩和解压操作步骤

    在开发,很多时候会遇到某些文件要进行压缩操作,比如文件较大不方便传输的时候,可能会考虑对文件进行压缩,以减少文件传输的时间。
    发表于 05-20 16:39 646次阅读

    linux解压gz文件的命令

    Linux系统,可以使用gzip命令解压.gz文件。gzip命令用于压缩和解压缩文件,使用方法如下:
    的头像 发表于 11-08 14:42 5851次阅读

    高性能无损数据解压缩FPGA IP,LZO无损数据解压缩IP

    ,并且输出解压缩后的数据载荷,所以用户不需要处理压缩的数据块。基于详尽的错误跟踪和报告特性,即使压缩数据块中出现错误,Core也可以平滑系统操作并且实现错误恢复。 基于快速处理的特性
    的头像 发表于 02-25 09:59 392次阅读
    高性能无损数据<b class='flag-5'>解压缩</b>FPGA IP,LZO无损数据<b class='flag-5'>解压缩</b>IP

    Python压缩和解压缩实现代码分享

    压缩和解压缩是日常常用的操作,不管是windows上图形界面的操作,还是linux上用命令来进行压缩
    的头像 发表于 04-11 11:28 1154次阅读

    如何使用gzip压缩和解压缩技术

    Nginx是一款高性能的Web服务器,它也能够充当反向代理服务器和负载均衡器。在Web应用开发,优化网站速度是一个非常重要的工作。使用gzip压缩和解压缩技术,可以有效减小传输文件的大小,提升网站的访问速度。
    的头像 发表于 09-29 15:57 515次阅读