从 tar 中排除文件和目录

从 tar 中排除文件和目录

为什么该命令tar -cvpzf backup_140128.tar.gz --exclude=/backup_140128.tar.gz --exclude=/temp_intel *不排除/temp_intel目录?

答案1

如果您从 运行此命令/*则将列出不带前导斜杠的目录。自己尝试一下;执行for dir in *; do echo $dir; done

这正是tar将要看到的内容,并且显然与 --exclude 给出的表达式temp_intel不匹配/temp_intel。实际上,我怀疑 backup_140128.tar.gz(如果存在)也没有被排除。

所以有三个选项(我没有尝试过任何一个,这是理论上的):

  1. /*在 tar 命令行中使用强制添加斜线。
  2. 使用--exclude=temp_intel以使其匹配(假设您没有任何其他temp_intel想要排除的目录)。
  3. 使用tar 选项,描述不是很清楚,但我认为它可能会在进行比较之前--anchored删除前导。/

相关内容