tar 是 tape archive 的缩写,tape是磁带的意思,也即把数据打包成到磁带文件,然后利用 gzip 和 bzip2 命令对磁带文件进行压缩存储 ,所以在Linux上备份要经过两个步骤,一个是打包,另一个是进行压缩,这种形式一直沿用到现在,即打包和压缩是分开的
本文将介绍 tar 命令的常见用法,包括如何创建打包文件,如何提取打包文件,从打包文件按中提取单个文件,查看打包文件内容,将文件或目录添加到打包文件中,通过这些实例,可以帮助你快速掌握 tar 命令
创建打包文件
使用 tar cvf 打包之后的文件名 需要打包的文件或者目录列表
命令格式对文件或目录进行打包
[root@ecs-centos-7 dir]# tar cvf test.tar a.txt bar/
a.txt
bar/
bar/b.txt
[root@ecs-centos-7 dir]# ll
总用量 36
-rw-r--r-- 1 root root 10240 11月 9 23:05 a.txt
drwxr-xr-x 2 root root 4096 11月 9 23:02 bar
-rw-r--r-- 1 root root 20480 11月 9 23:05 test.tar
上面的例子中,打包后的文件名是 test.tar
需要打包的文件和目录分别是 a.txt bar/
, 选项 c
是创建打包文件, 选项 v
是输出打包过程,也就是对那些文件进行了打包,选项 f
是生成打包文件
上面使用 cvf
选项只是把多个文件或目录打包在一起,最终包文件test.tar
大小并没有减少,可以使用 gzip 或者 bzip2 命令对 test.tar
文件进行压缩
其实,tar
命令中已经集成了 gzip 和 bzip2 压缩和解压缩选项了,只需要在 tar
命令选项中增加z
(gzip) 或 j
(bzip2) 选项, 打包的时候就会自动进行压缩
[root@ecs-centos-7 dir]# tar cvzf test1.tar.gz a.txt bar/
a.txt
bar/
bar/b.txt
[root@ecs-centos-7 dir]# tar cvjf test2.tar