Sign In

    Enjoy FOSSwire's content? Have it delivered! Subscribe

    Quick Command Line Tip - Recursively Delete Files of a Certain Type

    Applications can create a lot of temporary files sometimes, and these files aren't always cleaned up automatically.

    An example of this is when you run Python applications. Particularly if you're a Python developer, your source code directories stack up with a .pyc version of each file, which is the cached compiled copy of the script.

    To clean up (especially if you're going to do a source commit or an upload somewhere to extend that example) files of a certain file extension, you can use this command line snippet:

    $ find . -name "*.ext" -exec rm '{}' ';'

    Obviously, replace *.ext with the pattern that you want to delete.

    I shouldn't need to say this, but use this with caution. Make sure you're not accidentally going to delete something useful that matches the pattern you enter, and always keep backups yada yada. Tread carefully when batch deleting.


    Find files on your system using ‘locate’

    Locating files that you know exist, but you can't remember where they are can be frustrating. There are a handful of GUI-based search tools for Linux and Unix, but if you prefer to work in the command line, or don't have one of these special apps installed, you can often fall back on command line tool locate.

    The locate command works by querying a database of your files. It won't be very useful, unfortunately, unless this database is kept up to date. What I recommend you do is set up a cron job to run the /usr/bin/updatedb command (as root) every day/night so that the locate tool becomes useful.

    Some distributions have taken the liberty of scheduling updatedb for you already, so you might find this step unnecessary and you can get straight to the searching.

    Once you have the database in place, locating a file is as simple as this:

    $ locate alostfile

    If there are no results, you will be just sent back to a prompt, and you will need to widen or refine your search. Any results will be spat back out as a list of the paths to the files that it has found.

    This method of searching works best when you do actually know the filename, or part of it, and as far as I'm aware doesn't look in the contents of files to search.

    Nevertheless, if you have lost that important file and don't have an alternative desktop search program already installed, give locate a try.