Find


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

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

  • Official webpage for GNU find (em inglês).
  • find files – Commands & Utilities Reference, The Single UNIX® Specification, Issue 7 from The Open Group (em inglês).
  • wiki sobre find (em inglês).


  • v
  • d
  • e
Arquivos
  • cat
  • cd
    • popd
    • pushd
  • chattr
  • chmod
  • chown
  • chflags
  • chgrp
  • cksum
  • cp
  • cmp
  • curl
  • dd
  • du
  • df
  • file
  • fsck
  • less
  • ln
  • ls
  • lsof
  • mkdir
  • more
  • mv
  • pax
  • pwd
  • rm
  • rmdir
  • split
  • size
  • tee
  • touch
  • tree
  • type
  • umask
Processos e tarefas
  • anacron
  • at
  • bg
  • chroot
  • crontab
  • jobs
  • kill
  • killall
  • nice
  • fg
  • pgrep
  • pidof
  • pkill
  • ps
  • pstree
  • time
  • top
  • wait
Ambiente e usuários
  • clear
  • env
  • exit
  • finger
  • history
  • id
  • locale
  • logname
  • mesg
  • passwd
  • su
  • sudo
  • talk
  • tput
  • ulimit
  • uname
  • umask
  • uptime
  • w
  • wall
  • who
  • whoami
  • write
Processamento de texto
  • awk
  • banner
  • basename
  • comm
  • csplit
  • cut
  • diff
  • dirname
  • disown
  • ed
  • ex
  • fmt
  • fold
  • head
  • iconv
  • join
  • less
  • more
  • nl
  • paste
  • sed
  • sort
  • spell
  • strings
  • tail
  • tr
  • uniq
  • vi
  • wc
  • xargs
Shell
  • alias
  • bind
  • break
  • compgen
  • complete
  • continue
  • echo
  • expr
  • history
  • printf
  • read
  • sh
  • shopt
  • source
  • test
  • true
  • false
  • unset
  • wait
  • yes
Redes e comunicação
  • dig
  • ifconfig
  • inetd
  • netstat
  • nslookup
  • ping
  • rlogin
  • route
  • ssh
  • traceroute
Busca
  • find
  • grep
  • strings
  • locate
  • whatis
  • whereis
Documentação
  • apropos
  • help
  • man
Miscelâneas
  • bc
  • dc
  • cal
  • date
  • lp
  • lpr
  • od
Comandos geralmente implementados no interpretador.
Comando geralmente implementados, tanto como executáveis, como quanto no interpretador.