如何删除Linux服务器中特定扩展名文件
我们要删除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'命令,如何使用它删除文件和文件夹,以及如何递归地删除特定扩展名的文件。