Eu usaria find /somewhere/on/disk -name "*.jpeg"
over ls
.
Existe também a opção locate *.jpeg
que faz uso de um banco de dados. No entanto, esse banco de dados é atualizado apenas em intervalos regulares (geralmente de um cron
job), portanto, alguns arquivos podem não ter sido indexados no momento em que você está invocando o comando locate
, produzindo um resultado menos preciso. Você pode forçar a criação ou atualização desse banco de dados invocando o comando updatedb
.
Sobre find
vs ls
performance, ls
classificará a saída que leva tempo, enquanto você não precisa necessariamente dela. Além disso, ls
produzirá muitas informações que precisam ser filtradas por grep
posteriormente.
Referência: