Ubuntu – How to search and delete files who contain specific string in name


How can I delete every file on the system which have something in the name?

Best Answer

  • Please be careful

    This following command with the parameter -delete deletes all the files with something in the name in the specified directory and in all subdirectories.

    Open a terminal and go to the right folder:

    cd <your_search_starts_here>

    test with

    find . -type f -name "*something*"

    and delete with

    find . -type f -name "*something*" -delete

    Or a shorter version:

    find <your_search_starts_here> -type f -name "*something*" -delete

    For your home folder:

    • !!! first run a test

      find ~ -type f -name "*something*"

      and than

      find ~ -type f -name "*something*" -delete

    For the whole filesystem

    • !!! first run a test !!!

      sudo find / -type f -name "*something*"

      and test again and than delete with

      sudo find / -type f -name "*something*" -delete

    Or only in the specified directory:

    find <your_search_starts_here> -maxdepth 1 -type f -name "*something*" -delete

    And because you have used the tag locate:

    The results of a search with locate are based on a database. This may be outdated. Start an update with sudo updatedb. find performs a true search. However, it also takes longer.