首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux嵌入式开发——压缩与解压缩

Linux嵌入式开发——压缩与解压缩

作者头像
小点点
发布2023-02-10 08:48:53
发布2023-02-10 08:48:53
1.5K0
举报
文章被收录于专栏:小点点小点点

文章目录

Linux嵌入式开发——压缩与解压缩

一、前期准备

首先我们需要在Windows下安装7-ZIP软件,这个比较简单,到官网去下载,然后安装即可。安装7-ZIP软件的主要原因是因为Linux下很多文件是.bz2,.gz结尾的压缩文件,而7-ZIP软件可以在Windows环境下将文件压缩为这些格式,便于我们进行交互。

二、Linux下的压缩格式

Linux下常用的压缩扩展名有:.tar、.tar.bz2、.tar.gz,其中.tar.bz2、.tar.gz使用的较多。

三、gzip压缩工具

1、gzip压缩文件

gzip工具负责压缩和解压缩.gz格式的压缩包,具体的使用方法如下所示。

我们首先创建一个文件夹,使用的命令如下所示:

代码语言:javascript
复制
mkdir gztest

之后进入这个文件夹:

代码语言:javascript
复制
cd gztest/

然后创建两个简单的文件:

代码语言:javascript
复制
touch a.c
touch b.c

之后在文件夹里面输入如下命令之后,我们可以看到文件夹里面的文件已经被我们压缩好了。

代码语言:javascript
复制
gzip a.c

然后我们进行解压缩,使用如下命令之后,我们会发现刚刚压缩的文件被解压缩了。

代码语言:javascript
复制
gzip -d a.c.gz

总结一下,就是我们压缩与解压缩文件,主要就是使用下面两个命令,当然也有其他功能,等我们去慢慢摸索。

代码语言:javascript
复制
gzip xxx        //压缩

gzip -d xxx.gz    //解压缩

2、gzip压缩文件夹

接下来我们要使用gzip命令去压缩文件夹,具体如何操作我们就来慢慢分析吧!

首先我们使用如下命令去压缩文件夹,压缩完成之后会发现文件夹本身没有任何变化,我们需要到文件夹里面去看看文件到底有没有被压缩,进去之后,我们会发现里面的文件是被压缩了的。

代码语言:javascript
复制
gzip -r gztest/

然后我们使用如下命令去对文件夹进行解压缩,之后就能发现我们的文件全被解压缩了。

代码语言:javascript
复制
gzip -rd gztest

好了,总而言之,我们对文件夹进行解压缩就是使用如下两个命令。

代码语言:javascript
复制
gzip -r xxx      //对文件夹进行压缩

gzip -rd xxx   //对文件夹进行解压缩

gzip虽然可以对文件夹进行压缩,但是并不能提供打包的服务,只是对文件夹中的所有文件进行了单独的压缩。

四、bzip2压缩工具

和gzip类似,只是bzip2工具负责压缩和解压缩.bz2格式的压缩包。

我们首先将文件夹重新命名,使用的语句如下所示:

代码语言:javascript
复制
mv gztest bztest

然后我们在我们的文件夹输入我们的压缩命令,就可以看到我们的文件被压缩成了.bz2格式的文件了。

代码语言:javascript
复制
bzip2 -z a.c

然后我们输入我们的解压缩命令,即可解压缩我们的文件。

代码语言:javascript
复制
bzip2 -d a.c.bz2

总结一下,我们就是使用下面这两个命令对.bz2文件进行解压缩,但是值得注意的就是,这个好像不支持对于文件夹的压缩。

代码语言:javascript
复制
bzip2 -z xxx         //压缩

bzip2 -d xxx.bz2   //解压缩

五、tar打包工具

tar参数

  • -f:使用归档文件或 ARCHIVE 设备。
  • -c:创建新归档,创建压缩文件。
  • -x:从图档中解出文件,解压缩。
  • -j:使用bzip2压缩格式。
  • -z:使用gzip压缩格式。
  • -v:打印出命令执行过程。

具体如何使用,我们一步一步来进行介绍,首先输入如下命令,我们能看到我们的文件夹被打包成了一个.tar文件。

代码语言:javascript
复制
tar -vcf bztest.tar bztest

我们使用 -vcf 主要就是想创建一个新规档,并且使用,然后还要看到具体过程。

解包我们使用的是如下语句,不过在这之前,我们需要先删除原来的文件夹,然后就可以得到相应的解包文件。

代码语言:javascript
复制
rm bztest -rf
tar -vxf bztest.tar

总结一下,tar工具提供打包服务,就是将多个文件打包,具体操作如下所示:

代码语言:javascript
复制
tar -vcf test.tar test   //将test打包成test.tar

tar -vxf test.tar       //解包 

上面的tar命令只提供了打包和解包的功能,tar在提供打包和解包的同时使用gzip/bzip2进行压缩,实现类似windwos下winRAR软件的命令。

对.tar.bz2进行压缩和解压缩

压缩

如果我们需要把文件压缩为.tar.bz2格式,我们就可以使用如下语句:

代码语言:javascript
复制
tar -vcjf bztest.tar.bz2 bztest
解压缩

接下来我们就是进行解压缩了,具体操作如下所示,首先还是要删除原来的文件,再输入如下命令。

代码语言:javascript
复制
rm bztest -rf
tar -vxjf bztest.tar.bz2

总结一下,我们的压缩与解压缩操作大概如下所示

代码语言:javascript
复制
tar -vxjf xxx.tar.bz2    解压缩

tar -vcjf xxx.tar.bz2 xxx 压缩

对.tar.gz进行压缩和解压缩

这个其实和上面那个是类似的,只要把bz2换成gz即可,我们就不详细介绍了。

压缩

如果我们需要把文件压缩为.tar.gz格式,我们就可以使用如下语句:

代码语言:javascript
复制
tar -vcjf bztest.tar.gz bztest
解压缩

接下来我们就是进行解压缩了,具体操作如下所示,首先还是要删除原来的文件,再输入如下命令。

代码语言:javascript
复制
rm bztest -rf
tar -vxjf bztest.tar.gz

总结一下,我们的压缩与解压缩操作大概如下所示:

代码语言:javascript
复制
tar -vxzf xxx.tar.gz    //解压缩

tar -vczf xxx.tar.gz xxx  //压缩     

六、其他格式的压缩和解压缩

1、.rar格式

在我们操作之前,我们需要先安装rar具体的命令如下所示,并且将文件夹改了一下名字。

代码语言:javascript
复制
mv bztest test
sudo apt-get install rar
压缩

之后我们输入我们的压缩命令,便可得到一个.rar文件。

代码语言:javascript
复制
rar a test.rar test
解压

我们输入我们的解压命令即可,但是在这之前需要我们删除源文件夹。

代码语言:javascript
复制
rm test -rf
rar x test.rar

总结一下,关于rar格式的文件,我们主要使用下面的命令。

代码语言:javascript
复制
rar x xxx.rar      //解压缩

rar a xxx.rar xxx   //压缩

2、.zip格式

压缩

之后我们输入我们的压缩命令,便可得到一个.zip文件。

代码语言:javascript
复制
zip -rv test.zip test
解压

我们输入我们的解压命令即可,但是在这之前需要我们删除源文件夹。

代码语言:javascript
复制
rm test -rf
unzip test.zip

七、使用图形界面压缩

这个虽然简单,但是不建议使用。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • Linux嵌入式开发——压缩与解压缩
    • 一、前期准备
    • 二、Linux下的压缩格式
    • 三、gzip压缩工具
      • 1、gzip压缩文件
      • 2、gzip压缩文件夹
    • 四、bzip2压缩工具
    • 五、tar打包工具
      • tar参数
      • 对.tar.bz2进行压缩和解压缩
      • 对.tar.gz进行压缩和解压缩
    • 六、其他格式的压缩和解压缩
      • 1、.rar格式
      • 2、.zip格式
    • 七、使用图形界面压缩
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档