我想在目录及其所有子目录上测试一些潜在的破坏性代码。所以,我把它打包,然后在一个空间中从tarball中复制一份副本,我的代码不会意外地删除我真正想要保留的任何内容。我的代码似乎工作,除了我注意到某些文件没有放入tarball。
这是我最初的做法:
tar -czf mydirectory.tar.gz directory
在安全位置中,我执行了以下操作:
tar -xzf mydirectory.tar.gz
我在存档和原始目录上运行了递归diff
。这表明某些文件丢失了。
似乎任何名为.__<name>__
的文件都没有记录在档案中。例如,.__quiz__
或.__example__
。
tar
跳过这些文件是什么?如何让tar
包含它们? tar
可能没有记录哪些其他文件?
即使我在详细模式中运行tar
,也没有任何消息表明事情被跳过了。
更新
我安装了gnu
版tar
。这很好。
答案 0 :(得分:0)
嗯,对我来说,tar会归档所有具有此模式.__<file>__
的文件,除非我将模式放在-exclude=
选项中。
您可以在shell中输入echo $TAR_OPTIONS
并查看它是否已设置?也许您为tar设置了一些默认选项(如上面的排除模式)。
编辑:
因此,tar会根据您的详细tar输出忽略.__<name>__
个文件。
排除这种模式可能有别名吗?键入alias
以列出所有别名命令。