|
Quantas vezes tentamos encontrar algo específico em que não conseguimos quando usamos o comando Locate? Pensando nisso, fiz um pequeno tutorial que é muito funcional, para ajudar os usuários a encontrar os arquivos que procuram nos sistemas GNU/Linux através de linhas de comando.
Em sistemas *nix, uma ferramenta de enorme funcionalidade é o comando find. O comando find é extremamente poderoso e flexível para descobrir arquivos que atendem a determinadas especificações. O comando find aceita diversas diretivas que lhe instruem sobre o que pesquisar em um sistema de arquivos. Arquivos maiores que um tamanho pré-determinado, que tenham sido modificados ou acessados até determinada data, etc. Por isso estamos disponibilizando estas pequenas dicas de como pode-se utilizar o comando find. Aqui estão alguns dos exemplos mais básicos: Para procurar arquivos que contenham determinados conteúdos, por exemplo, procurar os arquivos que tenham o nome root dentro do diretório /etc. find /etc -type f | xargs grep root Para remover arquivos indesejáveis utilizando o find, como o core, digite o comando do exemplo abaixo. find . -name core -exec rm {} ; Procura arquivos em todos os subdiretórios com a extensão .txt find . -name "*.txt" Procura arquivos em toda a arvore com extensão .txt find / -name .txt Procura arquivos em todos os subdiretórios com extensão .txt e os apaga. find . -name "*.txt" -exec rm -f {} ; Procura arquivos em todos os subdiretórios com extensão .txt e os apaga, pedindo confirmação um por vez. find . -name "*.txt" -ok rm -f {} ; O exemplo apresentado abaixo é direcionado para algo específico: Por exemplo, suponhamos que queiramos descobrir todos os arquivos que não possuem dono em nosso sistema. Esta situação é extremamente comum, visto que usuários são criados e apagados diariamente e ficam vagando pelo sistema e podem eventualmente vir a comprometer a segurança. O comando abaixo irá gerar uma listagem com todos os arquivos do sistema que não pertencem a ninguém. find / -nouser -print Caso queiramos simplesmente apagar estes arquivos (não recomendável!!!) basta redirecionar a saída deste comando para o comando xargs, da seguinte forma: find / -nouser -print | xargs rm O mais recomendável é gerar um backup destes arquivos, para em seguida apagá-los: find . -cpio /dev/rmt0 -nouser Para restaurar estes arquivos cpio -idmv < /dev/rmt0 O comando cpio, a exemplo do comando find, é extremamente poderoso e flexível. Estes são apenas uns pequenos exemplos do que se pode fazer com o find. Roberto Rocha |