Localizar arquivo ou diretório em toda a estrutura de diretórios

14

Como posso encontrar um arquivo com um nome específico no bash. Eu quero pesquisar por todo o sistema. Eu tentei com o find, mas isso só funciona em um nível.

Homem foguete
fonte

Respostas:

20

Não, findpor padrão, percorre todos os níveis disponíveis:

sudo find / -mount -name 'myfilename'

Se você tiver uma partição inicial separada, uma casa criptografada ou um disco rígido secundário, também poderá listar seus pontos de montagem, ao lado de /, por exemplo

sudo find / /home/enzotib /media/data -mount -name 'myfilename'

A -mountopção é necessária para evitar percorrer os sistemas de arquivos montados. Entre estes existem /proc, /deve /sysque é conveniente para pular.

Uma alternativa para percorrer todos os arquivos, evitando apenas esses três últimos caminhos, é

sudo find /!(proc|sys|dev) -name 'myfilename'
enzotib
fonte
para encontrar todos os arquivos começando com "meu" do: find. -name meu \ * (bash iria interpretar a estrela se não houvesse barra)
krumpelstiltskin