我有一个在 linux 机器上生成的 tar。我需要将该 tar 的一部分上传到另一台 linux 机器。完整的 tar 很大,需要几个小时才能上传。我现在在 Mac OSX 机器上,这是我的问题:
._
文件。对于上传的每个文件,都有一个._
文件,例如text1.txt
, ._text1.txt
, text2.txt
, ._text2.txt
...OSX 将这些文件包含在 tar 中。
我试过这样做
tar --exclude='._*' -cvf newTar .
Run Code Online (Sandbox Code Playgroud)
没有区别。
我现在没有新服务器的 ssh 访问权限。
我能做些什么来解决这个问题?如何生成干净的焦油。
pdo*_*pdo 25
._ 文件是 OS Xbsdtar
处理 OS X 特定扩展属性和资源分支的方式。(这是一种称为 AppleDouble 的机制,它实际上不仅仅适用于 TAR 档案,还存在于多种存储格式中,其中没有用于保存 MacOS 资源分支和 Finder 信息的本机机制。)
为了防止它们被添加到您的 tar 文件中,您可以将它们COPYFILE_DISABLE=1
作为环境变量传递给 tar。
COPYFILE_DISABLE=1 tar cf newTar.tar /your/files
Gil*_*il' 11
据我了解,tar --exclude='._*' -cvf newTar .
应该有效:Finder 创建._*
文件但newTar
不应该包含它们。
但是您可以通过在直通模式下调用 tar 来完全绕过这些文件。例如,只复制从文件oldTar
是下some/path
,使用
tar -cf newTar --include='some/path/*' @oldTar
Run Code Online (Sandbox Code Playgroud)