Remove annoying OS X DS_Store folders

find . -name .DS_Store -exec rm {} \;
Recursively removes all those hidden .DS_Store folders starting in current working directory.

4
By: Svish
2009-03-09 13:59:30

What Others Think

If you end it with \; then it runs rm separately for every file, which is unnecessary, so instead try find . -name .DS_Store -exec rm {} + That will make all the files as arguments to one rm command (or as many as your shell can handle) e.g. rm ./.DS_Store ./subfolder/.DS_Store ./path/to/.DS_Store ... It's slightly easier on the system, and will run a bit faster for folders that have a lot of sub-folders with lots of .DS_Store files.
goodevilgenius · 509 weeks and 5 days ago
In this case, the -delete action will work just fine. find . -name .DS_Store -delete
DEinspanjer · 509 weeks and 5 days ago
thanks for extra info. will try those out the next time I get a mac littered folder sent to me, hehe =)
Svish · 509 weeks and 4 days ago
Before people go randomly deleting their .DS_store directories, it's worth knowing why the folder is there to begin with, and what its purpose it. .DS_store directories are created every time you access a folder on your machine. It stores the position of icons, background image if any, and other attributes. Deleting this hidden directory means losing those customizations. Also, next time you enter that folder, Mac OS X will recreate the .DS_store directory. So, you're just playing a cat and mouse game. Might as well learn how to use them appropriately rather than fight it.
atoponce · 509 weeks and 3 days ago
Yeah, it seems like the use-case for this is if you've just transferred a directory tree to a non-OSX unix machine and want to clean it up. I can't see wanting to run this directly on my Mac, though.
woxidu · 506 weeks and 4 days ago
Well, this was in fact for when I moved to a non-Mac. But I have also experienced that those files have become corrupt so I needed to delete them and let the os remake them. In my case it was actually the per-file meta file that was corrupted, but with a minor tweak this line helped me then too. find . -name ._* -exec rm {} \;
Svish · 453 weeks and 3 days ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

Considering A New Car?

You should consider a Tesla. Get 6 Months Free Supercharging.

Free Supercharging

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands



Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: