Localizando arquivos em sub-diretórios

1

Ainda é um novato. Usando uma máquina limpa, comprada do System 76 com o Ubuntu 14.04 LTS instalado. Consegui em meados de maio de 2014.

Por que não consigo encontrar arquivos no subdiretório atual e em seus subdiretórios?

Já experimentei ls , find , locate , which e whereis . Mesmo tree | grep , que irá encontrá-los, mas não vai me dizer onde eles estão.

Exemplo: No meu diretório /home , tenho alguns arquivos *.t . Em alguns dos meus diretórios abaixo de casa, tenho alguns arquivos * .t. Eu estou tendo dificuldade em encontrá-los todos com um comando CLI. Alguma idéia?

    
por ReyKev 10.01.2015 / 20:24

1 resposta

3

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.

    
por Rinzwind 10.01.2015 / 20:49