If you are working on Linux, then you may need to remove certain files and directories based on a set of predetermined requirements. Linux provides several tools to remove files and directories. Among them, the rm and rmdir are the most widely used commands to remove files and directories on Linux, macOS, and Unix-based operating systems.

In this post, we will show you how to remove files and directories in Linux.

Remove a Single File

The rm command allows you to remove one or more files in a one-liner command.

To remove a single file, run the following command:

rm file1.txt

The above command will delete a file without prompting you to confirm file deletion.

If you want to make the rm command always prompt before deleting a file, use the -i flag:

rm -i file1.txt

You can use the -v flag to display what the rm command is actually doing:

rm -v file1.txt

If you want to remove a write-protected file without prompting for confirmation, use the -f flag:

rm -f file1.txt

Also Read

How to Install LFTP to Download and Upload Files in Linux

Remove Multiple Files

The rm command also allows you to remove a set of files by specifying all file names in a single command.

To remove multiple files, run the following command:

rm file1.txt file2.txt file3.txt

You can also remove multiple files using regular expressions. For example, to remove all files whose names start with a word notebook, run the following command:

rm notebook*

If you want to remove all files with a png extension, run the following command:

rm *.png

Also Read

How to Install and Use Pigz to Compress File in Linux

Remove Directory in Linux

You can use the rm and rmdir commands to remove a directory in Linux.

If you want to remove an empty directory, use the rm -d or rmdir command:

rm -d dir1

Or

rmdir dir1

If you want to remove a non-empty directory including all sub-directories and all the files within them, run the following command:

rm -r dir1

If you want to remove a write-protected directory including all files within them, run the following command:

rm -rf dir1

To remove multiple directories at once, run the following command:

rm -r dir1 dir2 dir3

Find and Remove Directory

You can also use the find command with different options to remove files and directories based on the matching patterns.

To find and remove all empty directories within a given path, run the following command:

find /mnt -type d -empty -delete

This will find and remove all empty directories located inside the /mnt directory.

To find and remove all empty files within a given path, run the following command:

find /mnt -type f -empty -delete

If you want to find and delete all pdf files located inside the /etc directory, run the following command:

find /etc -type f -name "*.pdf" -exec rm -f {} \;

If you want to find and delete all files owned by a specific user, run the following command:

find /opt -mindepth 1 -user user1 -delete

This command will find and remove all files owned by user1 located inside /opt directory.

If you want to find and remove all files older than x days, run the following command:

find /mnt -type f -mtime +30 -delete

This will find and remove all files inside /mnt directory that is older than 30 days.

Conclusion

In this post, we explained how to remove files and directories using the rm and rmdir commands. We also explained how to use the find command to perform some advanced file deletion tasks. You can now easily remove files and directories from the Linux system. Try it on bare metal servers from Atlantic.Net!