How to delete lots of directory at a one time in Linux or UNIX

by on August 17, 2007 · 3 comments· LAST UPDATED August 17, 2007

in , ,

Q. I’d like to delete lots of directory at a one time in Linux or UNIX. For example /data2/2005 is old archived data and it is no longer needed. How do I delete all directories and files from /data2/2005? Do I need to write a script?

A.. You need to use rm command to remove files or directories at a once time. You don't have to write a script. Modern rm command has -r option which remove directories and their contents recursively. You also need to pass -f (force) option. In short enter command as follows to wipe out everything inside /data2/2005 directory:
$ rm -rf /data2/2005

However if you have thousands and thousands of files and sub directories, rm may not work out of box due to shell limitation. Try the combination of find and rm command as follows:
$ find -t f /data2/2005 -exec rm -rf '{}' \;
$ find /data2/2005 -exec rm -rf '{}' \;

The first one will only wipe out files.

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 3 comments… read them below or add one }

1 Prashant August 27, 2007 at 9:19 am

How do I delete files which have been generated before perticular date. I would like to delete all files which are generated on or before 31.12.2006

Reply

2 Prashant September 1, 2007 at 5:17 am

I have created printers on Linux server for different X11 clients. Is it possible to copy all these printer configuration on another server as we are going to up another server.

Reply

3 nana December 10, 2007 at 10:43 am

how can we make it through the day??? without you…Say you’ll never go…hehehe

Reply

Leave a Comment

Tagged as: , , , , ,

Previous Faq:

Next Faq: