Мне нужно найти все .pem
файлы в моей системе. Будет ли это делать следующее?
sudo find / -type f -name *.pem
Если нет, как мне написать команду поиска, чтобы найти каждый файл такого типа?
Вы на правильном пути - вам просто нужно процитировать шаблон, чтобы он был интерпретирован find
а не вашей оболочкой:
sudo find / -type f -name '*.pem'
С помощью find /
обычно будет очень медленным. С помощью locate
намного быстрее, но несколько неточно, потому что не поддерживает ничего более сложного, чем сопоставление подстрок. Каталог под названием .pembroke
будет найден и возвращен locate вместе с каждым файлом внутри него.
Сочетание locate
и grep
однако имеет скорость и точность. Удобно, также не требует sudo
.
locate .pem | grep "\.pem$"
Обратная сторона? База данных locate
use обычно обновляется только один раз в день, поэтому любые недавние изменения (добавления, удаления, изменения имени и т. д.) не будут обнаружены.
Почти!
sudo find / -type f -name \*.pem
или
sudo find / -type f -name "*.pem"
в противном случае оболочка интерпретирует * вместо find.
... или если mlocate работает на вашем компьютере и вам не нужны самые актуальные данные, используйте команду locate
locate *.pam
Это быстрее, так как находит файлы в ранее созданной базе данных; не во всей системе.
sudo find / | grep .pam
Думаю, это должно сработать.