Start presentation

Slide 1: Localização de arquivos

Muitas vezes é importante para o administrador do sistema saber onde se encontram determinados arquivos, principalmente os que influenciam a configuração do sistema. Existem vários meios de se fazer busca, podendo ser através de caminhos de path (atalhos), diretamente no sistema ou em um banco de dados.

which

O comando which retorna a localização do arquivo executável em diretórios apontados pela variável de ambiente PATH. Isso é muito útil para saber a localização de um determinado comando

Sintaxe:

which comando

Exemplo:

$ echo $PATH
/home/teste/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

$ which ls
/bin/ls

$ which python
/usr/bin/python

No exemplo acima, podemos perceber:
  • a variável de ambiente PATH, possui os seguintes caminhos: /home/teste/bin, /usr/local/bin, /usr/bin, /bin, /usr/local/games e /usr/games.
  • o comando 'ls' se localiza na pasta '/bin' e o comando 'python' se localiza na pasta '/usr/bin'.
  • E se tivéssemos dois executáveis python em duas pastas diferentes, por exemplo, /usr/local/bin/python e /usr/bin/python, o comando which informaria qual caminnho do comando? A resposta está na ordem de precedência na variável de ambiente PATH, no caso acima, /usr/local/bin é um caminho que precede /usr/bin/python, portanto o primeiro caminho (/usr/local/bin) tem priorirdade sobre (/usr/bin).

whereis

Essa ferramenta faz busca por arquivos executáveis, por manuais, arquivos fontes e de configuração (ver sobre manuais no capítulo sobre Documentação).

Sintaxe:

whereis comando

NOTA: o whereis pode trazer alguns comandos que o which não retorna, sendo aconselhável o uso deste comando.

find

O comando find faz a busca por arquivo ou diretório no sistema, bastando passar o ponto inicial de busca e uma expressão que define os arquivos a serem encontrados. Essas expressões incluem várias características dos arquivos, incluindo seu tamanho, data de criação ou modificação, etc. Outras opções incluem, por exemplo, a quantidade de níveis em que a busca deve ser feita.

Sintaxe:
find diretório_busca [opções][arquivo/diretório]

diretório_busca é o ponto inicial de busca, percorrendo também os sub-diretórios presentes dentro do mesmo.

opções:

-name (expressão) - faz a busca pela expressão indicada (arquivo/diretório)

-size (tamanho) - faz a busca pelo tamanho indicado. Caso seja preciso fazer busca de até determinado tamanho ou maiores, pode-se passar “+” ou “-” antes de (tamanho);

-type (tipo) - faz a busca pelo tipo de arquivo.

Tipos:

b - bloco

c - caractere

d - diretório

p - pipe

l - link simbólico

s - socket

-mindepth (num) - não faz a busca abaixo de subdiretórios com num níveis;

-maxdepth (num) - faz a busca até num subdiretórios do diretório de busca.

Exemplo:
$ find /tmp -name pasta1

$ find /tmp -size +500K

Em ambos os exemplos a busca será feita dentro do diretório /tmp. No primeiro exemplo será pesquisado o nome pasta1 (nesse caso o nome tem que ser igual ao que está sendo procurado), e no segundo exemplo serão pesquisados arquivos maiores que 500K.

Locate/updatedb

Enquanto o comando find faz a busca no momento de solicitação, o comando locate faz a busca dentro de um banco de dados já construído. A procura dentro de um banco de dados pronto é muito mais rápida.

Sintaxe:
locate [expressão]

Expressão é a palavra a ser pesquisada dentro do banco de dados.

A construção do banco de dados é feita com a ferramenta updatedb.

Sintaxe:

updatedb

Veja um exemplo, supondo que o banco de dados já está construído:

$ locate ls

Com o comando acima é possível pesquisar, dentro do banco de dados, todas as entradas que contenham a expressão ls.

NOTA: O find é mais lento, mas não ocupa espaço em disco.

Slide 2: Finalizando

Topic revision: r8 - 20 Oct 2016, MarceloAkiraInuzuka
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback