Usage of tar command

前言: 前段时间为了安装新的系统需要将需要将一些目录备份下来,搜了下可以使用tar这个命令。

Tar(Tape ARacive): 磁带归档。

选项含义
-ccreate a new tar file
-v过程打印在console上
-f指定文件
-zgunzip
-jbzip2
-p保留原文档的权限与属性
-g增量同步

使用tar时,可以将-f filename与其他选项独立出来,会比较不容易发生问题。

  • 压缩:tar -jcv -f filename.tar.bz2 需要被压缩的文件或目录
  • 查询:tar -jtv -f filename.tar.bz2
  • 解压缩:tar -jxv -f filename.tar.bz2 - C 放置解压缩文件的目录

增量备份

一个小测试。

  • 创建test_tar文件夹,文件夹中创建三个文件: a, b, c。创建第一个tarball:
    1
    2
    tar -g snapshot -zcf backup_full.tar.gz test_tar                                            
    tar ztf backup_full.tar.gz
  • 在test_tar文件夹中添加新文件d后,创建第二个tarball:
    1
    2
    tar -g snapshot -zcf back_ince_01.tar.gz test_tar                                           
    tar ztf back_ince_01.tar.gz
  • 在test_tar文件夹中添加新文件e,并且往文件中写入一句话”hello, tar”,后创建第三个tarball:
    1
    2
    tar -g snapshot -zcf back_ince_02.tar.gz test_tar                                           
    tar ztf back_ince_02.tar.gz
  • 删除test_tar文件夹及其中文件,从tarball中还原出原来的文件:
    1
    2
    3
    4
    # extract
    tar zxf backup_full.tar.gz
    tar zxf back_ince_01.tar.gz
    tar zxf back_ince_02.tar.gz

打完包后如果想要加密的话,可以使用7zip或者其他软件进行加密。

Reference