tar是UNIX和类UNIX系统上的压缩,备份工具, 名字来源于Tape archive--磁盘归档,最初的时候是用来将数据储存,备份到磁带上的。而今最简单的备份方法是添加新的磁盘或者在云端存储,但即使是最简单和便宜的磁盘设备和云储存,也应该压缩备份数据,降低存储空间需求和传输时间,linux系统默认包涵tar命令,其语法简单,而且文件格式具有可移植性。
归档与压缩有一定的差别,归档是将一个或众多源文件打包成一个文件,文件大小不改变,且源文件仍保留,通常以tar作为后缀名;而压缩是使用一系列算法,减小文件大小的操作,而且一般的压缩只能压缩一个文件,所以当我们需要压缩的文件很多时,我们就需要将众多文件先归档,然后在一起压缩,如果一个文件的后缀名是tar我们就可以认为它是一个归档文件。
归档(部分操作) 使用tar创建归档文件,并进行更新,检查:
- 如下创建一个归档文件:-f 表示指定归档文件名,-c 表示创建一个归档文件:
text.tar为生成的归档文件名,test.txt, test2.txt...为源文件
- -t选项列出归档文件中包含的文件:
当有多个选项时,-f选项总是在最后,并且跟一个文件名称;对于会在终端生成报告的命令,-v是一个约定的选项,该选项回显示更多的细节例如文件权限,所有者所属的分组,文件修改日期等,相当于ls 的-l选项
- 向归档文件中追加文件,使用选项-r:
- 从归档文件中提取文件,使用选项-x,将文件提取到当前目录,-C选项指定提取目录:
- -A选项拼接两个归档文件,(默认拼接到第一个文件中):tar -Af file1.tar file2.tar...
- 从归档文件中删除文件,在最后使用--delete选项: tar -f file.tar --delete file1 file2 ...
- 使用--exclude,在归档时排除部分文件,tar的文件支持通配符:tar -cf file.tar * --exclude "*.txt"(等)