Linux中用tar命令对文件夹进行打包压缩

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中用tar命令对文件夹进行打包压缩相关的知识,希望对你有一定的参考价值。

参考技术A

打包: 指将多个文件(或目录)合并成一个文件,方便在不同节点之间传递或在服务器集群上部署.
压缩或打包文件常见扩展名: *.tar, *.tar.gz, *.gz, *.bz2, *.Z;
Linux系统一般文件的扩展名用途不大,但是压缩或打包文件的扩展名是必须的.因为linux支持的压缩命令较多,不同的压缩技术使用的压缩算法区别较大,根据扩展名能够使用对应的解压算法.

将文件夹打包,也能将包解开成文件夹.

例1: 在/tmp文件夹下创建demo文件夹,将/etc目录拷贝到/tmp/demo目录里,然后打包压缩成gz格式,要求显示压缩详情。

1)在/tmp文件夹下创建demo文件夹,将/etc目录拷贝到/tmp/demo目录里.

注意: 拷贝非空目录要加 -r

2)将etc文件夹打包压缩成gz格式,并显示压缩详情.
tar -czvf 打包压缩后文件名 被打包压缩的文件夹

如果打包压缩成.bz2格式,那么tar命令的参数: -cjvf.

例2: 先删除etc目录,解压缩myetc.tar.gz到当前目录.
1)删除etc目录

2)解压缩myetc.tar.gz到当前目录

例3: 将myetc.tar.gz解压缩到指定目录/home

例4: 仅仅解压缩myetc.tar.gz里的某个目录,例如etc/udev
1)先删除etc目录

2)解压缩myetc.tar.gz到etc/udev目录

Linux里的几种不同的压缩命令小记

第一个是 .gz的压缩格式

我们使用gzip来对文件进行压缩,使用gunzip(或者是gzip -d)来对文件进行解压缩

但是gzip的缺点在于不能够压缩目录,压缩的时候也不能够保留源文件

 

第二个是 .tar 

实际上tar是对文件或者目录进行打包

我们使用 tar 参数 -c是对文件进行打包,-f是指定文件名,-z是打包同时压缩,-v是显示详细信息

例如我们要打包文件test 为test.tar

即是 tar -cf test.tar test

想要打包的时候显示详细信息就是 tar -cvf test.tar test

想要打包的时候显示详细信息同时压缩的话就使用 tar -zcvf test.tar.gz test

想要解压缩就使用 tar -zxvf test.tar.gz (其实就是将打包的c换成了解压的x)

 

第三个就是 .zip

当我们想要压缩test文件为test.zip时

我们使用 zip test.zip test即可

当我们想要压缩目录test的时候

使用 zip -r test.zip test 即可 ,也就是添加了参数 -r

解压的时候使用unzip 例如unzip test.zip就可以

 

第四种是 .bz2

bzip2对大文件的压缩更加有效

我们使用bzip2 对文件进行压缩

例如压缩test文件 我们使用 bzip2 test.bz2 test

解压缩的时候我们使用 bunzip2 就可以正常解压了,参数 -k表示解压缩之后保留源文件

更常用的一种还是.tar.bz2

可以使用 tar -cjf 来对文件或者目录进行tar打包并且使用bzip2压缩 ,解压的时候使用tar -xjf进行相应地解压

以上是关于Linux中用tar命令对文件夹进行打包压缩的主要内容,如果未能解决你的问题,请参考以下文章

用tar命令对文件中列出的文件进行打包怎么做?

Linux里的几种不同的压缩命令小记

linux打包命令tar详解

Linux之tar命令

linux下面的打包压缩命令

Linux下实现对某个文件夹进行压缩