Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I am using different operating systems on different machines on different locations. I am using a USB flash disk to keep my files (source codes etc.).

I am new to Mac OS X and now I realize there are lots of files created with a dot underscore ._ prefix.

Questions

Why are ._ files created?

What are their purpose?

How can I avoid them?

share|improve this question
    
I dislike them too but I've learned to cohabitate with them peacefully. –  boehj May 29 '11 at 22:43
1  
If the flash drive is formatted in HFS+ format, that should suppress the creation of ._ files, but I don't know what options exist on your unspecified other operating systems to read HFS+ volumes. –  Daniel Lawson May 12 '12 at 5:36
    

4 Answers 4

up vote 24 down vote accepted

You can't avoid them. They're created to store file information that would otherwise go into an extended attribute on HFS+ (Apple native) or Unix/UFS volumes; in earlier Mac OS this would be the resource fork. Finder file operations will create them automatically to store the icon information, plus Time Machine stores some information in them so if you copy a file backed up via TM it will have that information copied as well.

(This is nothing new; I've noticed that XP and later leave various turds around as well, although not quite as many.)

share|improve this answer
3  
I agree, "turd" is an accurate description :) –  Drahcir Aug 1 at 12:46

Purposes of .DS_Store and ._ files

http://diigo.com/0qiwp for an annotated view of http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html where Matt Deatherage (a former engineer at Apple) offers explanations.

Since I have seen loss of user data (document content) where ._ counterparts are prevented or lost, I agree that it's:

  • not acceptable to have things "vanish into the ether".

Purposes of ._ files

In addition to the purposes outlined in geekosaur's accepted answer, here are a few examples of how Apple and third party apps either use or require ._ in some situations …


File business during a copy by Finder

See my answer to a question on Stack Overflow.


NeoOffice use of deprecated codes

HFS type code NO%F without a creator code is:

  • used considerately, only where appropriate.

NeoOffice example 1

NeoOffice 3.2.1 Patch 5 save to 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 example 2

NeoOffice 3.2.1 Patch 5 save to a USB flash drive with MS-DOS FAT32, cleaning by 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 example 3

NeoOffice 3.2.1 Patch 5 save to a volume mounted by OS X with file system type webdav, not SharePoint, cleaning by 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% 
  • the save by NeoOffice to the webdav file system did not involve an extended attribute
  • BlueHarvest was not required.

Hint: where Microsoft Office fails with webdav to save to Microsoft SharePoint (see below), NeoOffice succeeds.


Microsoft use of deprecated codes

The most recent version of Office requires an HFS type code and HFS creator code when a format such as Microsoft Word (.docx) is chosen. So — it seems that when saving to a file system that does not support those values in a com.apple.FinderInfo extended attribute:

  • Microsoft Office can not save reliably without creating multiple ._ files.

Microsoft example 1

Word 2011 14.2.1 save to a volume mounted by OS X with file system type webdav, not SharePoint, cleaning by BlueHarvest:

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.

Microsoft example 2

Word 2011 14.2.2 (120421) saving example.docx in the same environment:

2012-05-12 08:01:07.692 BlueHarvest[41131]: Deleted ._Word Work File D_769960778.tmp in /Volumes/dav.

Microsoft example 3

Word 2011 14.2.2 (120421) saving another.docx in the same environment, quitting then reopening, editing then saving, editing then closing and saving:

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.

Hint: Microsoft Office 2011 fails to save to Microsoft SharePoint when the file system type is webdav because SharePoint does not support file names beginning with a dot . (period). See Ask Different answers to Is it possible to mount SharePoint as a volume in 10.6?


Type and creator codes: background, Apple Developer

Apple began encouraging third party developers away from type codes and creator codes more than a decade ago. In Appendix B of the File System Programming Guide, File Types and Creator Codes advises that the codes are:

generally deprecated, you may see them in legacy files and apps and in some places in the system.

share|improve this answer

To minimise the presence of dot underscore files on non-HFS+ formatted drives, you can use the BlueHarvest preference pane.

share|improve this answer
2  
BlueHarvest is an excellent product but some of the third party reviews are misleading. Test results show that creation is not prevented; that creation is allowed, and according to the user's preferences BlueHarvest may clean some of what's created. –  Graham Perrin May 12 '12 at 4:07

the issue is as @geekosaur says and so hard to avoid if you use Apple file tools.

However if you only use command line tools and some 3rd party ones and never write to the USB with Finder they will not be created.

share|improve this answer
    
The behaviour is not limited to Apple software. Example: Microsoft Office 2011 requires ._ files when saving to file systems that are without support for HFS type codes and creator codes. –  Graham Perrin May 12 '12 at 4:09
2  
@GrahamPerrin - I meant Apple's file tools for copying etc - yes any app using file forks (ie Apple's libraries) will have them. If yo use tools that just use BSD file libraries then no _ files. –  Mark May 12 '12 at 10:07

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.