一、简介
tar命令是linux常用的打包(或归档)工具,即利用tar命令,可以把一大堆的文件和目录全部打包成一个文件。也可以在打包文件中改变文件,或者向打包文件中加入新的文件。
当然,tar命令也可以解包。
首先要弄清两个概念:打包(归档)和压缩。
打包是指将一堆文件或目录变成一个总的文件;
压缩是将一个大的文件通过一些压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于Linux中很多压缩命令只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩。
二、语法
type [参数] 文件
三、常用参数
参数 | 描述 |
-A | 新增归档文件到已经存在的归档中 |
-B | 设置区块大小 |
-c | 建立新的压缩文件,即打包。 |
-d | 记录文件的差别 |
-r | 添加文件到已经存在的归档中 |
-x | 从压缩文件中提取文件,即解包。 |
-f | 指定打包为文件 |
-t | 显示归档文件的内容 |
-z | 支持gzip解压文件,即打包后,进行压缩 |
-j | 支持bzip2解压文件,即打包后,进行压缩 |
-v | 显示操作过程 |
-k | 保留原有文件不覆盖 |
三、案例
1、打包文件且不压缩
比如把access.log 和 error.log文件,打包成 dq.tar,执行命令如下:
tar -cvf dq.tar access.log error.log
在-f参数后面,跟的是归档的文件名。
习惯上,大家都用 .tar 来作为辨识。 如果加-z选项,则以.tar.gz或.tgz来代表gzip压缩过的tar包;如果加-j选项,则以.tar.bz2来作为tar包名。
上述,打包文件如下:
2、打包文件且压缩
比如把access.log 和 error.log文件,打包成 dq.tar.gz,同时使用gzip进行压缩,执行命令如下:
tar -zcvf dq.tar.gz access.log error.log
可以看出来,打包并压缩后的文件,比不压缩小了不少。
如果要使用bzip2,压缩,则需要执行如下命令:
tar -jcvf dq.tar.bz2 access.log error.log
3、查看打包文件中有哪些文件
针对没有压缩过的文件,如dq.tar,直接执行如下命令即可:
tar -tvf dq.tar
如果归档被gzip压缩过,如dq.tar.gz,需要带上参数-z,如下:
tar -ztvf dq.tar.gz
如下:
如果归档被bzip2压缩过,需要带上参数-j,如下:
tar -jtvf dq.tar
4、将tar文件解包
如果tar文件没有被压缩,如dq.tar,直接执行如下命令:
tar -xvf dq.tar
如果归档被gzip压缩过,如dq.tar.gz,需要带上参数-z,如下:
tar -zxvf dq.tar.gz
若您感觉本站文章不错,读后有收获,不妨赞助一下?
我要赞助