我只是在创建 tar 存档时尝试排除几个目录。目录结构相当简单(Centos 6,tar v1.23):
/test/t1
/t2
/t3
...
每个子目录 (t1, t2, t3, ...) 都包含一些 txt 文件。没有什么不寻常的。
好吧,让我们试试这个:
tar czvf test.tar.gz test/ --exclude={"t2"}
失败,t2
子目录包含在存档中。
tar czvf test.tar.gz test/ --exclude={"t2",""}
成功,t2
被排除在外 - 正如预期的那样。
我试图在具有相同目录结构的笔记本电脑(Ubuntu18.04,tar v1.29)上重现相同的情况。在这里,两个命令都失败了 - 该t2
目录包含在创建的存档中!
- 为什么提供的单个目录条目
{}
不起作用? - 为什么不同环境下的结果不一样?
这里发生了什么?这是关于 tar 版本的吗?Linux发行版依赖?查看 tar 手册(当前,v1.32)或 tar 更改日志给了我任何答案。