tar命令详解

tar命令可以为Linux的文件和目录创建归档。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。利用tar命令,可以把一大堆文件和目录全部打包成一个文件,这对于备份文件或者将几个文件组合成一个文件以便于网络传输。

tar指令

说明:

首先要区分:压缩和打包的区别,打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过压缩算法变成一个小的文件。

  • tar

    • 语法

      tar [options...] [file...]

    • options(选项)

      选项 描述
      -A 追加tar文件至归档
      -c(***) 创建一个新归档
      -d 找出归档与文件系统的差异
      --delete 从归档中删除
      -r 追加文件之归档结尾
      -t 列出归档内容
      -u 仅追加比归档中副本更新的文件
      -x (***) 从归档中解出文件
      -z (***) 通过gzip过滤归档
      -C DIR 改变目录至DIR
      -v (***) 详细的列出处理的文件
      -f (***) 指定压缩后的文件
    • 参数

      • 文件或目录:指定要打包的文件或目录
    • 应用实例

      说明:通过tar打包的文件,终究只是做了一个总结而已,并没有将文件压缩,此时得到的文件格式为.tar。然后再通过压缩命令对tar包进行压缩,一般使用gzip,因此最后得到的压缩包格式为.tar.gz

      实际操作中,打包和压缩可以合在同一条命令中:

      -z : gzip    重点
      -j : bz2
      -Z : compress
      -v : 显示所有过程
      -O : 将文件解开到标准输出
      
      1. tar常用操作
      tar -cf archive.tar foo bar  # 从文件 foo 和 bar创建归档文件 archive.tar
      tar -tvf archive.tar  # 详细列出归档文件中所有文件
      tar -xf archive,tar  # 展开归档文件中所有文件
      

      :下面的-f参数是必须的:-f 这个参数是最后一个参数,后面只接档案名

      tar -cf all.tar *.jpg   # 利用所有的jpg文件生成新的归档
      tar -rf all.tar *.gif   # 将所有的.git文件追加到all.tar中去
      tar -uf all.tar logo.gif   # 更新tar包中的logo.gif文件
      tar -tf all.tar   # 列出all.tar中的所有文件
      
      1. tar压缩

        tar zcvf archive.tar.gz <file...>

      2. tar解压

        tar zxvf archive.tar.gz -C <指定目录>

持续更新中~

上一篇:Linux 三剑客之 sed、grep、 awk 实战详解教程


下一篇:python 类的书写和实例化