You are on page 1of 7

Como utilizar comandos Linux Find e Locate about:reader?url=https://www.hostinger.com.br/tutoriais/comandos-lin...

hostinger.com.br

Como utilizar comandos Linux Find e Locate


11-15 minutos

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 é:

find <span style="font-weight: 400"><startingdirectory> <opções> <termo de


busca></span>

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

1 de 7 12/03/2018 08:30
Como utilizar comandos Linux Find e Locate about:reader?url=https://www.hostinger.com.br/tutoriais/comandos-lin...

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:

find . -name “meu-arquivo”

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:

find . -iname "meu-arquivo"

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:

find . -not -name "meu-arquivo"

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

find . \! -name "meu-arquivo"

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

2 de 7 12/03/2018 08:30
Como utilizar comandos Linux Find e Locate about:reader?url=https://www.hostinger.com.br/tutoriais/comandos-lin...

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:

find . -name "meu-arquivo" -delete

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:

find / -type f -name “meu-arquivo”

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.

3 de 7 12/03/2018 08:30
Como utilizar comandos Linux Find e Locate about:reader?url=https://www.hostinger.com.br/tutoriais/comandos-lin...

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ê

4 de 7 12/03/2018 08:30
Como utilizar comandos Linux Find e Locate about:reader?url=https://www.hostinger.com.br/tutoriais/comandos-lin...

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

5 de 7 12/03/2018 08:30
Como utilizar comandos Linux Find e Locate about:reader?url=https://www.hostinger.com.br/tutoriais/comandos-lin...

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

sudo apt-get update

sudo apt-get install mlocate

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.

6 de 7 12/03/2018 08:30
Como utilizar comandos Linux Find e Locate about:reader?url=https://www.hostinger.com.br/tutoriais/comandos-lin...

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.

Se você possui uma dica ou uma ideia e gostaria de compartilhar, sinta-se a


vontade e compartilhe nos comentários.

7 de 7 12/03/2018 08:30

You might also like