Você está no caminho certo - você só precisa citar o padrão para que ele seja interpretado por find
e não pelo seu shell:
sudo find / -type f -name '*.pem'
Eu preciso encontrar todos os arquivos .pem
no meu sistema. O seguinte faria isso?
sudo find / -type f -name *.pem
Se não, como eu escreveria um comando find para encontrar todos os arquivos do tipo?
Usar find /
normalmente será muito lento. Usar locate
é muito mais rápido, mas um pouco impreciso, porque não suporta nada mais complexo que a correspondência de substring. Um diretório chamado .pembroke
será encontrado e retornado pelo locate junto com todos os arquivos dentro dele.
Uma combinação de locate
e grep
, no entanto, tem velocidade e precisão. Convenientemente, também não requer sudo
.
locate .pem | grep "\.pem$"
O lado negativo? O banco de dados locate
usa normalmente é atualizado apenas uma vez por dia, portanto, quaisquer alterações recentes (adições, exclusões, alterações de nome, etc.) não serão encontradas.
Quase!
sudo find / -type f -name \*.pem
ou
sudo find / -type f -name "*.pem"
caso contrário, o shell interpretará o * em vez de localizar.
... ou se mlocate é executado em seu computador e você não precisa dos dados mais reais use o comando locate
locate *.pam
É mais rápido porque encontra arquivos no banco de dados criado anteriormente; não no sistema inteiro.
sudo find / | grep .pam
Acho que isso deve funcionar.