Linux VPS

Como utilizar os comandos Linux Find e Locate

Introdução

Frequentemente as pessoas que estão começando a utilizar Linux afirmam que é confuso saber onde os arquivos estão localizados. Isto acontece pois a maioria está acostumada a utilizar Windows, que possui um layout do diretório bem definido. Existem algumas verdades nisso, o Linux tem mais opções de como procurar por arquivos comparado ao Windows. Uma vez que você entenda esses comandos linux, procurar por arquivos na sua plataforma Linux será extremamente fácil. Em pouco tempo, você será capaz de executar comandos e procurar arquivos pelo nome, formato, tamanho, tempo de modificação e muito mais.

Neste tutorial, veremos como utilizar a capacidade de busca de arquivos do Linux. Iremos falar sobre dois diferentes comandos para pesquisar arquivos: find e locate. O uso detalhado e exemplos para esses comandos serão apresentados para que você possa escolher o mais fácil para você. Vale lembrar que estamos usando um VPS com Ubuntu, mas isso vai funcionar para Debian, CentOS, ou qualquer outra distribuição de Linux que você pode utilizar.

Utilizando o comando linux Find

Vamos começar com o comando linux find, e como utilizar o potencial máximo.

A Sintaxe Básica

O comando mais comum utilizado para encontrar ou filtrar seus arquivos é o comando find. O layout básico deste comando é:

Ele começa com a palavra find, que alerta o Linux que tudo que vem a seguir é referente a uma busca de arquivo. O argumento <startingdiretory> é o ponto de origem onde você quer começar a busca. Isto é útil se você tem uma ideia de onde o arquivo deseja pode estar localizado, pois isso diminui os locais de busca. Entretanto, na maioria das vezes, você pode querer procurar por todo o sistema para encontrar o arquivo. Você pode fazer isso trocando o caminho por /, que é o sinal para todo o diretório raiz. Algumas vezes você pode querer começar a busca do diretório em que está trabalhando, por exemplo, o diretório onde o terminal SSH está aberto. Isso pode ser feito com o ponto .. Para descobrir seu diretório atual, use o comando pwd. Finalmente, para iniciar para iniciar a busca de sua pasta base, use o símbolo ~.

O segundo argumento é o filtro que você quer utilizar para procurar seu arquivo. Isto pode ser nome do arquivo, tipo, data de criação ou modificação etc. O terceiro argumento é um acompanhamento do segundo, onde você especificará o termo de busca relevante. Vamos verificar várias opções que o Linux fornece quando estamos procurando por arquivos.

Procurando por nome

O método mais comum e óbvio de procurar um arquivo é pelo nome. Para executar uma simples de pesquisa usando o nome do arquivo, use o comando Linux find, como mostrado abaixo:

No comando acima, nós utilizamos a opção -name, e procuramos um arquivo chamado meu-arquivo. Note que iniciamos a busca no diretório atual.

É importante lembrar que o argumento -name, diferencia letras maiúsculas e minúsculas no Linux. Portanto, se você sabe o nome do arquivo, mas não tem certeza se possui letras maiúsculas e minúsculas, use o comando como esse:

Outra forma de utilizar a opção de busca por nome é procurar por arquivos sem uma palavra específica no nome. No Linux, você pode fazer isso de duas diferentes formas. A primeira maneira é utilizar o -not da seguinte maneira:

Podemos utilizar também o !, porém deve ser especificado para o Linux saber que é parte da busca e não um comando independente.

Você pode procurar entre múltiplos arquivos com um formato comum como por exemplo .txt, que pode ser útil em algumas buscas:

Isso irá listar todos os arquivos .txt iniciando pela pasta atual.
Finalmente, se você quer encontrar um determinado arquivo pelo nome e remove-lo. Utilize o argumento -delete após o nome:

Procurando por tipo

Para a maioria dos usuários, apenas saber encontrar um arquivo pelo nome é o suficiente. Entretanto, é sempre útil conhecer todas as ferramentas oferecidas pelo Linux.

Esse é o momento onde você deve usar o argumento -type. O Linux fornece ao usuário as seguintes opções quando procuramos arquivos pelo tipo:

  • f – arquivo normal
  • d – diretório ou pasta
  • l – link simbólico
  • c – dispositivos de caracteres
  • b – dispositivos bloqueados

Um exemplo simples de busca por tipo pode ser visto abaixo:

Isto irá listar todos os diretórios presentes nos seus arquivos do sistema, pois começamos a busca no diretório raiz utilizando o sinal /.
Você pode realizar a busca com as opções -type e -name juntas, para diminuir as buscas, como por exemplo:

Assim irá procurar por arquivos com o nome meu-arquivo, excluindo diretórios ou links.

Procurando por tempo

Se você quer procurar arquivos baseado em tempo de acesso ou rastros de tempo de modificação, Linux tem as ferramentas para você. Existem 3 formas em que o Linux rastreia as datas dos arquivos:

  • Data de acesso (-atime) – a última vez que o arquivo foi lido ou salvo.
  • Data de modificação (-mtime) – Última vez que o arquivo foi modificado.
  • Data de alteração (-ctime) – Última vez que os dados foram atualizados.

Esta opção pode ser usado com um número. Este número especifica quantos dias desde que o arquivo foi acessado, modificado ou alterado. A forma mais simples de procurar arquivos pela data é:

Isto irá procurar todos os arquivos que foram acessados um dia atrás. Isto significa que todo arquivo que foi lido, escrito, ou os dois desde 1 dia atras será listado.

Nós podemos fazer nossa pesquisa mais aprimorada com os sinais de mais (+) e menos (-) antes do número de dias. Por exemplo:

Isto irá listar todos os arquivos que tiveram modificações a mais de dois dias.

Para localizar todos os arquivos que tiveram os dados alterados a menos de 1 dia atrás, utilize o comando linux:

Finalmente, existem alguns argumentos adicionais além desses 3, que também estão relacionados pesquisas por data. O argumento -min procura por quantos minutos passaram, por exemplo:

Isto irá listar os arquivos que foram modificados a menos de 1 minuto. O argumento -newer pode ser utilizado para comparar o tempo entre dois arquivos e encontrar o mais novo.

Procurando por tamanho

Assim como o Linux tem a opção de procurar arquivos baseado nas datas, ele também permite fazer o mesmo com tamanhos. A sintaxe básica para encontrar arquivos pelo tamanho é:
find -size
Você pode especificar o tamanhos nestas unidades:

  • c – bytes
  • k – kilobytes
  • M – megabytes
  • G – gigabytes
  • B – blocos de 512-byte

Um exemplo simples de como utilizar o comando find por tamanho de arquivos:

Isto irá procurar por arquivos em seu sistema que possuem o tamanho exato de 10 Megabytes. Exatamente como a busca baseada em datas, você pode filtrar suas buscas com os sinais de mais (+) e menos (-):

O comando acima irá listar todos os arquivos com mais de 5 Gigabytes. Você pode também utilizar o sinal de menos para especificar ‘menos que’ em suas buscas.

Pesquisa por propriedade

Este é um privilégio do Linux que também pode ser utilizado para procurar arquivos. Linux fornece a habilidade de restringir suas buscas pela propriedade, pois permissões podem ser fornecidas a diferentes usuários.
Para encontrar arquivos de um proprietário específico, o comando a seguir deve ser utilizado:

Isto irá mostrar uma lista com todos os arquivos que pertencem ao usuário dummy. Assim como nome de usuários, é possível também realizar buscas por nome de grupos:

Isto irá procurar por arquivos de propriedade do grupo classroom.

Pesquisa por permissões

Usuários que precisam procurar um arquivo baseado na permissão do arquivo, podem utilizar a opção -perm do comando -find. Por exemplo:

No Linux, 644 corresponde a permissão para ler e escrever. Isto significa que o este comando irá procurar por todos os arquivos com essas permissões exatamente. Você pode utilizar também dessa forma

Assim irá procurar todos os arquivos que possuem no mínimo a permissão 644.

Para ler mais sobre permissões, e vários códigos correspondente a outras permissões do Linux, visite este site.

Outras opções úteis

Além desses métodos de busca de arquivos, existem outras opções úteis que vale a pena lembrar.

Por exemplo, para procurar por arquivos ou pastas vazias no sistema, use o comando Linux

Similar a esse, para procurar todos os arquivos executáveis salvos, utilize a opção -exec

Para procurar arquivos legíveis, você pode utilizar o seguinte comando:

E isso é tudo que o comando Linux find faz. Como você pode ver, existem várias opções para que os usuários possam adaptar suas pesquisas de acordo com suas necessidades. Vamos dar uma olhada em outro comando Linux que pode ser utilizado ao invés do find para procurar arquivos no Linux.

Utilizando o comando Linux locate

Você pode se perguntar o porque precisa de uma outra alternativa para o comando Linux find. Afinal , isto é tudo que você precisa para procurar arquivos. Entretanto, o locate é uma alternativa útil, pois realiza buscas mais rápidas quando realizadas em sistemas, se comparado ao find.

Por padrão o Linux não vem com o comando locate pré instalado por padrão. Para instalar esse pacote, execute os seguintes comandos em seu terminal

Agora que você instalou o locate, você pode realizar as buscas de arquivos como essas:

Você pode utilizar o argumento -b para reduzir sua busca. Esse comando irá procurar o nome do arquivo ‘meu-arquivo’ – listando apenas os arquivos que têm o termo de pesquisa em vez de retornar diretórios que levam aos arquivos.

Outros argumentos disponíveis são:

  • -e – Retorna a entrada de arquivos existentes no momento que o comando Linux locate é executado.
  • -q – Desativa a exibição de erros encontrados no processo de busca.
  • -c – Mostra o número de arquivos correspondentes, ao invés dos nomes dos arquivos.

O comando Linux locate pode retornar algumas vezes arquivos que foram deletados. Isto ocorre porque o comando locate busca nos arquivos principais dos dados do SO Linux. Se essa base de dados não foi atualizada, até mesmo os arquivos deletados podem aparecer nos resultados de busca. Você pode atualizar a base de dados manualmente executando o seguinte comando:

Conclusão

Neste tutorial, nós aprendemos sobre:

  • Usar o comando Linux find para procurar arquivos baseado em nome, tipo, tamanho, permissões e propriedade, e outras informações adicionais.
  • Instalar e utilizar o comando locate para realizar busca por arquivos mais rápidas dentro de sistemas.

Os usuários de Linux possuem duas ferramentas extremamente poderosas para procurar arquivos em sua unidade. Depende inteiramente da necessidade do usuário escolher qual método é mais adequado. Recomendamos testar ambos comandos, para decidir qual é o ideal para você. Consulte nossos tutoriais para mais conteúdo sobre Linux.

button_tutoriais-linux

Se você possui uma dica ou uma ideia e gostaria de compartilhar, sinta-se a vontade e compartilhe nos comentários.

Palavras-chave: VPS Linux, VPS, Tutoriais Linux, Tutorial Linux

Comece a Economizar Agora!

Hospedagem com tudo incluso e nome de domínio
R$6
99
/mês

Junte-se a centenas de inscritos em todo o mundo

e receba um resumo dos tutoriais mais recentes direto para o seu e-mail

Please wait...

Obrigado por se inscrever!