find

Origem: Wikipédia, a enciclopédia livre.


find é um aplicativo para linha de comando de busca de arquivos utilizado em sistemas operativos Unix-like e derivados. Ele procura por um ou mais diretórios na árvore da estrutura do sistema de arquivos, localizando arquivos baseados em um critério estabelecido pelo utilizador. Ele também suporta expressões regulares, e pode ser usado para aplicar um filtro especifico em vários arquivos.

Exemplos de uso[editar | editar código-fonte]

O comando abaixo busca arquivos criados a menos de três minutos e que possuem extensão "txt":

find ~ -cmin -3 -iname '*.txt'

os mesmos resultados do comando anterior podem ser obtidos com uma sintaxe que explicite matematicamente a operação, conforme apresentado a seguir:

find ~/ \( -cmin -3 -a -iname *.txt \)

O comando abaixo busca arquivos maiores que 500MB:

find ~/ -size +500M

O comando abaixo busca arquivos do tipo PDF (iname ignora maiúsculas):

find ~/ -iname *.pdf

O comando abaixo conta quantos arquivos ".txt" há na pasta pessoal "~/" (combinando com o comando wc):

find ~/ -iname *.txt | wc -l

O comando abaixo mostra todos os arquivos PDF que não sejam maiores que 2000 bytes. Tudo que estiver após a exclamação será negado:

find ~/ -iname *.pdf ! -size +2000

O comando abaixo procura por arquivos de um usuário especifico:

find / -user sergio
find . -user root

O comando abaixo busca com opções. no caso, arquivos html ou htm:

find ~/ \( -name *.htm -o -name *.html \) -atime +5
find ~/ -iregex '.*html?' -atime +5

O comando abaixo procura por uma lista de arquivos e os apaga (combinando com o comando rm):

find ~/.Trash -iname *.txt | xargs rm -rf
find ~/ -type f -print0 | xargs -0 chmod 755
  # usando o print0 conseguimos pegar arquivos com nomes
  # que contenham espaços

 
   find /originalPath/ -name *.mp3 -print0 | xargs -0 -i cp ./{} /destinationPath/
 
   find ./ -maxdepth 1 -iname "*.doc" -print0 | xargs -0 -i cp ./{} /home/germana/Desktop/

O comando abaixo procura todos os arquivos ".conf" que contenham número IP:

find /etc -name *.conf | xargs grep -Hn '[0-9][0-9]*[.][0-9][0-9]*[.][0-9][0-9]*[.][0-9][0-9]*'

Ligações externas[editar | editar código-fonte]