Linux Essencial/Lição Localizando arquivos: diferenças entre revisões
[edição verificada] | [edição verificada] |
Conteúdo apagado Conteúdo adicionado
Criou a página com "teste" |
Sem resumo de edição |
||
Linha 1:
* '''Objetivo(s):''' Fornecer informações sobre como é feita a localização de arquivos por linha de comando.
* '''Direitos autorais e licença:''' Veja notas de direitos autorais e licença no final da lição.
== 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 ===
A ferramenta which é utilizada na busca de comandos presentes no ''path'' do sistema quanto ou do usuário corrente. Como a busca é feita dentro do ''path'' ele mostrará os arquivos executáveis.
Sintaxe:
which comando
=== 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:
<code>updatedb</code>
Veja um exemplo, supondo que o banco de dados já está construído:
<code>$ locate ls</code>
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.
== Exercícios de Revisão ==
1. Crie um arquivo chamado "achei" dentro de /tmp. Depois vá para o "/" usando caminho relativo. Utilize o localizador '''find''' para encontrar o arquivo "achei" a partir do "/".
2. Atualize o banco de dados para o locate. Faça a mesma busca com o locate. Qual demorou mais, o locate (some ao locate o tempo de criação do banco de dados) ou o find?
3. Localize o comando halt e seu arquivo de configuração.
|