why does OSX add extra '._' when I tar a directory?
OS X's tar uses the AppleDouble format to store extended attributes and ACLs. tar and Archive Utility also know how to convert the ._ files back to the native formats, but the ._ files are kept if the archive is extracted on another platform or on a non-HFS volume.

You can usually just tell tar to remove the metadata by setting COPYFILE_DISABLE to some value:

$ xattr -l file.jpg
com.apple.quarantine: 0002;50d20c48;Tweetbot;
$ tar -cf 1.tar file.jpg 
$ tar -tf 1.tar 
./._file.jpg
file.jpg
$ COPYFILE_DISABLE=1 tar -cf 2.tar file.jpg 
$ tar -tf 2.tar 
file.jpg


Information stored as extended attributes:


Resource forks (since 10.4)

Custom icons set in Finder and the images of Icon\r files
Metadata in PSD files
Script objects stored in scpt files, AppleScript Editor window state

Information about aliases
Quarantine status, download URLs
Spotlight comments
Encoding of files saved with TextEdit
Caret position of files saved with TextMate
Skim notes


You can see ACLs with ls -le:

$ ls -led /Applications/
drwxrwxr-x@ 146 root  admin  4964 Jun 17 22:53 /Applications/
 0: group:everyone deny delete