Linux: How To Empty a Directory

By -

How do I empty a directory (delete all files) under Linux / Unix without deleting directory itself?

You can use the following commands:

[a] rm command - Delete one or more files or directories.

[b] find command - Find and delete all files from a specific directory.

Linux Empty Directory Using the rm Command

Consider the following directory structure:

	/tmp/
	|
	|------foo/
		|---file1
		|---file2
		|---file3

To delete all files from /tmp/foo/ directory (i.e. empty /tmp/foo/ directory), enter:
cd /tmp/foo/
$ rm *

OR
rm /tmp/foo/*

Delete All Files Using the Find Command

Consider the following directory structure:

	/tmp/
	|
	|------bar/
		|
		|---file1.txt
		|---file2.txt
		|
		|---subdir1/
		|	|---file1.doc
		|	|---file2.doc
		|
		|---subdir2/
			|---image1.jpg
			|---image2.png

To delete all files from /tmp/bar/ directory (including all files from subdirectories such as /tmp/bar/dir1), enter:
$ cd /tmp/bar/
$ find . -type f -delete

OR
find /tmp/bar/ -type f -delete

I have been working with Linux based systems since 2002. I hope the article published on this site will be useful to those new to server administration.

Leave a Reply

Your email address will not be published. Required fields are marked *

ERROR: si-captcha.php plugin says GD image support not detected in PHP!

Contact your web host and ask them why GD image support is not enabled for PHP.

ERROR: si-captcha.php plugin says imagepng function not detected in PHP!

Contact your web host and ask them why imagepng function is not enabled for PHP.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>