如何在 Linux 中使用 ‘find’ 命令搜索多个文件名(扩展名)
很多时候,我们都陷入必须搜索具有不同扩展名的多个文件的境地,这可能发生在很多 Linux 用户身上,尤其是在终端内。
我们可以使用多个 Linux 实用程序来定位或查找文件系统上的文件,但查找多个文件名或具有不同扩展名的文件有时会很棘手,需要特定的命令。
该实用程序是用于在 Linux 文件系统上定位文件的众多实用程序之一find
,在本操作指南中,我们将介绍几个使用find的示例,以帮助我们一次定位多个文件名。
在深入研究实际命令之前,让我们先简单介绍一下 Linuxfind
实用程序。
find 实用程序的最简单和通用语法如下:
# find directory options [ expression ]
让我们继续看Linux 中find命令的一些示例。
1.假设您想查找当前目录中所有带有和文件扩展名的文件.sh
,.txt
您可以通过运行以下命令来执行此操作:
# find . -type f \( -name "*.sh" -o -name "*.txt" \)
上述命令的解释:
.
表示当前目录-type
选项用于指定文件类型,这里我们搜索常规文件,如下所示f
-name
选项用于指定搜索模式,在本例中为文件扩展名-o
表示“或”
建议您将文件扩展名括在括号中,并在命令中使用\
(反斜杠)转义字符。
2.要查找三个带有.sh
、.txt
和.c
扩展名的文件名,请发出以下命令:
# find . -type f \( -name "*.sh" -o -name "*.txt" -o -name "*.c" \)
3.下面是另一个示例,我们搜索扩展名为.png
、和 的.jpg
文件:.deb
.pdf
# find /home/aaronkilik/Documents/ -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.deb" -o -name ".pdf" \)
当您严格遵守上述所有命令时,小技巧是使用find-o
命令中的选项,它使您能够向搜索数组添加更多文件名,并且还知道您正在搜索的文件名或文件扩展名。
结论
在本指南中,我们介绍了一个简单但有用的find 实用技巧,让我们只需发出一个命令即可找到多个文件名。要了解和使用 find 进行许多其他重要的命令行操作,您可以阅读下面的文章。