tar czf dist.tgz --排除=“.gitignore”。
这将在tar中创建带有前导"./“的文件,这将在服务器需要提取部分tar时出现问题。
有人能告诉我如何包装,这样才不会有领导“。/?
发布于 2013-10-09 15:17:43
试试--xform选项,它使用sed样的替换表达式。这允许您更改进入存档的路径引用,而不是在提取过程中处理它(例如使用--条形组件)。
tar --exclude=.gitignore -cz --xform s:'./':: -f dist.tgz ./若要在处理文件时列出这些文件,请添加-v和--show-transformed-name选项:
tar --exclude=.gitignore -cvz --xform s:'./':: --show-transformed-name -f dist.tgz ./传递-xform的参数遵循以下结构:s/regexp/replace/[flags]注意,在我的示例中,我使用了:作为分隔符;只要您始终使用它,就可以使用任何您想要的字符。很好的参考这里。
发布于 2012-12-12 15:45:58
不确定这是什么版本的tar,但通常您必须指定要归档的文件。像tar c .一样压缩本地目录中的所有内容。在我的机器上运行你的命令:
tar: Cowardly refusing to create an empty archive因此,如果您不想获得领先的./,这是压缩本地目录.时得到的,您可以直接指定文件。例如:
> tar c hosts fstab | tar tv
-rw-r--r-- root/root 1225 2012-10-20 13:37 hosts
-rw-r--r-- root/root 678 2012-05-13 22:09 fstab发布于 2012-12-12 15:59:02
我使用tar -P来保存领先的/ (而不是./) --不过,这对您的情况是否有帮助还不完全清楚。
-P, --absolute-names
don't strip leading '/'s from file names 男焦油
https://serverfault.com/questions/457480
复制相似问题