Remove Files By Extension

This should be a quick and easy article, easy enough for anyone to follow, as it covers how you can remove files by extension in Linux. There are a few tips and tricks you can use for this and we’ll be managing files in the Linux terminal. Read on to learn more!

As an aside, I’m thinking about doing some ‘shorts’, which would be short articles that cover a simple topic and do so concisely. If you have any thoughts on this, feel free to opine in a comment.

While Linux doesn’t necessarily care about file extensions, you’ll still often have file extensions. They’re useful for the user, as a way to visually determine a file’s usage quickly. If you see a .sh file, you can guess that it’s a script. When you see a .deb file, you can be reasonably sure it’s a package. You can assume a .png file is an image file.

Today, we’ll be using the ‘rm’ command and wildcards. We’ll be learning how to remove files by extension in the terminal. So, be prepared for that.

The ‘rm’ Command:

You won’t need to install anything for this article. You certainly won’t need to install the rm package. The rm package is a part of the core utilities. You can confirm that rm is available by entering rm --version in the terminal. (I do wish that was consistent, but it is not.)

If you don’t know, you can check the man page, to see the rm command is described like so:

rm – remove files or directories

As the goal is to remove files by extension, this seems like it’d be a good tool for the job at hand. Sure enough, it is!

Remove Files By Extension In Linux:

If you read the intro, and so few of you do, you’d know that we’re going to remove files by extension in Linux – with the terminal. So, open a terminal. More often than not, you can just press CTRL + ALT + T and your default terminal should open.

With your terminal open, the syntax is as follows:

Let’s use .deb as an example. If you want to remove all the .deb files in the folder you’re in, try this command:

The wildcard (the asterisk) means any characters can be there. You’ll remove foo.deb and bar.deb with the above command.

While that’s all there is to it, you can use wildcards for other things.

You can use a wildcard to match other patterns. If you had fle_1_foo and file_2_foo, you could remove them with this command:

If you had file_foo_1 and file_foo_2, you could remove them all with this command:

Pretty sweet, huh?

There’s more to the rm command. If you wanted to do this with folders, you’ll find that rm doesn’t do that by default. So, just add the -r flag to your command, like so:

If you’re having issues removing something with the rm command, there’s a flag you can use to force it. That flag is the -f flag and it’s used something like this:

I guess this article is more about the wildcard than it is about learning how to remove a file by extension. That’s just one way to introduce people to the concept, now that I look at it this way.

The wildcard is a pretty powerful tool in Linux, a tool that’s very useful in the terminal and while doing advanced file management. Knowing how (and when) to use a wildcard will do you well. If you have any questions, you can always ask and I’ll see if I have an answer.

Closure:

So, we’ve covered how to use a wildcard to remove a file by extension. You can do this with folders and other files, not just by extension. What you’d be doing would be pattern recognition and Linux is more than happy to help you along the way. It’s a pretty powerful tool and a tool that every Linux user should be familiar with.

Hmm… I guess 700+ words is short these days. Ah well…

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Smash a button!
[Total: 5 Average: 5]
Subscribe To Our Newsletter
Get notified when new articles are published! It's free and I won't send you any spam.
Linux Tips
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.