Cada vez mais sistemas operacionais vêm chegando para facilitar a vida das pessoas. Quando se trata de um sistema operacional de código aberto, pode-se dizer que é mais vantajoso ainda, fazendo com que as pessoas tenham a autonomia de customizar de acordo com a sua necessidade. O Linux é um desses sistemas operacionais, e, devido a esse alto grau de personalização algumas pessoas podem se perguntar como localizar arquivos no Linux.
Afinal de contas, aprender a localizar arquivos pela linha de comando pode ser um grande diferencial além de ter um ganho de tempo maior.
Nesse artigo mostraremos alguns comandos que possam facilitar no dia a dia, além de trazer mais praticidade no momento de utilizá-lo. Alguns tópicos serão abordados, como:
- Qual a importância de saber localizar arquivos no Linux?
- Como usar o comando Find para localizar arquivos no Linux?
- Como usar o comando Locate para localizar arquivos no Linux?
- Como usar o comando Whereis?
- Como usar o comando Which?
- Como usar o comando Grep?
- Como usar o comando Type?
- Como usar o comando Apropos?
- Quais as diferenças entre os comandos Whereis e Which?
Fique com a gente e ótima leitura!
Qual a importância de saber localizar arquivos no Linux?
Quando começamos a utilizar um sistema operacional novo, a primeira dúvida geralmente é “onde estão meus arquivos?” ou, ao salvar algo da internet, muitas vezes não sabemos onde foi parar e muito menos como encontrá-lo.
Comparado com alguns outros sistemas operacionais, o Linux possui mais opções de como encontrar um arquivo. Porém, a partir do momento que você possa entender melhor como o terminal funciona e quais são os comandos que devem ser utilizados, ele passa a ficar extremamente mais fácil e mais prático no momento de utilizar.
Como nos dias de hoje, a maioria dos computadores chegam com o sistema operacional Windows e acabamos nos familiarizando com essa maior facilidade, pois o Windows tem uma interface mais agradável no momento da busca.
Como usar o comando Find para localizar arquivos no Linux?
Existem vários comandos que podem ser utilizado para encontrar um arquivo no Linux, porém o comando Find é um dos mais utilizados, por se tratar de uma sintaxe bem simples e de fácil entendimento, como podemos ver abaixo:
find <startingdirectory> <opções> <termo de busca>
Para um melhor entendimento, podemos observar que esse comando inicia com o seu próprio nome “find”, que tem como propósito avisar o Linux que haverá uma busca. Após isso, o próximo passo é inserir a partir de que ponto você deseja que essa busca ocorra, ou seja, se você já souber onde pode estar o arquivo isso facilitará muito.
Como muitas vezes não sabemos onde está exatamente o arquivo, se ele está na raiz, ou se está dentro de uma estrutura de pasta, a melhor forma de iniciar essa busca é da pasta raiz.
Para saber em que pasta você está, você pode utilizar o comando pwd. Ele retornará o caminho exato que você se encontra nesse momento.
O último ponto para realizar a busca é só inserir a forma que deseja filtrar seu arquivo, seja ele por tamanho, por nome, por data, entre outras opções disponíveis.
Procurando por nome
Geralmente, quando vamos realizar uma busca, a primeira coisa que tentamos lembrar é o nome dos arquivos. Por conta disso, o comando find utilizando o nome como filtro é o mais utilizado, por se tratar de uma forma simples de pesquisa.
Imaginando o seguinte cenário, em que a pessoa usuária deseja fazer uma busca pelo arquivo “testando”, tendo certeza de que o nome dele é esse. Para isso, poderá utilizar o seguinte comando:
find . -name “testando”
Agora, supondo que temos um arquivo chamado “meu Teste”, porém não temos muita certeza se ele possui ou não letras maiúsculas e minúsculas é possível utilizar um comando bem parecido com o anterior, como:
find . -iname "meuTeste"
Uma outra forma de fazer a busca de arquivos é você realizar um filtro através do formato dele. Então, supondo que desejamos realizar uma busca por todos os arquivos que possuem a extensão do arquivo “.jpg”, ao utilizar o comando abaixo é possível verificar todos os arquivos com esse final.
find . -name “*.jpg”
Para finalizar, uma outra forma de buscar arquivos pelo nome seria remover alguma palavra. Imaginando o seguinte cenário no qual temos uma lista de arquivos com o nome “texto único 1”, “texto único 2”, “texto único 3” e assim por diante, porém, no meio desses arquivos há alguns como o nome “texto único duplicado”. Sendo assim, queremos fazer uma busca por todos arquivos que não tenham a palavra “duplicado”. Com isso podemos seguir como no comando abaixo:
find . -not -name "meu-arquivo"
Procurando por tipo
Uma outra forma de procurar arquivos, além de realizar essa busca pelo nome, é pelo tipo dele. A busca por tipo é um pouco mais complicada, pois dependemos de alguns types para utilizar esse comando, como podemos ver abaixo:
- L → Link simbolico
- D → diretórios
- C → caracteres
- B → bloqueados
- F → Arquivos normais
Supondo que eu deseje realizar uma busca simples para poder encontrar um arquivo, esse busca pode ser feita da seguinte forma abaixo:
find / -type f
Utilizando esse comando, ele me retorna todos os arquivos normais do sistema.
Procurando por tamanho
Além do Linux ter a opção de realizar a busca por nome e data, por exemplo, ele também permite realizar essa busca por tamanho de arquivo. Existem algumas especificação de tamanho que podem ser utilizadas no momento da busca. Essas especificações de tamanho são:
- Gigabytes → G
- Terabytes → T
- Bytes → C
- Kilobytes → K
Por sua vez, sua sintaxe é bem simples também, como podemos ver abaixo:
find -size
Imaginando o seguinte cenário no qual precisamos fazer uma busca de um arquivo que tenha exatamente 15 gigabytes, ao utilizar o comando find para realizar a busca pelo tamanho, podemos fazer como no código abaixo:
find -size 15G
Esse comando faz com que você obtenha exatamente esse arquivo com o tamanho buscado.
Procurando por tempo
O comando find também permite a opção de realizar a busca através de tempo, ou seja, se você criou um arquivo há pouco tempo ou até mesmo entrou para fazer uma alteração, salvou e não está encontrando, com o comando find é possível essa busca.
Ele oferece três formas para realizar essa busca por tempo, sendo elas:
- mtime: Verifica a última vez em que o arquivo sofreu alguma modificação
- ctime: Verifica a última vez em que os dados foram atualizados
- atime: Verifica a última vez em que o arquivo foi salvo
Sua sintaxe também é bem simples, como podemos ver abaixo:
find / rastreio dia
Ao olhar a sintaxe, você pode se assustar ou achar que é algo complexo, mas não. O find é a palavra reservada para realizar a busca, já o “rastreio” deve ser inserido que tipo de busca você deseja fazer como a -mtime, -ctime ou -atime; Após isso, você pode colocar um dia. Então, supondo que essa alteração ocorreu no dia anterior, é possível colocar -1, ou seja menos um dia.
Imaginando o seguinte cenário no qual desejamos realizar a busca de um arquivo que sofreu uma alteração nos dados no dia anterior, o comando utilizado seria esse, como podemos ver abaixo:
find / -ctime -1
Procurando por propriedade
Um dos grandes facilitadores do comando find é ser possível também realizar a busca por propriedade, ou seja, por um nome ou um grupo, por exemplo. Assim como os demais sua sintaxe é bem simples, como podemos ver a seguir:
find / propriedade nome
Supondo que desejamos encontrar um arquivo de uma pessoa chamada Maria que trabalha na empresa, o comando find por propriedades agilizará o trabalho de ter que ficar entrando em cada pasta, sendo que é possível utilizar o comando abaixo:
find / -user maria
Além de ser possível realizar a busca de arquivos por nome, também é possível realizar essa busca por grupo.
Imaginando o cenário no qual precisamos buscar arquivos de pessoas que trabalham no almoxarifado da empresa, para realizar essa busca só é necessário trocar o -user por -group, como por exemplo:
find / -group almoxarifado
Isso listará todos arquivos que possuem a propriedade “almoxarifado”.
Procurando por permissões
No Linux, assim como alguns outros sistemas operacionais, é importante ter uma permissão maior para executar determinadas tarefas. Dessa forma, o comando find permite que você realize uma busca por permissões, ou seja, com ele é possível verificar todos os arquivos que tenham permissão de leitura, de escrita e assim por diante.
Sua sintaxe é bem simples, como podemos ver:
find / -perm permissões
O Linux oferece uma tabela de permissões que podem ser concedidas, algumas delas são:
- 1 → Execução
- 2 → Gravação
- 4 → Leitura
- 0 → Nenhuma permissão concedida
Após observar essa tabela acima de algumas permissões de acesso, vamos imaginar um cenário no qual precisamos realizar uma busca por arquivos que possuem apenas a permissão de leitura. Para isso podemos seguir com o comando abaixo:
find / -perm 1
Esse comando mostrará todos os arquivos que possuem permissão para leitura.
Encontrando e deletando arquivos no Linux
Como o seu próprio nome já diz, o comando find é apenas para encontrar arquivos e diretórios que não estão sendo fáceis de serem encontrados, mas ele não oferece mais que isso, como por exemplo, deletar arquivos ou até mesmo trocar permissões.
Abaixo vamos mostrar uma forma de juntar o comando find com o comando rm que tem como objetivo deletar/remover arquivos ou diretórios.
Imagina-se o seguinte cenário, no qual desejamos remover um arquivo chamado informatica.txt, porém, como estou com o terminal aberto, eu não desejo abrir pastas para tentar localizar o arquivo. Sendo assim, eu posso utilizar o comando a seguir:
find / -name informatica.txt -exec rm {} \
Esse comando faz com que o arquivo informatica.txt seja removido.
Como usar o comando Locate para localizar arquivos no Linux?
Uma outra opção para encontrar arquivos, é utilizando o comando Locate, que também é um comando bem simples do Linux. Porém, por sua vez, ele não vem instalado por padrão como o Find Sendo assim, se tentar digitar na linha de comando o Locate, ele retornará um erro.
Sua instalação é bem simples de fazer, seguindo dois passos como:
sudo apt-get update
sudo apt-get install locate
Após ter instalado o Locate, agora é só utilizar de acordo com sua necessidade. Abaixo temos um exemplo de utilização de Locate como:
locate arquivo-teste
Além dessa forma simples de realizar a busca pelo Locate, também é possível inserir alguns atributos a mais para realizar um filtro mais restrito, como por exemplo ao utilizar o comando:
locate -q arquivo-teste
No momento em que ocorre a busca, ele evita que fique aparecendo erros e travando essa pesquisa.
Um ponto de atenção bastante importante, é que quando realizamos uma busca utilizando o Locate, ele tenta encontrar vários tipos de arquivos. Se essa base de dados não foi atualizada e algum arquivo foi deletado recentemente, o comando locate pode encontrá-lo, então é importante ficar atento ao realizar essa busca pelo locate.
Como usar o comando Which?
O comando Which é um pouco diferente do comando find e do Locate. O comando Which tem como objetivo mostrar qual caminho está determinado arquivo.
Sintaxe
Sua sintaxe é bem simples, como podemos ver abaixo:
which nome
Exemplo de uso do comando Which na prática
Imaginando um cenário no qual estamos desenvolvendo um software e é preciso saber exatamente o caminho do ifconfig para poder pegar algumas informações necessárias no computador,p para isso eu consigo utilizar o seguinte comando:
which ifconfig
Ele então vai me retornar exatamente o caminho onde o meu ifconfig está localizado.
Como usar o comando Whereis?
O comando Whereis tem como objetivo realizar uma busca pelos manuais, pelos binários e pelos arquivos de fontes de um determinado comando ou até mesmo de um diretório.
Sintaxe
Sua sintaxe é bem parecida com a do comando Which. como podemos ver abaixo:
whereis [opções] arquivo
Além de ser possível pesquisar por três opções diferentes, o comando Whereis também possui algumas opções em que podem ser passadas no momento da busca, como podemos ver abaixo:
- s: arquivos de fontes
- b: arquivos binários
- m: arquivos de documentação
Basicamente, ao utilizar essas opções, é possível que você consiga filtrar cada vez mais sua busca.
Exemplo de uso do comando Which na prática
Supondo um cenário no qual você deseja saber mais sobre o comando “passwd“, para realizar essa busca é preciso o seguinte comando:
whereis passwd
Ele mostrará o seguinte retorno :
Como usar o comando Grep?
O Grep, um pouco diferente no comando find e do comando locate, tem como objetivo procurar trechos de texto de pastas, retornando de forma simples o trecho encontrado. Além disso, também é possível encontrar exatamente a linha em que esse trecho foi encontrado.
Sintaxe
Sua sintaxe é:
grep "trecho" nomeArquivo
Exemplo de uso do comando Which na prática
Imagine o cenário no qual você está no trabalho e a pessoa líder solicita que você encontre uma frase muito importante em um texto que apresenta 10 mil palavras. Supondo que você utilize o Linux, o comando Grep vai fazer com que você faça essa busca e obtenha a resposta de imediato. Com isso, você terá um ganho de tempo gigante em relação a ter que ler o texto todo para conseguir encontrar a frase desejada.
Como usar o comando Type?
Como o próprio nome já diz, o comando type tem como objetivo realizar uma busca para saber informações relacionadas a outro comando.
Sintaxe
Sua sintaxe é bem simples, como podemos verificar abaixo:
type opção
O Type é a palavra reservada para que possamos realizar nossa busca, e a opção é o que desejamos saber. Utilizando esse comando, é possível verificar que para cada situação retorno é diferente, alguns desses retornos são:
- Um comando interno no shell
- Um arquivo executável
- O caminho onde o arquivo se encontra
- Uma palavra-chave
Exemplo de uso do comando Type na prática
Supondo um cenário no qual desejamos saber mais sobre o comando cd bastante utilizado no Linux, podemos usar o código abaixo:
type cd
E assim, o próprio Linux retornará uma mensagem falando que o comando cd é interno do shell.
Como usar o comando Apropos?
Você já passou pela situação na qual você precisa muito utilizar um comando, sabe exatamente o que ele faz, porém não se lembra como era exatamente o comando, somente uma palavra chave que nele pode ser encontrada? Pois bem, o comando Apropos veio para auxiliar nisso da melhor forma possível.
Sintaxe
Sua sintaxe, não muito diferente dos demais comandos, também é bem simples, como podemos ver abaixo:
apropos [opções] palavra-chave
Exemplo de uso do comando Apropos na prática
Considerando o seguinte cenário, no qual a pessoa líder pede uma tarefa na qual você precisa de muita agilidade e precisa trabalhar com diretórios mas não se lembra exatamente qual comando deve utilizar. Nesse cenário, você pode utilizar o seguinte comando:
apropos directory
Sendo assim, automaticamente o Linux retornará uma lista de comandos envolvendo diretórios, fazendo com que você possa lembrar o comando que deseja utilizar.
Quais as diferenças entre os comandos Whereis e Which?
Muitas pessoas que ainda não estão acostumadas com o comando Whereis e Which podem acabar se confundindo ou até mesmo achando que os dois tratam de comandos que fazem a mesma coisa, mas não, eles são bem parecidos mas com objetivos diferentes.
A grande diferença entre o comando Whereis e o comando Which é que o comando Whereis tem como objetivo realizar buscar por binários, manuais e arquivos fontes, já o comando Which tem como objetivo mostrar apenas o caminho de um determinado arquivo ou diretório.
Por se tratar de um sistema operacional open source, existe uma grande quantidade de pessoas que optam por utilizar o Linux, uma boa porcentagem dos desenvolvedores e desenvolvedoras escolhem ele por sua variedade, além de ser possível customizar do jeito que deseja.
Por muitas pessoas estarem acostumadas com o Windows, ao usar outro sistema operacional acabam ficando perdidas e perdidos ao tentar entender para onde foi o arquivo ou a pasta criada. Para isso, saber os comandos que o Linux oferece faz com que a pessoa tenha uma maior agilidade, além de ser um grande diferencial. Portanto saber como localizar arquivos no Linux é essencial!
Deseja conhecer mais comandos do linux? Se sim leia também nosso conteúdo Comandos Linux: 25 que toda pessoa que usa Linux precisa conhecer!