tar 指令 tape archive

tar 指令 tape archive

Linux tar(英文全拼:tape archive)命令用于备份文件。tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。既可以压缩,也可以解压。

tar 只负责打包,不负责压缩,压缩一般配合 gizp 来做。这就是为什么打包之后再压缩的后缀为 tar.gz

tar [主选项+辅选项] 文件或者目录

主选项:

特别注意,在参数中, c/x/t/r/u 仅能存在一个!不可同时存在!

辅助选项:


常规操作:

tar -czvf target/11.tar.gz aaa.txt bbb.txt ccc.txt:打包之后用用 gzip 命令压缩

tar -czvf target/44.tar.gz source/:表示把整个目录全部打包压缩

tar -czvf target/55.tar.gz source/*:表示把目录下的所有文件打包压缩,不包括目录本身,此目录下的子目录也会默认递归,不需要参数

tar -tzvf target/11.tar.gz:查看包里面内容

tar -xzvf target/11.tar.gz -C source:拆包,指定拆到到 source 目录下,目录不存在会报错

你还可以只拆某几个特定的文件出来

tar 只是一个打包命令,你可以只打包,不压缩,那样的话,你就可以不带跟压缩相关的命令(-z-j 等),只打包的话,文件拓展名为 .tar 即可

tar -cvf target/22.tar aaa.txt bbb.txt ccc.txt

tar -xvf target/22.tar -C source0:拆包,指定拆到到 source0 目录下,注意,目标文件目录必须存在,否则报错

注意,不带参数 -z,可以查看和拆包压缩过后的文件和仅打包未压缩的文件(.tar.tar.gz),但是带上了 -z,就只能操作压缩过后的文件(.tar.gz,否则会报错

而且,压缩之后,无法再往包中添加文件或者更新文件或者删除文件。只能将压缩包用 gunzip(或者 gzip -d)解压成 tar,然后再用 tar 操作

如何往 tar 包中追加文件呢?

tar -rvf target/22.tar eee.txt

更新文件就是覆盖包中的文件

tar -uvf target/22.tar bbb.txt

删除文件就是

tar -vf target/22.tar  --delete ddd.txt