为什么该命令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(如果存在)也没有被排除。
所以有三个选项(我没有尝试过任何一个,这是理论上的):
/*
在 tar 命令行中使用强制添加斜线。- 使用
--exclude=temp_intel
以使其匹配(假设您没有任何其他temp_intel
想要排除的目录)。 - 使用tar 选项,描述不是很清楚,但我认为它可能会在进行比较之前
--anchored
删除前导。/