如何查找具有指定扩展名的所有文件名

如何查找具有指定扩展名的所有文件名

我需要查找.pem系统上的所有文件。下面可以做到这一点吗?

sudo find / -type f -name *.pem

如果没有,我该如何编写 find 命令来查找每个此类文件?

答案1

你走在正确的轨道上——你只需要引用这个模式,这样它就可以被你的 shell 解释,find而不是被你的 shell 解释:

sudo find / -type f -name '*.pem'

答案2

使用find /通常会非常慢。使用locate速度更快,但有点不精确,因为它不支持比子字符串匹配更复杂的任何操作。locate.pembroke将找到并返回名为的目录以及其中的每个文件。

然而,locate和的组合具有速度grep精度。方便的是,它也不需要sudo

locate .pem | grep "\.pem$"

缺点是什么?数据库locate通常每天仅更新一次,因此不会发现任何最近的更改(添加、删除、名称更改等)。

答案3

几乎!

sudo find / -type f -name \*.pem

或者

sudo find / -type f -name "*.pem"

否则 shell 将解释 * 而不是 find。

答案4

sudo find / | grep .pam

认为那应该可行。

相关内容