Linux文件打包及压缩、解包及解压
创始人
2024-04-02 11:00:04
0

目录

 前言

什么是压缩?

tar的介绍与使用

简介

打包压缩文件

打包文件(不压缩)

gzip压缩类型压缩文件

bzip压缩类型压缩文件

xzip压缩类型压缩文件

 解包解压文件

简介

解压缩(解压到当前目录)

解压缩(指定解压到的目录)

总结


前言

        前面学习了文件的查找,这篇文章将学习Linux中文件的打包及解压、文件的解包和解压。这就是这篇文章的学习目标,学会如何打包压缩,解包解压。


什么是压缩?

        压缩的原理就是去重法,在一个目录或者文件中有多个重复的内容,在压缩过程中会将这些重复的内容用简短的内容来代替,压缩的文件是无法直接打开的,需要经过解压才可以打开使用。


tar的介绍与使用

简介

        tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以作用于任何环境中,他的使用权限是所有用户。
建议针对目录。

打包压缩文件

命令语法:语法:tar  选项  压缩包名称   源文件

选项可用:

  • -cf:c是create   f是file,cf是打包。
  • -czf:gzip压缩类型压缩文件,z是gzip。
  • -cjf:bzip压缩类型压缩文件,j是bzip。
  • -cJf:xzip压缩类型压缩文件,J是xzip。

注意:czf、cjf、cJf这些选项的字母顺序不能乱,不然会报错。

打包文件(不压缩)

命令:tar   -cf   压缩名   需要压缩的文件

代码如下(示例):

//查看test文件内容
[root@localhost ~]# ll /test
总用量 0
//打包etc文件到test/目录下,并且名称为tar.tar
[root@localhost ~]# tar -cf  /test/tar.tar /etc
tar: 从成员名中删除开头的“/”
//查看test目录内容
[root@localhost ~]# ll /test
总用量 38272
-rw-r--r--. 1 root root 39188480 10月 31 14:14 tar.tar

         仅仅是打包了etc/目录,并没有压缩。

gzip压缩类型压缩文件

命令:tar   -czf   压缩名   需要压缩的文件

代码如下(示例):

//调换f和z的顺序压缩文件失败
[root@localhost ~]# tar -cfz /test/tar-gzip.tar  /etc
tar: 从成员名中删除开头的“/”
tar: /test/tar-gzip.tar:无法 stat: 没有那个文件或目录
tar: 由于前次错误,将以上次的错误状态退出
//并没有压缩成功
[root@localhost ~]# ll -h /test/
总用量 38M
-rw-r--r--. 1 root root 38M 10月 31 14:14 tar.tar
//正确顺序czf压缩etc到test目录,压缩包名称为tar-gizip.tar
[root@localhost ~]# tar -czf /test/tar-gzip.tar  /etc
tar: 从成员名中删除开头的“/”
//查看test下文件内容
[root@localhost] ll -h /test/
总用量 50M
-rw-r--r--. 1 root root 12M 10月 31 14:36 tar-gzip.tar
-rw-r--r--. 1 root root 38M 10月 31 14:14 tar.tar

         由代码可以看出czf这三个字母的顺序不能颠倒,否则会报错。如图所见,仅仅打包的文件大小为38M,压缩文件大小为12M,文件大小明显减少很多,为我们省去空间,这就是压缩的目的。

bzip压缩类型压缩文件

命令:tar -cjf  压缩文件名    需要压缩的文件

代码如下(示例):

//使用bzip格式解压文件etc到test目录,压缩包名为tar-bzip.tar
[root@localhost ~]# tar -cjf /test/tar-bzip.tar /etc
tar: 从成员名中删除开头的“/”
[root@localhost ~]# ll -h  /test
总用量 60M
-rw-r--r--. 1 root root 11M 10月 31 14:41 tar-bzip.tar
-rw-r--r--. 1 root root 12M 10月 31 14:36 tar-gzip.tar
-rw-r--r--. 1 root root 38M 10月 31 14:14 tar.tar

使用cjf选项压缩文件的时候会发现压缩时间比czf选项压缩文件时间长。

xzip压缩类型压缩文件

命令:tar   -cJf   压缩文件名    需要压缩的文件

代码如下(示例):

//以xzip格式压缩etc目录到test目录,压缩包名为/tar-xzip.tar
[root@localhost ~]# tar -cJf  /test/tar-xzip.tar   /etc
tar: 从成员名中删除开头的“/”
[root@localhost ~]# ll  -h /test
总用量 68M
-rw-r--r--. 1 root root  11M 10月 31 14:41 tar-bzip.tar
-rw-r--r--. 1 root root  12M 10月 31 14:36 tar-gzip.tar
-rw-r--r--. 1 root root  38M 10月 31 14:14 tar.tar
-rw-r--r--. 1 root root 8.3M 10月 31 14:46 tar-xzip.tar

        如图所示,各种压缩方法的压缩文件后的大小有所不一样,当我们压缩的时候明显感觉使用不同的方法压缩文件,等待的时间也是不一样的,压缩时间和压缩比例成正比,压缩后的文件大小越小,压缩所需要的时间越长,在生产环境下,我们一般追求速率,一般选择压缩时间短的压缩方法进行对文件的压缩。


 解包解压文件

简介

        打包压缩后的文件不是目录了是文件用cat查看会乱码,不是目录是无法用命令进入到里面的,这个时候我们需要对压缩文件进行解包解压操作。

解压缩(解压到当前目录)

命令:tar   -xf    压缩包名称

代码如下(示例):

//进入/test目录
[root@localhost ~]# cd /test
[root@localhost test]# pwd
/test
//解压tar-gzip到当前目录
[root@localhost test]# tar -xf  /test/tar-gzip.tar
//查看当前目录信息,etc解压成功
[root@localhost test]# ll
总用量 69240
drwxr-xr-x. 140 root root     8192 10月 20 15:18 etc
-rw-r--r--.   1 root root 10663380 10月 31 14:41 tar-bzip.tar
-rw-r--r--.   1 root root 12337613 10月 31 14:36 tar-gzip.tar
-rw-r--r--.   1 root root 39188480 10月 31 14:53 tar.tar
-rw-r--r--.   1 root root  8688348 10月 31 14:46 tar-xzip.tar
//切换到tartest目录
[root@localhost test]# cd /tartest
[root@localhost tartest]# pwd
/tartest
//解压tar-gzip到当前目录
[root@localhost tartest]# tar -xf  /test/tar-gzip.tar
//查看当前目录信息,解压文件成功
[root@localhost tartest]# ll
总用量 12
drwxr-xr-x. 140 root root 8192 10月 20 15:18 etc

如代码所示,切换不同的目录解压文件,解压后的文件到了当前所在目录。

解压缩(指定解压到的目录)

命令:tar   -xf   需要接下的压缩包  -C  需要解压到的路径

代码如下(示例):

//创建两个新的文件夹
[root@localhost tartest]# mkdir /tartest1
[root@localhost tartest]# mkdir /tartest2
//解压tar-bzip.tar到tartest1目录中
[root@localhost tartest]# tar -xf  /test/tar-bzip.tar  -C /tartest1
//查看tartest1目录,指定解压路径成功
[root@localhost tartest]# ll /tartest1
总用量 12
drwxr-xr-x. 140 root root 8192 10月 20 15:18 etc
//解压tar-bzip.tar到tartest2目录中
[root@localhost tartest]# tar -xf  /test/tar-bzip.tar  -C /tartest2
//查看tartest2目录,指定解压路径成功
[root@localhost tartest]# ll /tartest2
总用量 12
drwxr-xr-x. 140 root root 8192 10月 20 15:18 etc

如代码所示,指定解压路径后,解压后的文件会自动到指定的路径中。


总结

        本篇文章主要学习了解压缩原理,压缩的好处可以节省空间,学习压缩解压文件的操作,并且需要注意压缩选项的字母顺序不能乱否则会报错操作失败。


创作不易,动动小手给个点赞加关注吧,有什么意见评论区告诉我,一起学习。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...