我有一个文件夹,我在MAC OS桌面上创建了一个Alias(快捷方式)。现在,当我将Alias从MAC OS复制到Windows时,它会向我显示一种类型的文件为“文件”。
现在,如果我再次将Alias从Windows复制到Mac OS,那么该别名现在是 Unix可执行文件文件,而不是别名。
我尝试过压缩Alias,但仍然遇到同样的问题。是否有可能在Windows上保留MAC Alias,当我将Alias复制回Mac时,它仍然是Alias。
答案 0 :(得分:3)
Mac文件系统可以将多种元数据附加到其他文件系统不支持的文件,例如Windows使用的文件系统。根据文件在系统之间的确切移动方式,可以保留或不保留此元数据;如果它丢失,文件可能会变得无法使用。
对于别名文件,有两个相关的元数据:类型代码(将文件标识为别名)和资源分支(在别名文件的情况下,存储有关何处的信息)找到原始项目)。由旧版OS X创建的别名文件实际上没有常规内容(“数据分叉”) - 如果它们的元数据丢失,则会留下未知类型的空文件。更新的版本将原始项目信息存储在资源和数据分支中,因此如果资源分叉丢失,它仍然可用;但如果类型代码丢失,操作系统不知道它是别名,它只是看到一些无法识别的数据(它对于unix可执行文件而言是错误的)。
在某些情况下,如果您使用正确的OS X工具将文件复制/移动到外部文件系统(不支持类型代码,资源分叉等),OS X工具将编码&以某种替代形式存储元数据:
如果您使用Finder将文件复制到FAT32闪存驱动器,它将使用AppleDouble格式将元数据存储为名称上带有“._”前缀的单独文件。如果你在Windows上看这个,你会看到例如“别名文件”和“._alias文件”。只要两个文件保持在一起,当它们返回到Mac时,它就会在逻辑上将它们重新组合成一个包含所有元数据的文件。
如果你使用Finder创建一个zip存档,它会做一个非常类似的技巧,它将元数据存储在zip存档中的“._”文件中(在__MACOSX子文件夹中);如果使用Finder(实际存档实用程序)扩展存档,它将重新组合文件。
但是OS X的命令行zip工具不支持支持这个AppleDouble /“。”技巧。如果您使用zip
创建存档,则只会省略仅限Mac的元数据,如果您在包含“。”文件的存档上使用unzip
,则不会重新组装它们。如果您需要在命令行创建zip存档,ditto
实际上是要走的路。
如果您使用Finder将文件复制到使用NTFS文件系统的Windows服务器,它将隐藏附加到alternate data stream(仅限Windows的高级元数据形式)的元数据该文件,如果你使用Finder将其复制回来,它将被正确地重新组装。但是,如果您使用其他内容,或者以不保留备用数据流的方式移动/复制文件,它将会丢失。