我在不同位置的不同计算机上使用了不同的操作系统。我正在使用USB闪存盘保存文件(源代码等)。
我是Mac OS X的新手,现在我意识到有很多使用点下划线._
前缀创建的文件。
问题
为什么要._
创建文件?
他们的目的是什么?
如何避免它们?
._
文件的创建,但是我不知道未指定的其他操作系统上存在哪些选项来读取HFS +卷。
ls --ignore="._*"
作为别名或键绑定却大有帮助。
我在不同位置的不同计算机上使用了不同的操作系统。我正在使用USB闪存盘保存文件(源代码等)。
我是Mac OS X的新手,现在我意识到有很多使用点下划线._
前缀创建的文件。
为什么要._
创建文件?
他们的目的是什么?
如何避免它们?
._
文件的创建,但是我不知道未指定的其他操作系统上存在哪些选项来读取HFS +卷。
ls --ignore="._*"
作为别名或键绑定却大有帮助。
Answers:
您无法避免它们(但是请参阅Saeid Zebardast的dot_clean答案-如果需要,可以将其从目录中删除)。它们的创建是为了存储文件信息,否则这些文件信息将进入HFS +(Apple本机)或Unix / UFS卷的扩展属性中。在早期的Mac OS中,这将是资源派生。Finder文件操作将自动创建它们以存储图标信息,并且Time Machine将在其中存储一些信息,因此,如果您复制通过TM备份的文件,则该信息也会被复制。
(这是什么新鲜事,我注意到,XP及更高版本乱放以及各种turds,虽然不是非常的多。)
veto files = /._*/
和delete veto files
选项,smb.conf
以防止创建此类文件。相反,我们将.DS_STORE
文件保留原样,因为它们对于设置文件排序很有用,并且每个目录只有一个。
您可以使用dot_clean命令删除或合并._文件:
dot_clean PATH_OF_FOLDER_OR_DRIVE
如果将文件移动到linux或已Git Bash
安装在PC上,并且可以访问该find
命令,则也可以执行以下操作:
find . -type f -name '._*' -delete
他们走了!
man dot_clean
:For each dir, dot_clean recursively merges all ._* files with their corresponding native files according to the rules specified with the given arguments. By default, if there is an attribute on the native file that is also present in the ._ file, the most recent attribute will be used.
此命令不仅会删除某些点文件,而且可能会覆盖每个文件夹的先前/本机属性。请谨慎使用。
http://diigo.com/0qiwp以获得http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html的带注释的视图,其中Matt Deatherage(苹果公司前工程师)提供了解释。还要注明»关于.DS_Store的起源 (2006-10-01)。
由于我看到用户数据(文档内容)._
丢失,而阻止或丢失了对方,因此,我同意:
除了geekosaur接受的答案中概述的目的以外,这里还有一些示例,这些示例说明了Apple和第三方应用程序在某些情况下如何使用或需要 ._
……
请参阅我对堆栈溢出问题的回答。
NO%F
没有创建者代码的HFS类型代码为:
NeoOffice 3.2.1 Patch 5保存到JHFS +:
[macbookpro08-centrim:~] gjp22% xattr -l /Users/gjp22/Desktop/product\ of\ NeoOffice\ 3.2.1\ Patch\ 5.docx
com.apple.FinderInfo:
00000000 4E 4F 25 46 00 00 00 00 00 00 00 00 00 00 00 00 |NO%F............|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020
NeoOffice 3.2.1 Patch 5保存到具有MS-DOS FAT32的USB闪存驱动器,由BlueHarvest进行清洁:
2012-05-12 06:42:08.349 BlueHarvest[31146]: Deleted ._product of NeoOffice 3.2.1 Patch 5.docx in /Volumes/FAT32/example.
NeoOffice 3.2.1 Patch 5保存到OS X挂载的卷中,文件系统类型为webdav
SharePoint,而不是SharePoint,由BlueHarvest进行清理:
[macbookpro08-centrim:~] gjp22% mount | grep dav
https://www.box.net/dav/ on /Volumes/dav (webdav, nodev, noexec, nosuid, mounted by gjp22)
[macbookpro08-centrim:~] gjp22% xattr -l /Volumes/dav/product\ of\ NeoOffice\ 3.2.1\ Patch\ 5.docx
[macbookpro08-centrim:~] gjp22%
webdav
文件系统中不包含扩展属性提示:如果Microsoft Office无法webdav
保存到Microsoft SharePoint(请参见下文),则NeoOffice成功。
最新版本的Office 需要一个HFS类型代码和HFS创建者代码时的格式,如Microsoft Word(.docx
选择)。因此-似乎在保存到com.apple.FinderInfo
扩展属性中不支持这些值的文件系统时:
._
文件,Microsoft Office将无法可靠地保存。将Word 2011 14.2.1保存到OS X挂载的具有webdav
BlueHarvest清理的文件系统类型(不是SharePoint)的卷:
May 11 18:32:49 macbookpro08 BlueHarvest[14649]: BlueHarvest started.
May 11 18:38:37 macbookpro08 BlueHarvest[14649]: Deleted ._Word Work File D_1.tmp in /Volumes/dav.
May 11 18:39:57 macbookpro08 BlueHarvest[14649]: Deleted ._Hello world, this is Microsoft.docx in /Volumes/dav.
May 11 18:42:28 macbookpro08 BlueHarvest[14649]: Deleted ._Hello world, this is Microsoft.docx in /Volumes/dav.
Word 2011 14.2.2(120421)example.docx
在相同环境中保存:
2012-05-12 08:01:07.692 BlueHarvest[41131]: Deleted ._Word Work File D_769960778.tmp in /Volumes/dav.
Word 2011 14.2.2(120421)another.docx
在同一环境中保存,然后退出然后重新打开,编辑然后保存,编辑然后关闭并保存:
2012-05-12 08:15:04.252 BlueHarvest[41131]: Deleted ._Word Work File D_.tmp in /Volumes/dav.
2012-05-12 08:18:48.735 BlueHarvest[41131]: Deleted ._another.docx in /Volumes/dav.
2012-05-12 08:21:12.658 BlueHarvest[41131]: Deleted ._Word Work File D_2.tmp in /Volumes/dav.
提示:文件系统类型是webdav
因为SharePoint不支持以点.
(句点)开头的文件名时,Microsoft Office 2011无法保存到Microsoft SharePoint 。请参阅“对在10.6中是否可以将SharePoint挂载为卷”提出不同的答案。
十多年前,苹果公司开始鼓励第三方开发人员远离类型代码和创建者代码。在文件系统编程指南的附录B中,文件类型和创建者代码建议该代码为:
通常不推荐使用,您可能会在旧版文件和应用中以及系统中的某些位置看到它们。
这些文件由操作系统创建,以加快搜索速度,存储有关文件夹首选项的元数据(操作系统使用的数据)等。Windows和OS X都具有这类文件。以下是从http://annoying-file-be-gone.snack.ws/faq.html中提取的这些文件的说明:
.DS_Store
– Apple OS X操作系统中用于存储文件夹的自定义属性(例如图标的位置或背景图像的选择)的文件名(更多信息)
.Spotlight-V100
–该文件包含信息以加快“ Spotlight搜索”功能。如果您对该文件夹中的项目执行了另一次Spotlight搜索,则删除仅会强制将该信息重新索引。
.apDisk
–该文件包含有关共享文件夹的信息,可以安全删除,因为如果Apple需要,它将自动重新创建。
.VolumeIcon.icns
–如果该卷使用自定义图标而不是默认图标,则此文件用于存储该卷(USB设备)的图标。如果您希望设备继续使用此默认图标,或者要清除的文件夹/设备包含应用程序,则可能需要将此文件保留在系统中。附带说明一下,如果您想为设备创建自定义图标,则可以创建/下载.icns
文件并将其重命名.VolumeIcon.icns
并放置在文件夹/设备中。
.fseventsd
–该文件用作文件系统事件守护程序的缓冲区。如果您正在使用监视此文件夹/设备的程序,则此文件可能用于存储临时数据。
.Trash
&.Trashes
–这些文件夹用于保存已删除的项目,其方式与扩展坞中的“废纸'”图标相同。如果您的文件夹/设备上不需要此功能,则可以清理此文件夹以节省空间。
.TemporaryItems
–当文件被复制/移动/附加时,操作系统使用此文件来保存临时数据。如果您正在运行正在访问要清理的文件夹/设备的任何程序,并且没有在复制或移动任何文件,则此文件可以仅保存旧数据进行缓存。
为了最大程度地减少非HFS +格式的驱动器上的点下划线文件的存在,可以使用BlueHarvest首选项窗格。
问题是@geekosaur所说的,因此如果您使用Apple文件工具,则很难避免。
但是,如果您仅使用命令行工具和某些第三方工具,并且从未使用Finder写入USB,则不会创建它们。
._
保存到不支持HFS类型代码和创建者代码的文件系统时,需要文件。
这确实很简单,NTFS(当前Windows)FAT32(旧Windows)对于权限,分配给该文件的创建程序,创建日期,修改日期,标签,文件注释,图标及其他内容具有非常特定的数据结构。元数据。您还会注意到,相同的属性不会在其他操作系统中显示。(即IE创建日期可能是1990年1月1日,并且其他OS不能访问其他元数据。每当同时使用从HFS写入NTFS或FAT32的机器以及同时写入这些本地FAT32或NTFS的机器时。或._文件以及DS存储文件都会显示出来。这表明操作系统处理的上述各种元素的不兼容因素不一致,因此,如果您要在这些文件之间来回切换,则可能需要保留这些文件操作系统 使用这些文件。如果仅使用一个或另一个操作系统,请确保已正确格式化媒体(硬盘驱动器,SD卡等),或者确保驱动程序允许您的OS写入非操作系统固有的驱动器格式。(这些都可用于OSX以使其使用本机属性来写入NTFS和FAT32文件,以及对于Windows 7和8来使用本机属性来写入HFS +和EXFat(linux)驱动器。)它们不是免费的,但是如果您来回执行很多操作,可以减少驱动器中多余的重复数据。
您可以通过FileZilla或类似的文件管理器删除它们。
为方便起见,我一直在使用以下方法。*消除闪存驱动器上的前缀文件:从Apple计算机上删除闪存驱动器,插入Windows机器中,在闪存驱动器中搜索“。 *。*”,然后在搜索显示带有._前缀的文件时将其删除。我从不删除.Trashes或.DS Store文件。到目前为止没有问题。我希望我不会给自己带来未来的问题。
删除与Git,Visual Studio和Xcode相关的._时要小心!我有一个包含很多.mov和图像的应用程序,这些“ ._”文件显示为已提交。我通过Visual Studio Team Explorer的更改将其删除,并且不知何故该项目文件夹从大约500MB膨胀到40GB而没有添加文件...仍然不确定到底发生了什么,但是我猜想它与删除这些文件有关,因此每次提交都被缓存了每个.mov和图片多次后,我才开始流行。在“查找器”>“所有文件”中,我看到每个.mov和.png重复了20-30次。
只需在您的.gitignore文件中添加“ ._ *”,当在iOS Xcode项目中使用TFS时,它们不会显示为更改后的文件。