find – 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]