Recursively Delete Files from Command Line

By  on  

I'm one of those people who can't stand a messy laptop;  I don't keep around files I don't need and I refuse to install apps unless I absolutely need them.  Unfortunately Mac OS X and Windows generate files whenever they like, like .DS_Store and Thumbs.db.  Sure they serve their purpose but that doesn't mean the clutter doesn't annoy me.

If you want to recursively find delete files you don't want, there's a simple way to do that:

find . -name '.DS_Store' -type f -delete

You can use * as a wildcard too:

find . -name '*.zip' -type f -delete

Of course my cleanup only lasts a short time, but hey -- you can use this command for more intelligent purposes!

Recent Features

  • By
    Facebook Open Graph META Tags

    It's no secret that Facebook has become a major traffic driver for all types of websites.  Nowadays even large corporations steer consumers toward their Facebook pages instead of the corporate websites directly.  And of course there are Facebook "Like" and "Recommend" widgets on every website.  One...

  • By
    Responsive and Infinitely Scalable JS Animations

    Back in late 2012 it was not easy to find open source projects using requestAnimationFrame() - this is the hook that allows Javascript code to synchronize with a web browser's native paint loop. Animations using this method can run at 60 fps and deliver fantastic...

Incredible Demos

  • By
    Generate Dojo GFX Drawings from SVG Files

    One of the most awesome parts of the Dojo / Dijit / DojoX family is the amazing GFX library.  GFX lives within the dojox.gfx namespace and provides the foundation of Dojo's charting, drawing, and sketch libraries.  GFX allows you to create vector graphics (SVG, VML...

  • By
    MooTools Image Preloading with Progress Bar

    The idea of image preloading has been around since the dawn of the internet. When we didn't have all the fancy stuff we use now, we were forced to use ugly mouseover images to show dynamism. I don't think you were declared an official...

Discussion

  1. Tolga

    Interestingly. I only knew about -exec and xargs.

  2. Hristo
    rm find . -name '.DS_Store'
  3. I use Asepsis for .DS_Store files: http://asepsis.binaryage.com/

  4. Just to mention that the order of the -delete flag is very important. Putting -delete flag first will make find try to delete everything below the specified starting point.

  5. If you’re on Windows, the following will work the same:

    del /s .DS_Store
    del /s Thumbs.db
    
  6. Using -iname instead of -name will ignore case.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!