上一篇 下一篇 分享链接 返回 返回顶部

如何删除Linux服务器中特定扩展名文件

发布人:Minchunlin 发布时间:2021-01-28 13:39 阅读量:1198

我们要删除Linux系统服务器中特定扩展名的文件,我们使用'rm'(Remove)命令,它是Linux中删除系统文件、目录、符号链接、设备节点、管道和套接字的基本命令行工具。

该命令使用起来相当简单,基本语法是。

$ rm <filename1> <filename2> ... <filenameN>

这里,'filename1'、'filename2'等是文件的名称,包括全路径。如果文件在同一个目录下,那么,你可能已经知道,没有必要写下完整的路径。

我们也可以使用通配符表达式来指定名称相似或递增的文件,或者指定具有特定文件扩展名的文件。

在Linux中使用子串删除文件

例如,要删除所有包含子串 "test "的文件,我们可以运行。

$ rm *test*

这里的'*'表示可以是'任何字符串',即通配符。因此,模式'*test*'考虑了所有名字包含子串'test'的文件。

在Linux服务器系统中删除带有文件扩展名的文件

我们再举一个例子。我们将尝试使用以下方法删除文件夹中的所有GIF文件。

$ rm *.gif

这种语法只适用于文件。使用参数'-r',我们可以同时删除文件和文件夹。

$ rm -r <file/folder1> <file/folder2> ... <file/folderN>

请注意,这将递归地删除文件夹的全部内容,即删除其下面的整个文件夹结构、子文件夹和所有文件。因此,没有办法递归删除特定文件的文件名模式,或者特定扩展名的文件。每次都会删除整个文件夹结构。

在Linux系统服务器中用文件扩展名递归删除文件的方法

为了达到这个目的,我们可以利用find命令,并将其输出管道到'rm'。find命令只是用来根据文件名、扩展名、大小等参数递归搜索文件。

例如,要递归搜索扩展名为".png "的文件,我们运行以下命令。

$ find . -name "*.png"

现在,我们只需用下面的方式把这个输出传递至'rm'。

$ find . -name "*.png" | xargs rm 

xargs "命令只是用来将 "find "的输出作为参数传递给 "rm"。这样,我们就从整个文件夹结构中递归地删除了扩展名为PNG的文件。

这样,我们已经完成了从整个文件夹结构中递归删除PNG扩展名文件的工作。

在这篇文章中,我们了解了'rm'命令,如何使用它删除文件和文件夹,以及如何递归地删除特定扩展名的文件。

目录结构
全文