Linux操作系统下文件的压缩与解压(tar命令)

前言

1、在日常嵌入式开发当中,在不同机器上来回传输文件是非常常见的操作。有的时候因为文件太大导致传输起来消耗的时间太多,怎么办?与windows操作系统相似,Linux操作系统也有属于它的一套压缩和解压命令。文件通过压缩之后,体积大大缩小,我们传输起来效率也就更高了。

2、在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。接受者接受文件后,解压即可。

3、压缩的类型:

  • 有损压缩:如mp4视频文件,即使压缩过程中,减少了很多帧的数据,对观看者而言,也没有影响。当然mp3音乐文件也是有损压缩。
  • 无损压缩:如普通文件的压缩,为了保证信息的正确传递,不希望文件经过压缩或解压后,出现问题。

4、Linux操作系统下常用的压缩与解压缩命令:

  • gzip命令 和 bzip2命令:单个文件的压缩与解压缩
  • tar命令:多个文件和目录的压缩与解压缩

tar命令:Linux下的解压与压缩命令

1、tar命令中必选且只选其一的参数

-c(create):表示创建压缩文件,c代表create

-x:表示解压缩文件(表示提取,从文件包中提取文件)

-t:表示查看压缩包里面的文件

-r:向压缩归档文件末尾追加文件

-u:更新原压缩包中的文件

2、tar命令中的辅助参数

-z(gzip):用 gzip方式进行压缩/解压缩(该参数与”c“结合就表示压缩,与”x“结合就表示解压缩)

-j(bzip2):用 bzip2压缩/解压缩(该参数与”c“结合就表示压缩,与”x“结合就表示解压缩)

-Z(compress):用 compress压缩/解压缩(该参数与”c“结合就表示压缩,与”x“结合就表示解压缩)

-v(verbose):显示压缩/解压缩的进度条(详细报告tar命令进行压缩/解压缩处理时的信息)

-f(file):使用文档名,是必选的参数(表示需要被压缩/解压的文件)。[注意f后面不要接参数,比如tar -zxfv是不对的,要写成tar -zxvf]

-C: 后面跟<指定目录>,表示将压缩文件解压到指定目录

实例1:压缩操作

tar -cvf jpg.tar *.jpg       //将目录里所有jpg文件打包成tar.jpg

tar -czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,再用gzip压缩,生成jpg.tar.gz

tar -cjf jpg.tar.bz2 *.jpg  //将目录里所有jpg文件打包成jpg.tar后,再用bzip2压缩,生成jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg    //将目录里所有jpg文件打包成jpg.tar后,再用compress压缩,生成jpg.tar.Z

实例2:解压操作

tar -xvf file.tar        //解压 tar包

tar -xzvf file.tar.gz    //解压tar.gz

tar -xjvf file.tar.bz2   //解压 tar.bz2

tar -xZvf file.tar.Z     //解压tar.Z

实例3:其他参数例子

tar -cf all.tar *.jpg         //这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

tar -rf all.tar *.gif         //这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

tar -uf all.tar logo.gif      //这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

tar -tf all.tar               //这条命令是列出all.tar包中所有文件。-t是列出文件的意思。

tar -xf all.tar               //这条命令是解出all.tar包中所有文件,-x是解开的意思。

实例4:将压缩文件解压到指定目录

tar xvf 压缩文件名
如:tar xvf dira.tar  //解压到当前目录

tar xvf 压缩文件名  -C  指定目录
如:tar xvf dira.tar -C  /home/book  //解压到/home/book

示例

1、tar打包:普通压缩

1)压缩

tar -cvf 压缩文件名 目录名

如:tar cvf dira.tar dira

2)查看

tar tvf 压缩文件名

如:tar tvf dira.tar

3)解压

tar xvf 压缩文件名
如:tar xvf dira.tar     //解压tar包到当前目录

tar xvf 压缩文件名 -C 指定目录
如:tar xvf dira.tar -C /home/book    //解压tar包到当前目录

2、tar打包:gzip压缩(使用gzip方式压缩的文件必须使用gzip方式解压)

1)压缩

tar -czvf 压缩文件名 目录名
如:
tar czvf dira.tar.gz dira

注意:命令 tar -czvf 与 命令 tar czvf 效果相同。

2)查看

tar tvf 压缩文件名

如:tar tvf dira.tar.gz

3)解压

tar xzvf 压缩文件名
如:tar xzvf dira.tar.gz     //解压到当前目录

tar xzvf 压缩文件名 -C 指定目录
如:tar xzvf dira.tar.gz -C /home/book    //解压到/home/book

3、tar打包:bzip2压缩(使用bzip2方式压缩的文件必须使用bzip2方式解压)

1)压缩

tar cjvf 压缩文件名 目录名

如:tar cjvf dira.tar.bz2  dira

2)查看

tar tvf 压缩文件名

如:tar tvf dira.tar.bz2

3)解压

tar xjvf 压缩文件名
如:tar xjvf dira.tar.bz2      //解压到当前目录

tar xjvf 压缩文件名 -C 指定目录
如:tar xjvf dira.tar.bz2 -C /home/book      //解压到/home/book

 

posted @ 2022-08-22 09:57  习久性成  阅读(2401)  评论(0编辑  收藏  举报