Tar command in mac os x adding "hidden" files, why?

Joris Mans picture Joris Mans · Jan 7, 2012 · Viewed 16.4k times · Source

I am writing my own tar archiver. All works fine inside my app (even reading tars generated with other tools) however I cannot get my tar files to work with 3rd party tar file readers. So I tried building a tar file on the command line, building one with my code and binary comparing the two.

But there seems to be an issue:

I have a textfile called Test.txt which I want to add to my tar, so I run the following command in the terminal:

tar -c -f x.tar Test.txt

When doing this:

tar -tf x.tar

I get the following list:

./._Test.txt
Test.txt

This is in the Terminal on Mac OS X Lion.

Where does that ./._Test.txt file come from? I don't see it when doing an ls -a

Upon inspecting the tar contents it seems to be some binary data, but I have no idea where it comes from.

Answer

jaypal singh picture jaypal singh · Jan 7, 2012

You can add the following to your bashrc file -

export COPYFILE_DISABLE=true

Or, you can add this option to your tar command at the extraction time

tar -xzpvf x.tar --exclude="._*"