Dicas do comando find

Introdução

Neste artigo vamos informar alguns exemplos práticos do comando find. São exemplos que resolvem problemas que temos no dia a dia. Voltado para quem trabalha com administração de servidores Linux.

  • Encontrando arquivos que estão com problema de encoding no nome.
  • find . ! -regex '.*'

    Esse interessante comando do find, apesar de não ser específico para isso, irá listar todos arquivos que estão com erro de encoding no nome. Para mais informações como corrigir o encode do nome do arquivo, acesse:
    http://selectoid.wordpress.com/2009/07/23/a-commandline-preciousness-for-converting-filename-encoding-in-linux-convmv/

  • Removendo arquivos que foram criados/modificados a mais de x dias. No caso abaixo, serão removidos os arquivos modificados/criados à mais de 30 dias.
  • find . -type f -mtime +30 -delete
  • Procurando um pattern (require_once) dentro de arquivos que possuem a extensão .php, entrando nos níveis de diretório abaixo, de forma recursiva.
  • find . -name "*.php" -exec grep -Hi "require_once" {} \;
  • Esta dica é para você que precisa limpar um diretório que contém muitos arquivos. Usar somente o comando rm -f * no diretório irá gerar erro de lista de arquivos muito grande. A alternativa é usar o comando find combinado com o comando xargs, que irá limpar o diretório completo. O xargs irá passar os arquivos para o comando rm por partes.
  • find . -type f -print0 | xargs -0 rm
  • Procurando arquivos em apenas 2 níveis de sub-diretórios.
  • find . -maxdepth 2
  • Procurando arquivos/diretórios que possuem determinado dono de arquivo.
  • find . -user www-data
  • Procurando arquivos/diretórios que possuem determinado grupo de arquivo.
  • find . -group www-data
  • Procurando arquivos/diretórios que possuem determinado permissão.
  • find . -perm 644
  • Fazendo busca somente em diretórios.
  • find . -type d
  • Fazendo busca somente em arquivos.
  • find . -type f

Conclusão

É claro que esses exemplos não devem ser utilizados de forma rígida. O comando find é muito flexível, portanto fique livre para combinar seus parâmetros. As dicas acima podem ajudar em muitas situações diferentes.

Please follow and like us:

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: