O problema com locate
pode ser um banco de dados desatualizado. locate usa um banco de dados para mostrar o resultado e esse banco de dados não é atualizado em tempo real. Portanto, novos arquivos não são adicionados a ele quando criados. Eles serão adicionados quando o banco de dados for atualizado.
sudo updatedb
atualiza para você manualmente, mas isso também é feito diariamente pelo cron em um Ubuntu padrão. localizar não é em tempo real, mas muito rápido. locate aceita curingas.
locate *.jpg
/discworld/Downloads/Forbidden-Oasis.jpg
/discworld/Downloads/The-Exalted-Plains.jpg
/discworld/Downloads/The-Fallow-Mire.jpg
/discworld/Downloads/The-Hinterlands.jpg
/discworld/Downloads/The-Storm-Coast.jpg
/discworld/Downloads/The-Western-Approach.jpg
e
locate .t
deve fornecer resultados se o banco de dados estiver atualizado e houver arquivos que terminem com ".t". Você pode filtrar os resultados adicionando um | grep Western
(o exemplo que mostro acima mostraria 1 resultado; o último seria mostrado) se você obtiver muitos resultados.
find
é em tempo real e, como resultado, é mais lento que locate
. find
mostrará um erro se você pesquisar o local que não tem permissão para pesquisar. O comando nos comentários por @g_p está correto e procura a partir dos arquivos de localização atuais que terminam em ".t".
find . -type f -name "*.t"
which
não se destina a encontrar arquivos, mas para encontrar comandos, é a ferramenta errada. whereis
também não é destinado a encontrar arquivos, mas você pode usar para localizar os arquivos binários, de origem e manuais para um comando.