Provided by: manpages-pt-br_4.13-4_all bug

NOME

       find - pesquisa por arquivos em uma hierarquia de diretórios

SINOPSE

       find [-H] [-L] [-P] [-D opçõesdepuração] [-Onível] [ponto-de-partida...] [expressão]

DESCRIÇÃO

       Esta  página  de  manual  documenta  a  versão  GNU  do  find. O GNU find pesquisa a árvore de diretórios
       enraizada em cada ponto de partida, avaliando a expressão dada da esquerda para a direita, de acordo  com
       as  regras  de  precedência  (consulte  a  seção  OPERADORES), até que o resultado seja conhecido (o lado
       esquerdo é falso para operações e, verdadeiro para ou), nesse ponto find passa para  o  próximo  nome  de
       arquivo. Se nenhum ponto de partida for especificado, `.' será assumido.

       Se  você estiver usando find em um ambiente em que a segurança é importante (por exemplo, se você estiver
       usando-o  para  pesquisar  diretórios  graváveis  por  outros  usuários),  leia  o   capítulo   "Security
       Considerations"  da  documentação  do  findutils, que é chamado Finding Files e vem com o findutils. Esse
       documento também inclui muito mais detalhes e discussão do que esta página de manual, portanto, você pode
       encontrar uma fonte de informação mais útil.

OPÇÕES

       As opções -H, -L e -P controlam o tratamento de links simbólicos. Os argumentos da  linha  de  comando  a
       seguir  são considerados nomes de arquivos ou diretórios a serem examinados, até o primeiro argumento que
       começa com "-" ou o argumento "(" ou "!". Esse argumento e os argumentos a seguir são usados para  ser  a
       expressão que descreve o que deve ser pesquisado. Se nenhum caminho for fornecido, o diretório atual será
       usado.  Se  nenhuma  expressão  for fornecida, a expressão -print será usada (mas você provavelmente deve
       considerar usar -print0).

       Esta página de manual fala sobre "opções" na lista de expressões. Essas opções controlam o  comportamento
       do  find,  mas são especificadas imediatamente após o último nome do caminho. As cinco opções "reais" -H,
       -L, -P, -D e -O devem aparecer antes do nome do primeiro caminho, se houver. Teoricamente, um traço duplo
       -- também pode ser usado para sinalizar que  os  argumentos  restantes  não  são  opções,  mas  Isso  não
       realmente  funciona  por  causa  da forma que o find determina o fim dos seguintes argumentos de caminho:
       ele faz isso lendo até um argumento de expressão aparecer (que também inicia com um "-").  Agora,  se  um
       argumento  de  caminho  iniciaria  com  um  "-", find o trataria como argumento de expressão. Assim, para
       garantir que todos os pontos iniciais sejam considerados como tal e, especialmente, para  evitar  que  os
       padrões  de  curinga  expandidos pelo shell de chamada não sejam tratados erroneamente como argumentos de
       expressão, geralmente é mais seguro prefixar curingas ou nomes de caminho duvidosos com "./" ou para usar
       nomes de caminho absolutos começando com "/".

       -P     Nunca segue links simbólicos. Esse é o  comportamento  padrão.  Quando  find  examina  ou  imprime
              informações sobre um arquivo, e o arquivo é um link simbólico, as informações utilizadas devem ser
              obtidas das propriedades do próprio link simbólico.

       -L     Segue  os  links  simbólicos.  Quando  find  examina  ou  imprime  informações  sobre arquivos, as
              informações usadas devem ser obtidas das propriedades do arquivo para o qual o link aponta, não do
              próprio link (a menos que seja um link simbólico quebrado  ou  find  não  possa  para  examinar  o
              arquivo  para o qual o link aponta). O uso dessa opção implica em -noleaf. Se você em seguida usar
              a opção -P, -noleaf ainda estará em vigor. Se -L  estiver  em  vigor  e  find  descobrir  um  link
              simbólico  para  um subdiretório durante sua pesquisa, o subdiretório apontado pelo link simbólico
              será pesquisado.

              Quando a opção -L estiver em vigor, o predicado -type sempre corresponderá ao tipo de  arquivo  ao
              qual  um  link  simbólico  aponta  e  não  ao  próprio  link  (a menos que o link simbólico esteja
              quebrado). Ações que podem causar quebra de links simbólicos enquanto find está em  execução  (por
              exemplo,  -delete)  podem  gerar  um  comportamento confuso. O uso de -L faz com que os predicados
              -lname e -ilname sempre retornem false.

       -H     Não segue os links simbólicos, exceto durante o processamento dos argumentos da linha de comandos.
              Quando find examina ou imprime informações sobre arquivos, as informações usadas devem ser obtidas
              das propriedades do próprio link simbólico. A única exceção  a  esse  comportamento  é  quando  um
              arquivo  especificado  na  linha  de comando é um link simbólico e o link pode ser resolvido. Para
              essa situação, as informações usadas são obtidas de qualquer ponto para o qual o link  aponta  (ou
              seja, o link é seguido). As informações sobre o próprio link são usadas como fallback se o arquivo
              apontado  pelo  link  simbólico  não puder ser examinado. Se -H estiver em vigor e um dos caminhos
              especificados na linha de comando for um link  simbólico  para  um  diretório,  o  conteúdo  desse
              diretório será examinado (embora, é claro, -maxdepth 0 evite isso).

       Se  mais  de  uma  opção  de  -H,  -L e -P for especificada, cada uma substituirá as outras; a última que
       aparece na linha de comando entra em vigor. Como é o padrão, a opção -P deve ser considerada em vigor,  a
       menos que -H ou -L sejam especificados.

       O  GNU  find  frequentemente  estatísticas  arquivos durante o processamento da própria linha de comando,
       antes de  qualquer  pesquisa  ter  começado.  Essas  opções  também  afetam  como  esses  argumentos  são
       processados. Especificamente, existem vários testes que comparam os arquivos listados na linha de comando
       com  um  arquivo  que  estamos  considerando no momento. Em cada caso, o arquivo especificado na linha de
       comando será examinado e algumas de suas propriedades serão salvas. Se o arquivo nomeado  é  de  fato  um
       link  simbólico  e  a opção -P está em vigor (ou se -H nem -L foram especificados), as informações usadas
       para a comparação serão obtidas das propriedades do link simbólico. Caso contrário, ele será retirado das
       propriedades do arquivo para o qual o link aponta. Se find não puder seguir o link (por  exemplo,  porque
       possui  privilégios  insuficientes  ou  o  link  aponta  para um arquivo inexistente), as propriedades do
       próprio link serão usadas.

       Quando as opções -H ou -L estiverem em vigor, quaisquer  links  simbólicos  listados  como  argumento  de
       -newer  serão  desreferenciados  e  o  carimbo de data e hora será retirado do arquivo para o qual o link
       simbólico aponta. A mesma consideração se aplica a -newerXY, -anewer e -cnewer.

       A opção -follow tem um efeito semelhante a -L, embora tenha efeito no ponto em que aparece (ou  seja,  se
       -L  não for usado, mas -follow for, quaisquer links simbólicos que apareçam depois de -follow na linha de
       comando serão desreferenciados, e aqueles antes dele não serão).

       -D opções-de-depuração
              Imprime informações de diagnóstico; isso pode ser útil para diagnosticar problemas com os  motivos
              pelos  quais  find  não  está  fazendo  o que você deseja. A lista de opções de depuração deve ser
              separada por vírgula. A  compatibilidade  das  opções  de  depuração  não  é  garantida  entre  os
              lançamentos  do findutils. Para obter uma lista completa das opções de depuração válidas, consulte
              a saída de find -D help. Opções de depuração válidas incluem

              exec   Mostra informações de diagnóstico relacionadas a -exec, -execdir, -ok e -okdir

              opt    Imprime informações de diagnóstico relacionadas à otimização da árvore de expressões;  veja
                     a opção -O.

              rates  Imprime um resumo indicando com que frequência cada predicado teve êxito ou falhou.

              search Navega na árvore de diretórios verbalmente.

              stat   As  mensagens  de  impressão como arquivos são examinadas com as chamadas do sistema stat e
                     lstat. O programa find tenta minimizar essas chamadas.

              tree   Mostra a árvore de expressão em sua forma original e otimizada.

              all    Habilita todas as outras opções de depuração (exceto help).

              help   Explica as opções de depuração.

       -Onível
              Habilita a otimização de consultas. O programa find reordena os testes para acelerar  a  execução,
              preservando  o  efeito  geral;  isto  é,  predicados com efeitos colaterais não são reordenados em
              relação um ao outro. As otimizações executadas em cada nível de otimização são as seguintes.

              0      Equivalente ao nível de otimização 1.

              1      Este é o nível  de  otimização  padrão  e  corresponde  ao  comportamento  tradicional.  As
                     expressões  são  reordenadas para que os testes baseados apenas nos nomes dos arquivos (por
                     exemplo, -name e -regex) sejam executados primeiro.

              2      Todos os testes -type ou -xtype são executados após quaisquer testes  baseados  apenas  nos
                     nomes  dos  arquivos,  mas antes de qualquer teste que exija informações do nó-i. Em muitas
                     versões modernas do Unix, os tipos de arquivo são retornados  por  readdir()  e,  portanto,
                     esses  predicados  são mais rápidos de avaliar do que os predicados que precisam declarar o
                     arquivo primeiro. Se você usar o predicado com -fstype FOO  e  especificar  um  sistema  de
                     arquivos  tipo  FOO que não seja conhecido (ou seja, presente em `/etc/mtab') no momento em
                     que find for iniciado, esse predicado é equivalente a -false.

              3      Nesse nível de otimização, o otimizador  de  consultas  completo  baseado  em  custos  está
                     ativado.  A  ordem  dos  testes  é modificada para que os testes baratos (ou seja, rápidos)
                     sejam executados primeiro e os mais caros sejam realizados posteriormente,  se  necessário.
                     Dentro  de  cada  faixa  de  custo, os predicados são avaliados mais cedo ou mais tarde, de
                     acordo com a probabilidade de êxito ou não. Para -o, os  predicados  com  probabilidade  de
                     êxito  são  avaliados anteriormente e para -a, os predicados com probabilidade de falha são
                     avaliados anteriormente.

              O otimizador baseado em custos tem uma ideia fixa da probabilidade de  um  determinado  teste  ser
              bem-sucedido. Em alguns casos, a probabilidade leva em consideração a natureza específica do teste
              (por  exemplo,  presume-se  que  -type f  seja  mais provável que seja bem-sucedido que -type c) O
              otimizador baseado em custos está sendo avaliado no  momento.  Se,  na  verdade,  não  melhorar  o
              desempenho  de  find,  ele  será  removido  novamente.  Por outro lado, otimizações que provam ser
              confiáveis, robustas e eficazes podem ser ativadas em níveis mais baixos de otimização ao longo do
              tempo. No entanto, o comportamento padrão (ou seja, nível de otimização 1) não  será  alterado  na
              série  de versões 4.3.x. O conjunto de testes do findutils executa todos os testes em find em cada
              nível de otimização e garante que o resultado seja o mesmo.

EXPRESSÃO

       A parte da linha de comando após a lista de  pontos  de  partida  é  a  expressão.  Esse  é  um  tipo  de
       especificação  de  consulta que descreve como correspondemos aos arquivos e o que fazemos com os arquivos
       correspondentes. Uma expressão é composta por uma sequência de coisas:

       Testes Os testes retornam um valor verdadeiro ou falso, geralmente com base em alguma propriedade  de  um
              arquivo  que  estamos  considerando.  O  teste  -empty,  por exemplo, é verdadeiro apenas quando o
              arquivo atual está vazio.

       Ações  As ações têm efeitos colaterais (como imprimir algo na saída  padrão)  e  retornam  verdadeiro  ou
              falso,  geralmente  com  base no êxito ou não delas. A ação -print, por exemplo, imprime o nome do
              arquivo atual na saída padrão.

       Opções globais
              As opções globais afetam a operação de testes e ações especificados em qualquer parte da linha  de
              comandos.  As  opções  globais sempre retornam verdadeiras. A opção profundidade, por exemplo, faz
              com que find percorra o sistema de arquivos em uma ordem profunda.

       Opções posicionais
              As opções posicionais afetam apenas testes ou ações que os seguem. As  opções  posicionais  sempre
              retornam  verdadeiras.  A  opção -regextype, por exemplo, é posicional, especificando o dialeto da
              expressão regular para expressões regulares que ocorrem posteriormente na linha de comando.

       Operadores
              Os operadores juntam os outros itens da expressão. Eles incluem, por exemplo, -o (significando  OU
              lógico) e -a (significando E lógico). Onde um operador está ausente, -a é presumido.

       A  ação  -print é realizada em todos os arquivos para os quais toda a expressão é verdadeira, a menos que
       ela contenha uma ação além de -prune ou -quit. As ações que inibem o -print padrão  são  -delete,  -exec,
       -execdir, -ok, -okdir, -fls, -fprint, -fprintf, -ls, -print e -printf.

       A ação -delete também atua como uma opção (uma vez que implica -depth).

   OPÇÕES POSICIONAIS
       As   opções   posicionais  sempre  retornam  verdadeiras.  Eles  afetam  apenas  os  testes  que  ocorrem
       posteriormente na linha de comando.

       -daystart
              Mede tempos (para -amin, -atime, -cmin, -ctime, -mmin e -mtime) desde o início de hoje  e  não  24
              horas atrás. Esta opção afeta apenas os testes que aparecem mais tarde na linha de comando.

       -follow
              Descontinuada;  use  a  opção -L. Desreferencia links simbólicos. Implica -noleaf. A opção -follow
              afeta apenas os testes que aparecem depois na linha de comando. A menos que a opção -H ou -L tenha
              sido especificada, a posição da opção -follow altera o comportamento do predicado -newer; todos os
              arquivos listados como argumento de -newer serão desreferenciados se  forem  links  simbólicos.  A
              mesma  consideração  se  aplica  a  -newerXY, -anewer e -cnewer. Da mesma forma, o predicado -type
              sempre corresponderá ao tipo de arquivo ao qual um link simbólico aponta, em vez do próprio  link.
              Usar -follow faz com que os predicados -lname e -ilname sempre retornem falso.

       -regextype tipo
              Altera  a  sintaxe  da  expressão  regular  entendida  pelos  testes  -regex e -iregex que ocorrem
              posteriormente na linha de comando. Para ver quais tipos de expressão regular são conhecidos,  use
              -regextype help.  A  documentação  do  Texinfo  (consulte  VEJA TAMBÉM) explica o significado e as
              diferenças entre os vários tipos de expressão regular.

       -warn, -nowarn
              Ativa ou desativa as mensagens de aviso. Esses avisos  se  aplicam  apenas  ao  uso  da  linha  de
              comando,  não  a  quaisquer  condições  que  find  ao encontrar diretórios. O comportamento padrão
              corresponde a -warn se a entrada padrão for um tty e a -nowarn caso contrário. Se uma mensagem  de
              aviso  relacionada  ao  uso da linha de comandos for produzida, o status de saída de find não será
              afetado. Se a variável de ambiente POSIXLY_CORRECT estiver configurada e -warn também  for  usado,
              não será especificado quais avisos, se houver algum, estarão ativos.

   OPÇÕES GLOBAIS
       As  opções  globais  sempre retornam verdadeiras. As opções globais entram em vigor mesmo para testes que
       ocorrem  anteriormente  na  linha  de  comando.  Para  evitar  confusão,  as  opções  globais  devem  ser
       especificadas  na  linha  de  comando  após a lista de pontos de partida, imediatamente antes do primeiro
       teste, opção posicional ou ação. Se você especificar uma opção global em algum outro lugar, find  emitirá
       uma mensagem de aviso explicando que isso pode ser confuso.

       As opções globais ocorrem após a lista de pontos de início e, portanto, não são o mesmo tipo de opção que
       -L, por exemplo.

       -d     Um sinônimo para -depth, para compatibilidade com FreeBSD, NetBSD, MacOS X e OpenBSD.

       -depth Processa o conteúdo de cada diretório antes do próprio diretório. A ação de -delete também implica
              em -depth.

       -help, --help
              Imprime um resumo do uso da linha de comando de find e sai.

       -ignore_readdir_race
              Normalmente, find emite uma mensagem de erro quando falha ao declarar um arquivo. Se você der essa
              opção  e um arquivo for excluído entre o momento em que find lê o nome do arquivo no diretório e o
              momento em que ele tenta estatizá-lo, nenhuma mensagem de erro será emitida. Isso também se aplica
              a arquivos ou diretórios cujos nomes são dados na linha de comando. Essa opção entra em  vigor  no
              momento  em que a linha de comando é lida, o que significa que você não pode procurar uma parte do
              sistema de arquivos com essa opção ativada e outra parte com esta opção  desativada  (se  precisar
              fazer  isso,  será  necessário  emitir dois comandos find em vez disso, um com a opção e outro sem
              ela).

              Além disso, find com a opção -ignore_readdir_race ignorará os erros da ação -delete caso o arquivo
              tenha desaparecido desde que o diretório pai foi lido: ele não emitirá um diagnóstico de erro e  o
              retorno o código da ação -delete será verdadeiro.

       -maxdepth níveis
              Desce  no  máximo  níveis  (um  número  inteiro  não  negativo) de diretórios abaixo dos pontos de
              partida. -maxdepth 0 significa aplicar apenas os testes e ações aos próprios pontos de partida.

       -mindepth níveis
              Não aplica nenhum teste ou ação em níveis inferiores a níveis (um número  inteiro  não  negativo).
              -mindepth 1 significa processar todos os arquivos, exceto os pontos de partida.

       -mount Não  desce  diretórios  em  outros  sistemas  de  arquivos.  Um  nome alternativo para -xdev, para
              compatibilidade com outras versões do find.

       -noignore_readdir_race
              Desativa o efeito de -ignore_readdir_race.

       -noleaf
              Não otimiza presumindo que os diretórios contenham 2 subdiretórios a menos do que  a  contagem  de
              links  físicos.  Essa  opção  é  necessária  ao  pesquisar  sistemas  de arquivos que não seguem a
              convenção de link de diretório Unix, como sistemas de arquivos  CD-ROM  ou  MS-DOS  ou  pontos  de
              montagem  de volume do AFS. Cada diretório em um sistema de arquivos Unix normal possui pelo menos
              2 links físicos: seu nome e sua entrada ".". Além disso, seus subdiretórios  (se  houver)  possuem
              uma  entrada  ".." vinculada a esse diretório. Quando find está examinando um diretório, depois de
              declarar 2 subdiretórios a menos que a contagem de links do diretório, ele sabe que o restante das
              entradas no diretório são não-diretórios (arquivos "folhas" na árvore de diretórios). Se apenas os
              nomes dos arquivos precisam ser examinados, não há necessidade de especificá-los; isso proporciona
              um aumento significativo na velocidade da pesquisa.

       -version, --version
              Imprime o número de versão do find e sai.

       -xdev  Não desce diretórios em outros sistemas de arquivos.

   TESTES
       Alguns testes, por exemplo, -newerXY e -samefile, permitem a comparação entre o arquivo  que  está  sendo
       examinado  no momento e algum arquivo de referência especificado na linha de comando. Quando esses testes
       são usados, a interpretação do arquivo de referência é determinada pelas opções -H, -L e  -P  e  qualquer
       -follow  anterior,  mas  o arquivo de referência é examinado apenas uma vez, no momento em que a linha de
       comando é analisada. Se o arquivo de referência não puder  ser  examinado  (por  exemplo,  a  chamada  do
       sistema  stat(2) falha para isso), uma mensagem de erro será emitida e find sairá com um status diferente
       de zero.

       Um argumento numérico n pode ser especificado para testes  (como  -amin,  -mtime,  -gid,  -inum,  -links,
       -size, -uid e -used) como

       +n     para maior que n,

       -n     para menor que n,

       n      para exatamente n.

       Testes suportados:

       -amin n
              O arquivo foi acessado pela última vez há menos, mais ou exatamente n minutos atrás.

       -anewer referência
              O horário do último acesso ao arquivo atual é mais recente que o da última modificação de dados do
              arquivo  referência.  Se  referência  for  um  link simbólico e a opção -H ou -L estiver em vigor,
              sempre será usado o horário da última modificação de dados do arquivo para o qual ele aponta.

       -atime n
              O arquivo foi acessado pela última vez há menos, mais ou exatamente n*24 horas atrás. Quando  find
              descobre quantos períodos de 24 horas atrás o arquivo foi acessado pela última vez, qualquer parte
              fracionária  será  ignorada;  portanto,  para  corresponder  a -atime +1, um arquivo deve ter sido
              acessado pelo menos dois dias atrás.

       -cmin n
              O status do arquivo foi alterado pela última vez há menos, mais ou exatamente n minutos atrás.

       -cnewer referência
              O horário do última alteração do  status  do  arquivo  atual  é  mais  recente  que  o  da  última
              modificação de dados do arquivo referência. Se referência for um link simbólico e a opção -H ou -L
              estiver  em  vigor,  sempre  será usado o horário da última modificação de dados do arquivo para o
              qual ele aponta.

       -ctime n
              O status do arquivo foi alterado pela última vez há menos, mais ou exatamente  n*24  horas  atrás.
              Consulte  os comentários para -atime para entender como o arredondamento afeta a interpretação dos
              tempos de alteração do status do arquivo.

       -empty O arquivo está vazio e é um arquivo comum ou um diretório.

       -executable
              Corresponde a arquivos executáveis e diretórios pesquisáveis (no sentido da resolução do  nome  do
              arquivo)  pelo  usuário  atual. Isso leva em consideração as listas de controle de acesso e outros
              artefatos de permissões que o teste  -perm  ignora.  Este  teste  utiliza  a  chamada  de  sistema
              access(2)  e,  portanto,  pode  ser  enganado por servidores NFS que fazem o mapeamento de UID (ou
              esmagamento da raiz), pois muitos sistemas implementam access(2) no kernel do cliente e, portanto,
              não pode fazer uso das informações de mapeamento do UID mantidas no servidor. Como  esse  teste  é
              baseado  apenas  no  resultado  da chamada do sistema access(2), não há garantia de que um arquivo
              para o qual esse teste seja bem-sucedido possa realmente ser executado.

       -false Sempre falso.

       -fstype tipo
              O arquivo está em um sistema de arquivos do tipo tipo. Os tipos de  sistema  de  arquivos  válidos
              variam entre diferentes versões do Unix; uma lista incompleta de tipos de sistemas de arquivos que
              são aceitos em alguma versão do Unix ou em outra é: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K. Você
              pode usar -printf com a diretiva %F para ver os tipos de seus sistemas de arquivos.

       -gid n O ID numérico do grupo do arquivo é menor, maior ou exatamente n.

       -group nome-grupo
              O arquivo pertence ao grupo nome-grupo (ID numérico do grupo permitido).

       -ilname padrão
              Como  -lname,  mas  a  correspondência  não  diferencia maiúsculas de minúsculas. Se a opção -L ou
              -follow estiver em vigor, esse teste  retornará  false,  a  menos  que  o  link  simbólico  esteja
              quebrado.

       -iname padrão
              Como -name, mas a correspondência não diferencia maiúsculas de minúsculas. Por exemplo, os padrões
              "fo*"  e "F??" correspondem aos nomes de arquivo "Foo" , "FOO", "foo", "fOo" etc. O padrão "*foo*"
              também corresponderá a um arquivo chamado ".foobar".

       -inum n
              O arquivo possui o número de nó-i menor, maior ou exatamente n. Normalmente, é mais fácil  usar  o
              teste -samefile.

       -ipath padrão
              Como -path, mas a correspondência não diferencia maiúsculas de minúsculas.

       -iregex padrão
              Como -regex, mas a correspondência não diferencia maiúsculas de minúsculas.

       -iwholename padrão
              Veja -ipath. Esta alternativa é menos portátil que -ipath.

       -links n
              O arquivo possui n links físico.

       -lname padrão
              O  arquivo  é  um  link  simbólico  cujo  conteúdo  corresponde  ao  padrão  de  shell  padrão. Os
              metacaracteres não tratam "/" ou "." em especial. Se a opção -L ou -follow estiver em vigor,  esse
              teste retornará false, a menos que o link simbólico esteja quebrado.

       -mmin n
              Os  dados  do  arquivo  foram  modificados  pela última vez há menos, mais ou exatamente n minutos
              atrás.

       -mtime n
              Os dados do arquivo foram modificados pela última vez há menor,  mais  ou  exatamente  n*24  horas
              atrás.  Consulte  os  comentários  para  -atime  para  entender  como  o  arredondamento  afeta  a
              interpretação dos tempos de alteração do status do arquivo.

       -name padrão
              A base do nome do arquivo (o caminho com os diretórios principais removidos) corresponde ao padrão
              de shell padrão. Como os diretórios principais são removidos, os nomes  de  arquivos  considerados
              para  uma  correspondência  com  -name  nunca  incluirão  uma  barra,  portanto, "-name a/b" nunca
              corresponderá a nada (você provavelmente precisará usar -path). Um  aviso  será  emitido  se  você
              tentar  fazer  isso,  a  menos  que  a variável de ambiente POSIXLY_CORRECT esteja configurada. Os
              metacaracteres ("*", "?" e "[]") correspondem com um "." no início do nome da  base  (esta  é  uma
              alteração  no  findutils-4.2.2; consulte a seção CONFORMIDADE COM OS PADRÕES abaixo). Para ignorar
              um diretório e os arquivos nele, use prune em vez de verificar todos os arquivos na  árvore;  veja
              um  exemplo na descrição dessa ação. As chaves não são reconhecidas como especiais, apesar do fato
              de que alguns shells, incluindo o Bash, conferem às chaves um significado especial nos padrões  de
              shell.  A  correspondência  do  nome  do  arquivo  é  realizada  com o uso da função da biblioteca
              fnmatch(3). Não se esqueça de colocar o padrão entre aspas para protegê-lo da expansão pelo shell.

       -newer referência
              O horário do última modificação dos dados do  arquivo  atual  é  mais  recente  que  o  da  última
              modificação de dados do arquivo referência. Se referência for um link simbólico e a opção -H ou -L
              estiver  em  vigor,  sempre  será usado o horário da última modificação de dados do arquivo para o
              qual ele aponta.

       -newerXY referência
              É bem-sucedido se o registro de data e hora X do arquivo que está sendo considerado for mais  novo
              que  o registro de data e hora Y do arquivo referência. As letras X e Y podem ser qualquer uma das
              seguintes letras:

              a   O tempo de acesso do arquivo referência
              B   A tempo de criação do arquivo referência
              c   O tempo de alteração do status do nó-i de referência
              m   A tempo de modificação do arquivo referência
              t   referência é interpretado diretamente como um tempo

              Algumas combinações são inválidas; por exemplo, é inválido que X seja t. Algumas  combinações  não
              são  implementadas  em  todos os sistemas; por exemplo, B não é suportado em todos os sistemas. Se
              uma combinação inválida ou não suportada de XY  for  especificada,  ocorrerá  um  erro  fatal.  As
              especificações  de  tempo são interpretadas como para o argumento da opção -d do GNU date. Se você
              tentar usar o tempo de criação de um arquivo de referência e o tempo  de  criação  não  puder  ser
              determinado,  uma  mensagem de erro fatal será exibida. Se você especificar um teste que se refira
              ao tempo de criação dos arquivos que estão sendo examinados, esse teste falhará  nos  arquivos  em
              que o tempo de criação seja desconhecido.

       -nogroup
              Nenhum grupo corresponde ao ID número de grupo do arquivo.

       -nouser
              Nenhum usuário corresponde ao ID número de usuário do arquivo.

       -path padrão
              O  nome  do  arquivo corresponde ao padrão de shell padrão. Os metacaracteres de não tratam "/" ou
              "." de forma especial; então, por exemplo,
                  find . -path "./sr*sc"
              vai exibir uma entrada para um diretório chamado ./src/misc (se houver). Para ignorar  uma  árvore
              de  diretórios  inteira,  use prune em vez de verificar todos os arquivos na árvore. Observe que o
              teste de correspondência de padrões se aplica a todo o nome do arquivo, iniciando em um dos pontos
              de início nomeados na linha de comandos. Só faria sentido usar um nome de caminho absoluto aqui se
              o ponto inicial relevante também for um caminho absoluto. Isso significa que  este  comando  nunca
              corresponderá a nada:
                  find bar -path /foo/bar/meuarquivo -print
              Find compara o argumento -path com a concatenação de um nome de diretório e o nome base do arquivo
              que está sendo examinado. Como a concatenação nunca termina com uma barra, os argumentos -path que
              terminam  em  uma  barra  não  correspondem a nada (exceto talvez um ponto inicial especificado na
              linha de comando). O predicado -path também é suportado pelo find de HP-UX e faz parte  do  padrão
              POSIX 2008.

       -perm modo
              Os  bits  de  permissão do arquivo são exatamente modo (octal ou simbólico). Como é necessária uma
              correspondência exata, se você deseja  usar  este  formulário  para  modos  simbólicos,  pode  ser
              necessário  especificar  uma  sequência  de  modos  bastante  complexa.  Por  exemplo, "-perm g=w"
              corresponderá apenas aos arquivos que possuem o modo 0020  (ou  seja,  aqueles  para  os  quais  a
              permissão de gravação de grupo é a única permissão definida). É mais provável que você queira usar
              as  formas  "/" ou "-", por exemplo "-perm -g=w", que corresponde a qualquer arquivo com permissão
              de gravação em grupo. Veja a seção EXEMPLOS para alguns exemplos ilustrativos.

       -perm -modo
              Todos os bits de permissão modo são definidos para o arquivo.  Os  modos  simbólicos  são  aceitos
              nesta  forma, e geralmente é dessa maneira que você deseja usá-los. Você deve especificar "u", "g"
              ou "o" se usar um modo simbólico. Veja a seção EXEMPLOS para alguns exemplos ilustrativos.

       -perm /modo
              Qualquer um dos bits de permissão modo está definido para  o  arquivo.  Os  modos  simbólicos  são
              aceitos  neste formulário. Você deve especificar "u", "g" ou "o" se usar um modo simbólico. Veja a
              seção EXEMPLOS para alguns exemplos ilustrativos. Se nenhum  bit  de  permissão  em  modo  estiver
              definido,  esse  teste  corresponderá  a  qualquer  arquivo  (a ideia aqui é ser consistente com o
              comportamento de -perm -000).

       -perm +modo
              Isso não é mais suportado (e está descontinuado desde 2005). Use -perm /modo.

       -readable
              Corresponde a arquivos legíveis pelo usuário  atual.  Isso  leva  em  consideração  as  listas  de
              controle de acesso e outros artefatos de permissões que o teste -perm ignora. Este teste utiliza a
              chamada  de  sistema  access(2)  e,  portanto,  pode ser enganado pelos servidores NFS que fazem o
              mapeamento de UID (ou "root-squashing"), pois muitos sistemas implementam access(2) no  kernel  do
              cliente e, portanto, não pode usar as informações de mapeamento do UID mantidas no servidor.

       -regex padrão
              O  nome  do  arquivo  corresponde à expressão regular padrão. Esta é uma correspondência em todo o
              caminho, não uma pesquisa. Por exemplo, para corresponder a um arquivo chamado ./fubar3, você pode
              usar a expressão regular ".*bar." ou ".*b.*3", mas não "f.*r3". As expressões regulares entendidas
              por find são por padrão expressões regulares do Emacs (exceto que "." corresponde a caracteres  de
              nova linhas), mas isso pode ser alterado com a opção -regextype.

       -samefile nome
              O  arquivo  refere-se  ao  mesmo  nó-i  que nome. Quando -L está em vigor, isso pode incluir links
              simbólicos.

       -size n[cwbkMG]
              O arquivo usa menos, mais ou exatamente n unidades de espaço, arredondando para cima. Os seguintes
              sufixos podem ser usados:

              "b"    para blocos de 512 bytes (este é o padrão se nenhum sufixo for usado)

              "c"    para bytes

              "w"    para palavras com 2 bytes

              "k"    para kibibytes (KiB, unidades de 1024 bytes)

              "M"    para mebibytes (MiB, unidades de 1024 * 1024 = 1048576 bytes)

              "G"    para gibibytes (GiB, unidades de of * 1024 * 1024 = 1073741824 bytes)

              O tamanho é simplesmente o membro st_size do struct stat preenchido pela chamada do sistema  lstat
              (ou  stat),  arredondado  para  cima, como mostrado acima. Em outras palavras, é consistente com o
              resultado obtido para ls -l. Lembre-se de que os especificadores de formato "%k" e "%b" de -printf
              lidam com arquivos esparsos de maneira diferente. O sufixo "b" sempre indica blocos de 512 bytes e
              nunca blocos de 1024 bytes, o que é diferente do comportamento de -ls.

              Os prefixos + e - significam maior que e menor que, como de costume; ou seja, um tamanho exato  de
              n  unidades  não  corresponde.  Tenha em mente que o tamanho é arredondado para a próxima unidade.
              Portanto, -size -1M não é equivalente a -size -1048576c. O primeiro corresponde apenas a  arquivos
              vazios, o último corresponde a arquivos de 0 a 1.048.575 bytes.

       -true  Sempre verdadeiro.

       -type c
              Arquivo é do tipo c:

              b      especial de bloco (com buffer)

              c      especial de caractere (sem buffer)

              d      diretório

              p      encadeamento com nome (FIFO)

              f      arquivo regular

              l      link  simbólico; isso nunca é verdadeiro se a opção -L ou a opção -follow estiver em vigor,
                     a menos que o link simbólico esteja quebrado. Se  você  deseja  procurar  links  simbólicos
                     quando -L estiver em vigor, use -xtype.

              s      soquete

              D      door (Solaris)

              Para  procurar  mais de um tipo de uma vez, você pode fornecer a lista combinada de letras do tipo
              separadas por uma vírgula "," (extensão GNU).

       -uid n O ID numérico do usuário do arquivo é menor que, maior que ou exatamente n.

       -used n
              O arquivo foi acessado pela última vez há menos, mais ou exatamente n dias após a última alteração
              do status.

       -user nome-usuário
              O arquivo pertence ao usuário uname (ID numérico do usuário permitido).

       -wholename padrão
              Veja -path. Esta alternativa é menos portátil que -path.

       -writable
              Corresponde a arquivos graváveis pelo usuário atual.  Isso  leva  em  consideração  as  listas  de
              controle de acesso e outros artefatos de permissões que o teste -perm ignora. Este teste utiliza a
              chamada  de  sistema  access(2)  e,  portanto,  pode ser enganado pelos servidores NFS que fazem o
              mapeamento de UID (ou "root-squashing"), pois muitos sistemas implementam access(2) no  kernel  do
              cliente e, portanto, não pode usar as informações de mapeamento do UID mantidas no servidor.

       -xtype c
              O mesmo que -type, a menos que o arquivo seja um link simbólico. Para links simbólicos: se a opção
              -H  ou  -P  foi  especificada, verdadeiro se o arquivo for um link para um arquivo do tipo c; se a
              opção -L tiver sido fornecida, verdadeiro se c for "l". Em outras palavras, para links simbólicos,
              -xtype verifica o tipo de arquivo que -type não verifica.

       -context padrão
              (SELinux somente) O contexto de segurança do arquivo corresponde ao glob padrão.

   AÇÕES
       -delete
              Exclui arquivos; verdadeiro se a remoção for bem-sucedida. Se a remoção falhar,  uma  mensagem  de
              erro  será  emitida.  Se  -delete falhar, o status de saída de find será diferente de zero (quando
              eventualmente sair). O uso de -delete ativa automaticamente a opção "-depth".

              Avisos: Não se esqueça de que a linha de comando do find é avaliada como uma expressão,  portanto,
              colocar  -delete  primeiro  fará  com  que  find  tente  excluir  tudo  abaixo dos pontos iniciais
              especificados. Ao testar uma linha de comando find que você mais tarde pretende usar com  -delete,
              você  deve  especificar  explicitamente  -depth  para  evitar  surpresas posteriores. Como -delete
              implica -pth, você não pode usar -prune e -delete juntos.

              Junto com a opção -ignore_readdir_race, find ignorará os erros da  ação  -delete  caso  o  arquivo
              tenha  desaparecido desde que o diretório pai foi lido: ele não emitirá um diagnóstico de erro e o
              retorno o código da ação -delete será verdadeiro.

       -exec comando ;
              Executa comando; verdadeiro se 0 status for retornado. Todos os argumentos a seguir para find  são
              considerados argumentos para o comando até um argumento que consiste em ";" é encontrado. A string
              "{}"  é  substituída pelo nome do arquivo atual sendo processado em todos os lugares em que ocorre
              nos argumentos do comando, não apenas nos argumentos em que está sozinho, como em algumas  versões
              de  find.  Ambas  as  construções  podem  precisar  ser  escapadas  (com  um  "\") ou citadas para
              protegê-las da expansão pelo shell. Consulte a seção EXEMPLOS para exemplos de uso da opção -exec.
              O comando especificado é executado uma vez para cada arquivo correspondente. O comando é executado
              no diretório inicial. Existem problemas de segurança inevitáveis em torno do uso  da  ação  -exec;
              você deve usar a opção -execdir.

       -exec comando {} +
              Essa  variante da ação -exec executa o comando especificado nos arquivos selecionados, mas a linha
              de comando é construída anexando cada nome de arquivo selecionado no  final;  o  número  total  de
              invocações  do  comando  será  muito  menor  que  o número de arquivos correspondentes. A linha de
              comando é construída da mesma maneira que xargs  constrói  suas  linhas  de  comando.  Apenas  uma
              instância  de  "{}" é permitida dentro do comando e deve aparecer no final, imediatamente antes do
              "+"; ele precisa ser escapado (com um "\") ou entre aspas para protegê-lo  da  interpretação  pelo
              shell.  O  comando é executado no diretório inicial. Se alguma chamada com a forma "+" retornar um
              valor diferente de zero como status de saída, find retornará um status de saída diferente de zero.
              Se find encontrar um erro, às vezes pode causar uma  saída  imediata,  portanto,  alguns  comandos
              pendentes  podem  não  ser  executados. Por este motivo, -exec meu-comando ... {} + -quit pode não
              resultar em meu-comando ser executado. Esta variante de -exec sempre retorna verdadeiro.

       -execdir comando ;

       -execdir comando {} +
              Como -exec, mas  o  comando  especificado  é  executado  no  subdiretório  que  contém  o  arquivo
              correspondente,  que  normalmente  não  é  o diretório no qual você iniciou o find. Assim como com
              -exec, o {} deve ser citado se find estiver sendo chamado de um shell. Esse é um método muito mais
              seguro para chamar comandos, pois evita condições de corrida durante a resolução dos caminhos para
              os arquivos correspondentes. Assim como na ação -exec, o formulário "+"  de  -execdir  criará  uma
              linha de comando para processar mais de um arquivo correspondente, mas qualquer chamada de comando
              listará  apenas  os  arquivos  existentes  no  o  mesmo  subdiretório.  Se  você  usar esta opção,
              assegure-se de que sua variável de ambiente $PATH não faça referência a ".";  caso  contrário,  um
              invasor  poderá  executar qualquer comando que desejar, deixando um arquivo com nome apropriado em
              um diretório no qual você executará -execdir. O mesmo se aplica a ter entradas em $PATH vazias  ou
              que  não sejam nomes de diretório absolutos. Se qualquer chamada com a forma "+" retornar um valor
              diferente de zero como status de saída, find retornará um status de saída diferente  de  zero.  Se
              find  encontrar  um  erro, às vezes isso pode causar uma saída imediata; portanto, alguns comandos
              pendentes podem não ser executados. O resultado da ação depende se a variante + ou  ;  está  sendo
              usada;  -execdir comando {} +  sempre  retorna  verdadeiro, enquanto -execdir comando {} ; retorna
              verdadeiro somente se comando retornar 0.

       -fls arquivo
              Verdadeiro; como -ls, mas escreve para arquivo como -fprint. O arquivo de saída é  sempre  criado,
              mesmo  que  o predicado nunca seja correspondido. Consulte a seção NOMES DE ARQUIVOS INCOMUNS para
              obter informações sobre como os caracteres incomuns nos nomes de arquivos são tratados.

       -fprint arquivo
              Verdadeiro; imprime o nome completo do arquivo no arquivo arquivo. Se arquivo  não  existe  quando
              find  for executado, ele será criado; se existir, será truncado. Os nomes de arquivo /dev/stdout e
              /dev/stderr são tratados de forma especial; eles se referem à saída  padrão  e  à  saída  de  erro
              padrão,  respectivamente.  O  arquivo  de  saída é sempre criado, mesmo que o predicado nunca seja
              correspondido. Consulte a seção NOMES DE ARQUIVOS INCOMUNS para obter informações  sobre  como  os
              caracteres incomuns nos nomes de arquivos são tratados.

       -fprint0 arquivo
              Verdadeiro;  como  -print0,  mas  escreva  para  arquivo como -fprint. O arquivo de saída é sempre
              criado, mesmo que o predicado nunca  seja  correspondido.  Consulte  a  seção  NOMES  DE  ARQUIVOS
              INCOMUNS  para  obter  informações  sobre  como  os  caracteres incomuns nos nomes de arquivos são
              tratados.

       -fprintf arquivo formato
              Verdadeiro; como -printf, mas escreva para arquivo como -fprint.  O  arquivo  de  saída  é  sempre
              criado,  mesmo  que  o  predicado  nunca  seja  correspondido.  Consulte a seção NOMES DE ARQUIVOS
              INCOMUNS para obter informações sobre como os  caracteres  incomuns  nos  nomes  de  arquivos  são
              tratados.

       -ls    Verdadeiro;  lista o arquivo atual no formato ls -dils na saída padrão. As contagens de blocos são
              de blocos de 1 KB, a menos que a variável de ambiente POSIXLY_CORRECT  esteja  configurada;  nesse
              caso,  blocos  de  512  bytes  são  usados. Consulte a seção NOMES DE ARQUIVOS INCOMUNS para obter
              informações sobre como os caracteres incomuns nos nomes de arquivos são tratados.

       -ok comando ;
              Como -exec, mas pergunta ao usuário primeiro. Se o usuário  concordar,  executa  o  comando.  Caso
              contrário,  só retorna falso. Se o comando for executado, sua entrada padrão será redirecionada de
              /dev/null.

              A resposta ao prompt é comparada com um par de expressões  regulares  para  determinar  se  é  uma
              resposta  afirmativa  ou  negativa.  Essa  expressão  regular é obtida do sistema se a variável de
              ambiente "POSIXLY_CORRECT" estiver configurada ou, caso contrário, das traduções de  mensagens  de
              find.  Se  o sistema não tiver uma definição adequada, a própria definição de find será usada. Nos
              dois casos, a interpretação da própria expressão regular será afetada pelas variáveis de  ambiente
              "LC_CTYPE"  (classes  de  caracteres)  e  "LC_COLLATE"  (classes  de  equivalência e intervalos de
              caracteres).

       -okdir comando ;
              Como -execdir, mas pergunta ao usuário primeiro na mesma forma que para  -ok.  Se  o  usuário  não
              concordar,  só retorna falso. Se o comando for executado, sua entrada padrão será redirecionada de
              /dev/null.

       -print Verdadeiro; imprime o nome completo do arquivo na saída padrão, seguido por  uma  nova  linha.  Se
              você estiver canalizando a saída de find para outro programa e houver a menor possibilidade de que
              os  arquivos  que  você  está procurando possam conter uma nova linha, considere seriamente usar a
              opção -print0 em vez de -print. Consulte a seção NOMES DE ARQUIVOS INCOMUNS para obter informações
              sobre como os caracteres incomuns nos nomes de arquivos são tratados.

       -print0
              Verdadeiro; imprime o nome completo do arquivo na saída padrão, seguido por um caractere nulo  (em
              vez  do  caractere de nova linha que -print usa). Isso permite que nomes de arquivos que contenham
              novas linhas ou outros tipos de espaço em branco sejam corretamente  interpretados  por  programas
              que processam a saída do find. Esta opção corresponde à opção -0 de xargs.

       -printf formato
              Verdadeiro;  imprime  formato  na saída padrão, interpretando os escapes "\" e a diretivas "%". As
              larguras e precisões dos campos podem ser especificadas como na função C  printf(3).  Observe  que
              muitos  dos campos são impressos como %s em vez de %d, e isso pode significar que os sinalizadores
              não funcionam conforme o esperado. Isso também significa que o sinalizador "-" funciona (força  os
              campos  a  serem  alinhados  à  esquerda). Diferentemente de -print, -printf não adiciona uma nova
              linha no final da string. Os escapes e as diretrizes são:

              \a     Bipe de alarme.

              \b     Backspace.

              \c     Para de imprimir deste formato imediatamente e limpa a saída.

              \f     Alimentação de formulário.

              \n     Nova linha.

              \r     Carriage return.

              \t     Tabulação horizontal.

              \v     Tabulação vertical.

              \0     ASCII NULO

              \\     A versão literal de uma barra invertida ("\").

              \NNN   O caractere cujo código ASCII é NNN (octal).

              Um caractere "\" seguido por qualquer outro caractere é tratado como  caractere  comum,  portanto,
              ambos são impressos.

              %%     Um sinal de porcentagem literal.

              %a     Hora do último acesso do arquivo no formato retornado pela função C ctime(3).

              %Ak    Hora  do  último acesso do arquivo no formato especificado por k, que é "@" ou uma diretiva
                     para a função C strftime(3). A seguir é mostrada uma lista incompleta de valores  possíveis
                     para k. Por favor, consulte a documentação de strftime(3) para a lista completa. Alguns dos
                     caracteres  de especificação de conversão podem não estar disponíveis em todos os sistemas,
                     devido a diferenças na implementação da função de biblioteca strftime(3).

                     @      segundos desde 1º de jan, 1970, 00:00 GMT, com parte fracionária.

                     Campos de tempo:

                     H      hora (00..23)

                     I      hora (01..12)

                     k      hora ( 0..23)

                     l      hora ( 1..12)

                     M      minuto (00..59)

                     p      AM ou PM da localidade

                     r      tempo no formato 12 horas (hh:mm:ss [AP]M)

                     S      Segundo (00.00 .. 61.00). Há uma parte fracionária.

                     T      tempo no formato 24 horas (hh:mm:ss.xxxxxxxxxx)

                     +      Data e hora, separadas por "+", por  exemplo  "2004-04-28+22:22:05.0".  Esta  é  uma
                            extensão  GNU.  O  tempo  é  dado  no  fuso horário atual (que pode ser afetado pela
                            configuração da variável  de  ambiente  TZ).  O  campo  segundos  inclui  uma  parte
                            fracionária.

                     X      representação  do  tempo  da  localidade  (H:M:S). O campo segundos inclui uma parte
                            fracionária.

                     Z      fuso horário (por exemplo, EDT) ou nada se nenhum fuso horário for determinável

                     Campos de data:

                     a      nome abreviado do dia da semana da localidade (dom..sáb)

                     A      nome completo do dia da semana da localidade (domingo..sábado)

                     b      nome abreviado do dia do mês da localidade (jan..dez)

                     B      nome completo do dia do mês da localidade (janeiro..dezembro)

                     c      data e hora do local (sáb 04 nov 10:02:33 1989).  O  formato  é  o  mesmo  que  para
                            ctime(3)  e,  para  preservar  a  compatibilidade  com  esse  formato,  não há parte
                            fracionária no campo segundos.

                     d      dia do mês (01..31)

                     D      data (mm/dd/yy)

                     F      date (yyyy-mm-dd)

                     h      mesmo que b

                     j      dia do ano (001..366)

                     m      mês (01..12)

                     U      número da semana do ano com domingo como primeiro dia da semana (00..53)

                     w      dia da semana (0..6)

                     W      número da semana do ano com segunda-feira como primeiro dia da semana (00..53)

                     x      representação de data da localidade (dd/mm/yyyy)

                     y      últimos dois dígitos do ano (00..99)

                     Y      ano (1970...)

              %b     A quantidade de espaço em disco usada para esse arquivo em blocos  de  512  bytes.  Como  o
                     espaço  em  disco  é  alocado  em  múltiplos  do  tamanho  do bloco do sistema de arquivos,
                     geralmente é maior que %s/512, mas também pode ser  menor  se  o  arquivo  for  um  arquivo
                     esparso.

              %c     Hora do último tempo de alteração do arquivo no formato retornado pela função C ctime(3).

              %Ck    Tempo da última alteração de status do arquivo no formato especificado por k, que é o mesmo
                     que para %A.

              %d     Profundidade  do  arquivo  na árvore de diretórios; 0 significa que o arquivo é um ponto de
                     partida.

              %D     O número do dispositivo no qual o arquivo existe (o campo st_dev  da  estrutura  stat),  em
                     decimal.

              %f     Imprime  o  nome  base;  o  nome  do  arquivo com quaisquer diretórios principais removidos
                     (apenas o último elemento). Para /, o resultado é  "/".  Veja  a  seção  EXEMPLOS  para  um
                     exemplo.

              %F     Tipo do sistema de arquivos em que o arquivo está; esse valor pode ser usado para -fstype.

              %g     Nome do grupo do arquivo ou ID numérico do grupo, se o grupo não tiver um nome.

              %G     O ID numérico do grupo do arquivo.

              %h     Dirname;  os diretórios principais do nome do arquivo (todos, exceto o último elemento). Se
                     o nome do arquivo não contém barras (já que está no diretório atual), o especificador %h se
                     expande para ".". Para arquivos que são diretórios e contêm uma barra (incluindo /), %h  se
                     expande para a string vazia. Veja a seção EXEMPLOS para um exemplo.

              %H     Ponto de partida em que arquivo foi encontrado.

              %i     Número do nó-i do arquivo (em decimal).

              %k     A quantidade de espaço em disco usada para esse arquivo em blocos de 1 KB. Como o espaço em
                     disco é alocado em múltiplos do tamanho do bloco do sistema de arquivos, geralmente é maior
                     que %s/1024, mas também pode ser menor se o arquivo for um arquivo esparso.

              %l     Objeto do link simbólico (string vazia se o arquivo não for um link simbólico).

              %m     Bits  de  permissão  do arquivo (em octal). Esta opção usa os números "tradicionais" usados
                     pela maioria das implementações do Unix, mas se a  sua  implementação  específica  usa  uma
                     ordem  incomum  de bits de permissões octais, você verá uma diferença entre o valor real do
                     modo do arquivo e a saída de %m. Normalmente, você deseja ter  um  zero  à  esquerda  nesse
                     número e, para fazer isso, use o sinalizador # (como em, por exemplo, "%#m").

              %M     Permissões  do  arquivo  (em  forma  simbólica, como para ls). Esta diretiva é suportada no
                     findutils 4.2.5 e posterior.

              %n     Número de links físicos para o arquivo.

              %p     Nome do arquivo.

              %P     Nome do arquivo com o nome do ponto de partida sob o qual foi encontrado removido.

              %s     Tamanho do arquivo em bytes.

              %S     Escassez de arquivo. Isso é calculado como (TAMBLOCO*st_blocks/st_size). O valor exato  que
                     você  obterá  para  um  arquivo  comum de um determinado comprimento depende do sistema. No
                     entanto, arquivos normalmente esparsos terão valores menores que 1.0 e  arquivos  que  usam
                     blocos  indiretos podem ter um valor maior que 1.0. Em geral, o número de blocos usados por
                     um arquivo depende do sistema de arquivos. O valor usado para TAMBLOCO depende do  sistema,
                     mas  geralmente  é  de  512  bytes. Se o tamanho do arquivo for zero, o valor impresso será
                     indefinido. Em sistemas que não têm suporte  a  st_blocks,  a  escassez  de  um  arquivo  é
                     presumida como 1.0.

              %t     Hora da última modificação do arquivo no formato retornado pela função C ctime(3).

              %Tk    Tempo  da  última  modificação  do arquivo no formato especificado por k, que é o mesmo que
                     para %A.

              %u     Nome do usuário do arquivo ou ID numérico do usuário, se o usuário não tiver um nome.

              %U     O ID numérico do usuário do arquivo.

              %y     Tipo do arquivo (como em ls -l), U=tipo desconhecido (não deveria ocorrer)

              %Y     Tipo do arquivo (como  %y),  somado  a  seguir  links  simbólicos:  "L"=repetição,  "N"=não
                     existente, "?" para qualquer outro erro ao determinar o tipo do alvo de um link simbólico.

              %Z     (apenas SELinux) contexto de segurança do arquivo.

              %{ %[ %(
                     Reservado para uso futuro.

              Um  caractere  "%"  seguido  por  qualquer  outro  caractere é descartado, mas o outro caractere é
              impresso (não conte com isso, pois outros caracteres de formato podem ser introduzidos). Um "%" no
              final do argumento de formato causa um comportamento indefinido, pois não há  caractere  seguinte.
              Em  algumas  localidades,  ele  pode ocultar as chaves da porta, enquanto em outros pode remover a
              página final do romance que você está lendo.

              As diretivas %m e %d suportam os sinalizadores #, 0 e +, mas as outras diretivas  não,  mesmo  que
              imprimam  números. As diretivas numéricas que não suportam esses sinalizadores incluem G, U, b, D,
              k e n. O sinalizador de formato "-" é suportado e muda o alinhamento de um campo de justificado  à
              direita (que é o padrão) para justificado à esquerda.

              Consulte  a  seção  NOMES  DE  ARQUIVOS  INCOMUNS  para obter informações sobre como os caracteres
              incomuns nos nomes de arquivos são tratados.

       -prune Verdadeiro; se o arquivo for um diretório, não entra nele. Se -depth for dado,  então  -prune  tem
              nenhum efeito. Porque -delete implica em -depth, você não pode usar de forma útil -prune e -delete
              juntos.   Por  exemplo,  para  pular o diretório src/emacs e todos os arquivos e diretórios dentro
              dele, e imprimir os nomes dos outros arquivos encontrados, faça algo como isso aqui:
                  find . -path ./src/emacs -prune -o -print

       -quit  Sai imediatamente (com valor de retorno zero se nenhum erro tiver ocorrido). Isso é  diferente  de
              -prune porque -prune só se aplica ao conteúdo de diretórios removidos, enquanto -quit simplesmente
              faz  com  que  find  pare imediatamente. Nenhum processo filho será deixado em execução. Quaisquer
              linhas de comando que foram criadas por -exec ... + ou -execdir ... + são  invocadas  antes  de  o
              programa ser encerrado. Depois que -quit for executado, nenhum outro arquivo especificado na linha
              de  comando  será  processado. Por exemplo, `find /tmp/foo /tmp/bar -print -quit` imprimirá apenas
              `/tmp/foo`.
              Um uso comum de -quit é parar de pesquisar o sistema de arquivos  assim  que  encontrarmos  o  que
              queremos. Por exemplo, se quisermos encontrar apenas um único arquivo, podemos fazer o seguinte:
                  find / -name needle -print -quit

   OPERADORES
       Listados em ordem decrescente de precedência:

       ( expr )
              Força  a  precedência.  Como  os parênteses são especiais para o shell, normalmente você precisará
              colocá-los entre aspas. Muitos dos exemplos nesta página de manual  usam  barras  invertidas  para
              este propósito: "\(...\)" em vez de "(...)".

       ! expr Verdadeiro  se  expr  for  falso.  Esse  caractere  geralmente também precisará de proteção contra
              interpretação pelo shell.

       -not expr
              Mesmo que ! expr, mas não compatível com POSIX.

       expr1 expr2
              Duas expressões em uma linha são consideradas unidas com um -a implícito; expr2 não é avaliado  se
              expr1 for falso.

       expr1 -a expr2
              Mesmo que expr1 expr2.

       expr1 -and expr2
              Mesmo que expr1 expr2, mas não compatível com POSIX.

       expr1 -o expr2
              Ou; expr2 não é avaliado se expr1 for falso.

       expr1 -or expr2
              Mesmo que expr1 -o expr2, mas não compatível com POSIX.

       expr1 , expr2
              Lista; ambos expr1 e expr2 são sempre avaliados. O valor de expr1 é descartado; o valor da lista é
              o  valor  de  expr2.  O  operador  vírgula pode ser útil para pesquisar vários tipos diferentes de
              coisas, mas percorrer a hierarquia do sistema de arquivos apenas uma vez. A ação -fprintf pode ser
              usada para listar os vários itens correspondentes em vários arquivos de saída diferentes.

       Observe que -a quando especificado implicitamente (por exemplo, por  dois  testes  que  aparecem  sem  um
       operador  explícito entre eles) ou explicitamente tem precedência mais alta do que -o. Isso significa que
       find . -name arquivoa -o -name arquivob -print nunca imprimirá um arquivoa.

NOMES DE ARQUIVOS INCOMUNS

       Muitas das ações de find resultam na impressão de dados que estão sob o controle de outros usuários. Isso
       inclui nomes de arquivos, tamanhos, horários de modificação e assim por diante. Os nomes dos arquivos são
       um problema potencial, pois podem conter qualquer caractere, exceto "\0" e "/".  Caracteres  incomuns  em
       nomes  de  arquivo  podem  causar coisas inesperadas e frequentemente indesejáveis ​​em seu terminal (por
       exemplo, alterar as configurações de suas teclas de função em alguns terminais). Caracteres incomuns  são
       tratados de forma diferente por várias ações, conforme descrito abaixo.

       -print0, -fprint0
              Sempre imprime o nome do arquivo exato, inalterado, mesmo se a saída for para um terminal.

       -ls, -fls
              Caracteres  incomuns sempre têm escape. Os caracteres de espaço em branco, barra invertida e aspas
              duplas são impressos usando escape no estilo  C  (por  exemplo,  `\f',  `\"').  Outros  caracteres
              incomuns  são  impressos usando escape octal. Outros caracteres imprimíveis (para -ls e -fls esses
              são os caracteres entre octal 041 e 0176) são impressos no estado em que se encontram.

       -printf, -fprintf
              Se a saída não for para um terminal, ela  será  impressa  no  estado  em  que  se  encontra.  Caso
              contrário, o resultado depende de qual diretiva está em uso. As diretivas %D, %F, %g, %G, %H, %Y e
              %y  se  expandem  para  valores que não estão sob controle dos donos dos arquivos e, portanto, são
              impressos no estado em que se encontram. As diretivas %a, %b, %c, %d, %i, %k, %m, %M, %n, %s,  %t,
              %u  e %U têm valores que estão sob o controle dos donos dos arquivos, mas que não podem ser usados
              ​​para enviar dados arbitrários para o terminal e, portanto, são impressos no  estado  em  que  se
              encontram. As diretivas %f, %h, %l, %p e %P são colocadas entre aspas. Esta forma de colocar entre
              aspas  é  realizada da mesma maneira que para GNU ls. Este não é o mesmo mecanismo de uso de aspas
              usado para -ls e -fls. Se você for capaz de decidir qual formato usar para a saída do find,  então
              normalmente  é  melhor  usar  `\0'  como  um terminador do que usar nova linha, já que os nomes de
              arquivo podem conter espaços em branco e caracteres de nova linha. A configuração da  variável  de
              ambiente "LC_CTYPE" é usada para determinar quais caracteres precisam ser colocado entre aspas.

       -print, -fprint
              A  uso de aspas é tratado da mesma maneira que para -printf e -fprintf . Se estiver usando find em
              um script ou em uma situação em que os arquivos correspondentes possam ter nomes arbitrários, você
              deve considerar o uso de -print0 em vez de -print.

       As ações -ok e -okdir imprimem o nome do arquivo atual no estado em que se encontra. Isso pode  mudar  em
       uma versão futura.

CONFORMIDADE COM OS PADRÕES

       Para  uma  conformidade  mais  próxima  do  padrão  POSIX,  você  deve  definir  a  variável  de ambiente
       POSIXLY_CORRECT. As seguintes opções são especificadas  no  padrão  POSIX  (IEEE  Std  1003.1-2008,  2016
       Edition):

       -H     Está opção é suportada.

       -L     Está opção é suportada.

       -name  Esta  opção  é suportada, mas a conformidade com POSIX depende da conformidade com POSIX da função
              de biblioteca fnmatch(3) do sistema. A partir de findutils-4.2.2, os metacaracteres de shell ("*",
              "?" ou "[]", por exemplo) correspondem a um "." inicial, porque a interpretação 126 do  IEEE  PASC
              requer isso. Esta é uma mudança em relação às versões anteriores do findutils.

       -type  Suportado.  POSIX  especifica  "b",  "c",  "d",  "l", "p", "f" e "s". GNU find também suporta "D",
              representando uma porta, onde o sistema operacional os fornece. Além disso, GNU find  permite  que
              vários tipos sejam especificados de uma vez em uma lista separada por vírgulas.

       -ok    Suportado.  A  interpretação da resposta é de acordo com os padrões "yes" e "no" selecionados pela
              configuração  da  variável  de   ambiente   "LC_MESSAGES".   Quando   a   variável   de   ambiente
              "POSIXLY_CORRECT"  é  definida,  esses  padrões  são  considerados  a  definição do sistema de uma
              resposta positiva (yes) ou negativa (no). Consulte a documentação do sistema para  nl_langinfo(3),
              em  particular YESEXPR e NOEXPR. Quando "POSIXLY_CORRECT" não é definido, os padrões são retirados
              do próprio catálogo de mensagens de find.

       -newer Suportado. Se o arquivo especificado for um link simbólico, ele sempre terá a desreferência.  Esta
              é  uma mudança do comportamento anterior, que costumava tirar o tempo relevante do link simbólico;
              veja a seção HISTÓRICO abaixo.

       -perm  Suportado. Se a variável de ambiente POSIXLY_CORRECT não for definida, alguns argumentos  de  modo
              (por  exemplo,  +a+x) que não são válidos em POSIX são suportados para compatibilidade com versões
              anteriores.

       Outros primários
              Os primários -atime, -ctime, -depth, -exec, -group, -links, -mtime, -nogroup, -nouser, -ok, -path,
              -print, -prune, -size, -user e -xdev são todos suportados.

       O padrão POSIX especifica parênteses "(", ")", negação "!" e os operadores lógicos E/OU -a e -o.

       Todas as outras opções, predicados, expressões e assim por diante são extensões  além  do  padrão  POSIX.
       Muitas dessas extensões não são exclusivas do GNU find, entretanto.

       O padrão POSIX requer que o find detecte loops:

              O  utilitário  find  deve  detectar  loops  infinitos;  ou  seja,  inserir  um  diretório visitado
              anteriormente que é um ancestral do último arquivo encontrado. Ao detectar  um  loop  infinito,  o
              find  deve escrever uma mensagem de diagnóstico para o erro padrão e deve recuperar sua posição na
              hierarquia ou terminar.

       GNU find está em conformidade com esses requisitos. A contagem de links de diretórios que contêm entradas
       que são links físicos para um ancestral geralmente será menor do que deveria ser.  Isso  pode  significar
       que  o  GNU  find às vezes otimiza a visita a um subdiretório que é na verdade um link para um ancestral.
       Como o find não entra em tal subdiretório, é permitido evitar a emissão de uma mensagem  de  diagnóstico.
       Embora  esse  comportamento  possa  ser um tanto confuso, é improvável que alguém realmente dependa desse
       comportamento. Se a otimização de folha foi desativada com -noleaf, a entrada do  diretório  sempre  será
       examinada  e  a  mensagem de diagnóstico será emitida onde for apropriado. Links simbólicos não podem ser
       usados ​​para criar ciclos de sistema de arquivos como tal, mas se a opção -L ou a opção -follow  estiver
       em  uso,  uma  mensagem  de  diagnóstico é emitida quando find encontra um loop de links simbólicos. Como
       acontece com os loops que contêm links físicos, a otimização de folha frequentemente significa  que  find
       sabe   que  não  precisa  chamar  stat()  ou  chdir()  no  link  simbólico,  portanto,  esse  diagnóstico
       frequentemente não é necessário.

       A opção -d é suportada para compatibilidade  com  vários  sistemas  BSD,  mas  você  deve  usar  a  opção
       compatível com POSIX -depth.

       A  variável ambiente POSIXLY_CORRECT não afeta o comportamento dos testes -regex ou -iregex, porque estes
       testes não são especificados no padrão POSIX.

VARIÁVEIS DE AMBIENTE

       LANG   Fornece um valor padrão para as variáveis ​​de internacionalização que não estão definidas ou  são
              nulas.

       LC_ALL Se  definido  como um valor de string não vazio, substitui os valores de todas as outras variáveis
              ​​de internacionalização.

       LC_COLLATE
              O padrão POSIX especifica que esta variável afeta a correspondência de padrões a ser usada para  a
              opção  -name.  GNU  find  usa  a  função  de  biblioteca  fnmatch(3)  e,  portanto, o suporte para
              `LC_COLLATE' depende da biblioteca do sistema. Essa  variável  também  afeta  a  interpretação  da
              resposta  para  -ok;  enquanto  a  variável  `LC_MESSAGES'  seleciona  o  padrão  atual usado para
              interpretar a resposta para -ok, a interpretação de quaisquer expressões entre colchetes no padrão
              será afetada por `LC_COLLATE'.

       LC_CTYPE
              Essa variável afeta o tratamento das classes de  caracteres  usadas  nas  expressões  regulares  e
              também  com  o  teste  -name,  se a função da biblioteca fnmatch(3) do sistema suportar isso. Essa
              variável também afeta a interpretação de qualquer classe de  caractere  nas  expressões  regulares
              usadas  para  interpretar  a resposta ao prompt emitido por -ok. A variável de ambiente "LC_CTYPE"
              também afetará quais  caracteres  são  considerados  imprimíveis  quando  nomes  de  arquivos  são
              impressos; consulte a seção NOMES DE ARQUIVOS INCOMUNS.

       LC_MESSAGES
              Determina  o  local  a  ser  usado  para  mensagens internacionalizadas. Se a variável de ambiente
              `POSIXLY_CORRECT' for definida, isso também determina a interpretação da resposta ao prompt  feito
              pela ação -ok.

       NLSPATH
              Determina a localização dos catálogos de mensagens de internacionalização.

       PATH   Afeta  os  diretórios  que  são  pesquisados ​​para encontrar os executáveis ​​chamados por -exec,
              -execdir, -ok e -okdir.

       POSIXLY_CORRECT
              Determina o tamanho do bloco usado por -ls e -fls. Se POSIXLY_CORRECT for definido, os blocos  são
              unidades de 512 bytes. Caso contrário, eles são unidades de 1024 bytes.

              Definir essa variável também desativa as mensagens de aviso (ou seja, implica -nowarn) por padrão,
              porque  POSIX  requer  que,  além  da  saída  para -ok, todas as mensagens impressas em stderr são
              diagnósticos e devem resultar em um status de saída diferente de zero.

              Quando POSIXLY_CORRECT não está definido, -perm +zzz é tratado como -perm /zzz se +zzz não for  um
              modo  simbólico  válido.  Quando POSIXLY_CORRECT é definido, tais construções são tratadas como um
              erro.

              Quando POSIXLY_CORRECT é definido, a resposta ao prompt feito pela  ação  -ok  é  interpretada  de
              acordo  com  o  catálogo  de  mensagens  do sistema, ao contrário de de acordo com as traduções de
              mensagens do próprio find.

       TZ     Afeta o fuso horário usado para algumas das diretivas de formato relacionadas ao tempo de  -printf
              and -fprintf.

EXEMPLOS

   Abordagem simples de `find|xargs`
       •      Encontra arquivos com o nome core no ou abaixo do diretório /tmp e exclua-os.

                  $ find /tmp -name core -type f -print | xargs /bin/rm -f

              Observe  que  isso  não  funcionará  corretamente  se  houver nomes de arquivo que contenham novas
              linhas, aspas simples ou duplas ou espaços.

   Abordagem mais segura `find -print0 | xargs -0`
       •      Encontra arquivos com o nome core dentro ou sob o diretório /tmp e apaga-os, processando os  nomes
              dos  arquivos  de  forma  que  os  nomes dos arquivos ou diretórios que contenham aspas simples ou
              duplas, espaços ou novas linhas sejam tratados corretamente.

                  $ find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f

              O teste -name vem antes do teste -type para evitar ter que chamar stat(2) em cada arquivo.

       Observe que ainda há uma corrida entre o momento em que find atravessa a hierarquia imprimindo  os  nomes
       de arquivo correspondentes e o momento em que o processo executado por xargs funciona com aquele arquivo.

   Executando um comando para cada arquivo
       •      Executa arquivo em cada arquivo no diretório atual ou abaixo dele.

                  $ find . -type f -exec file '{}' \;

              Observe  que  as  chaves  são colocadas entre aspas simples para protegê-las de interpretação como
              pontuação de script de shell. O ponto e vírgula é protegido de forma semelhante pelo  uso  de  uma
              barra invertida, embora as aspas simples também possam ter sido usadas nesse caso.

       Em  muitos  casos,  pode-se  preferir  a sintaxe `-exec ... +` ou, melhor, `-execdir ... +` por razões de
       desempenho e segurança.

   Percorrendo o sistema de arquivos apenas uma vez -- para 2 ações diferentes
       •      Percorre o sistema de arquivos apenas uma vez,  listando  arquivos  e  diretórios  ID  de  usuário
              definido em /root/suid.txt e arquivos grandes em /root/big.txt.

                  $ find / \
                      \( -perm -4000 -fprintf /root/suid.txt '%#m %u %p\n' \) , \
                      \( -size +100M -fprintf /root/big.txt '%-10s %p\n' \)

              Este exemplo usa o caractere de continuação de linha '\' nas primeiras duas linhas para instruir o
              shell a continuar lendo o comando na próxima linha.

   Pesquisando arquivos por idade
       •      Procura arquivos em seu diretório inicial que foram modificados nas últimas vinte e quatro horas.

                  $ find $HOME -mtime 0

              Este  comando funciona assim porque o tempo decorrido desde a última modificação de cada arquivo é
              dividido por 24 horas e o restante é descartado. Isso significa que para corresponder a -mtime  0,
              um arquivo terá que ter uma modificação no passado, que é menos de 24 horas atrás.

   Pesquisando arquivos por permissões
       •      Pesquisa arquivos que são executáveis, mas não legíveis.

                  $ find /sbin /usr/sbin -executable \! -readable -print

       •      Pesquisa arquivos que tenham permissão de leitura e gravação para seu dono e grupo, mas que outros
              usuários possam ler, mas não podem escrever.

                  $ find . -perm 664

              Os  arquivos  que  atendem  a  esses  critérios,  mas  têm outros bits de permissão definidos (por
              exemplo, se alguém pode executar o arquivo), não serão correspondidos.

       •      Pesquisa arquivos que tenham permissão de leitura e escrita para seu dono e  grupo  e  que  outros
              usuários possam ler, independentemente da presença de bits de permissão extras (por exemplo, o bit
              executável).

                  $ find . -perm -664

              Isso corresponderá a um arquivo que possui o modo 0777, por exemplo.

       •      Pesquisa  por  arquivos  que  podem ser escritos por alguém (seu dono, seu grupo ou qualquer outra
              pessoa).

                  $ find . -perm /222

       •      Pesquisa os arquivos que podem ser escritos pelo dono ou pelo grupo.

                  $ find . -perm /220
                  $ find . -perm /u+w,g+w
                  $ find . -perm /u=w,g=w

              Todos os três comandos fazem a mesma coisa, mas o primeiro usa a representação octal  do  modo  de
              arquivo e os outros dois usam a forma simbólica. Os arquivos não precisam poder ser escritos tanto
              pelo dono quanto pelo grupo para serem combinados; qualquer um servirá.

       •      Pesquisa por arquivos que possam ser escritos tanto pelo dono quanto pelo grupo.

                  $ find . -perm -220
                  $ find . -perm -g+w,u+w

              Ambos os comandos fazem a mesma coisa.

       •      Uma pesquisa mais elaborada sobre permissões.

                  $ find . -perm -444 -perm /222 \! -perm /111
                  $ find . -perm -a+r -perm /a+w \! -perm /a+x

              Esses  dois comandos procuram arquivos que são legíveis para todos (-perm -444 ou -perm -a+r), têm
              pelo menos um conjunto de bits de escrita (-perm /222 ou -perm /a+w), mas não são executáveis para
              ninguém (!  -perm /111 ou ! -perm /a+x, respectivamente).

   Remoção (prune) - omitindo arquivos e subdiretórios
       •      Copia o conteúdo de /dir-origem para /dir-dest,  mas  omite  os  arquivos  e  diretórios  chamados
              .snapshot  (e qualquer coisa neles). Também omite arquivos ou diretórios cujo nome termina em '~',
              mas não seu conteúdo.

                  $ cd /dir-origem
                  $ find . -name .snapshot -prune -o \( \! -name '*~' -print0 \) \
                      | cpio -pmd0 /dir-dest

              A construção -prune -o \( ... -print0 \) é bastante comum. A ideia aqui é que a expressão antes de
              -prune corresponda às coisas que devem ser removidas. No entanto, a  ação  -prune  em  si  retorna
              verdadeiro,  então  o  -o  a  seguir  garante que o lado direito seja avaliado apenas para aqueles
              diretórios que não foram removidos (o conteúdo dos diretórios removidos nem  mesmo  é  visitado  ,
              então  seu conteúdo é irrelevante). A expressão do lado direito do -o está entre parênteses apenas
              para maior clareza. Ele enfatiza que a ação -print0 ocorre  apenas  para  coisas  que  não  tinham
              -prune  aplicado a elas. Como a condição "e" padrão entre os testes liga-se mais fortemente do que
              -o, este é o padrão  de  qualquer  maneira,  mas  os  parênteses  ajudam  a  mostrar  o  que  está
              acontecendo.

       •      Dado  o  seguinte  diretório de projetos e seus diretórios administrativos SCM associados, execute
              uma busca eficiente pelas raízes dos projetos:

                  $ find repo/ \
                      \( -exec test -d '{}/.svn' \; \
                      -or -exec test -d '{}/.git' \; \
                      -or -exec test -d '{}/CVS' \; \
                      \) -print -prune

              Amostra da saída:

                  repo/projeto1/CVS
                  repo/gnu/projeto2/.svn
                  repo/gnu/projeto3/.svn
                  repo/gnu/projeto3/src/.svn
                  repo/projeto4/.git

              Neste exemplo, -prune evita descida desnecessária em diretórios  que  já  foram  descobertos  (por
              exemplo, não pesquisamos projeto3/src porque já encontramos projeto3/.svn), mas garante diretórios
              irmãos (projeto2 e projeto3) são encontrados.

   Outros exemplos úteis
       •      Pesquisa vários tipos de arquivo.

                  $ find /tmp -type f,d,l

              Pesquisa  arquivos,  diretórios e links simbólicos no diretório /tmp passando esses tipos como uma
              lista separada por vírgulas (extensão GNU), que de outra forma é equivalente ao mais longo,  porém
              mais portátil:

                  $ find /tmp \( -type f -o -type d -o -type l \)

       •      Pesquisa  por  arquivos  com  o  nome específico agulha e para imediatamente quando encontrarmos o
              primeiro.

                  $ find / -name agulha -print -quit

       •      Demonstra a interpretação das diretivas de formato %f e %h  da  ação  -printf  para  alguns  casos
              extremos. Aqui está um exemplo incluindo alguma saída.

                  $ find . .. / /tmp /tmp/TRACE compile compile/64/tests/find -maxdepth 0 -printf '[%h][%f]\n'
                  [.][.]
                  [.][..]
                  [][/]
                  [][tmp]
                  [/tmp][TRACE]
                  [.][compile]
                  [compile/64/tests][find]

STATUS DE SAÍDA

       find sai com status 0 se todos os arquivos forem processados ​​com êxito, maior que 0 se ocorrerem erros.
       Esta  é  uma descrição deliberadamente muito ampla, mas se o valor de retorno for diferente de zero, você
       não deve confiar na exatidão dos resultados de find.

       Quando ocorre algum erro, find pode parar imediatamente, sem completar todas as ações especificadas.  Por
       exemplo,  alguns  pontos  de  partida  podem  não  ter  sido examinados ou algumas invocações de programa
       pendentes para -exec ... {} + ou -execdir ... {} + pode não ter sido executado.

HISTÓRICO

       A partir de findutils-4.2.2, os metacaracteres shell ("*", "?" ou "[]", por exemplo) usados em padrões de
       nome de arquivo correspondem a um "." inicial, porque a interpretação 126 do IEEE POSIX requer isso.

       A partir de findutils-4.3.3, -perm /000 agora corresponde a todos os arquivos em vez de nenhum.

       Marcas de data e hora com resolução em nanossegundos foram implementados em findutils-4.3.3.

       A partir de findutils-4.3.11, a ação -delete define o status de saída do find para um valor diferente  de
       zero quando falha. No entanto, find não será encerrado imediatamente. Anteriormente, o status de saída de
       find não era afetado pela falha de -delete.
       Recurso                Adicionado em   Também ocorre em
       -newerXY               4.3.3           BSD
       -D                     4.3.1
       -O                     4.3.1
       -readable              4.3.0
       -writable              4.3.0
       -executable            4.3.0
       -regextype             4.2.24
       -exec ... +            4.2.12          POSIX
       -execdir               4.2.12          BSD
       -okdir                 4.2.12
       -samefile              4.2.11
       -H                     4.2.5           POSIX
       -L                     4.2.5           POSIX
       -P                     4.2.5           BSD
       -delete                4.2.3
       -quit                  4.2.3
       -d                     4.2.3           BSD
       -wholename             4.2.0
       -iwholename            4.2.0
       -ignore_readdir_race   4.2.0
       -fls                   4.0
       -ilname                3.8
       -iname                 3.8
       -ipath                 3.8
       -iregex                3.8

       A  sintaxe  -perm  +MODO  foi  removida em findutils-4.5.12, em favor de -perm /MODO. A sintaxe +MODO foi
       descontinuada desde findutils-4.2.21, que foi lançado em 2005.

NÃO BUGS

   Surpresas de precedência de operadores
       O comando find . -name arquivoa -o -name arquivob -print  nunca  imprimirá  um  arquivoa  porque  isso  é
       equivalente  a find . -name arquivoa -o \( -name arquivob -a -print \). Lembre-se de que a precedência de
       -a é mais alta do que a de -o e quando não há operador especificado entre os testes, -a é presumido.

   Mensagem de erro “os caminhos devem preceder a expressão”
       $ find . -name *.c -print
       find: os caminhos devem preceder a expressão
       find: padrão possivelmente sem aspas após o predicado `-name'?

       Isso acontece quando o shell pode expandir o padrão *.c para mais de um  nome  de  arquivo  existente  no
       diretório atual e passar os nomes de arquivo resultantes na linha de comando para find assim:
       find . -name frcode.c locate.c word_io.c -print
       É  claro que esse comando não vai funcionar, porque o predicado -name permite exatamente apenas um padrão
       como argumento. Em vez de fazer as coisas dessa maneira, você  deve  colocar  o  padrão  entre  aspas  ou
       escapar  o caractere curinga, permitindo que find use o padrão com o caractere curinga durante a pesquisa
       de correspondência de nome de arquivo em vez de nomes de arquivo expandidos pelo shell pai:
       $ find . -name '*.c' -print
       $ find . -name \*.c -print

BUGS

       Existem problemas de segurança inerentes ao comportamento que o padrão POSIX especifica para  find,  que,
       portanto,  não  podem  ser corrigidos. Por exemplo, a ação -exec é inerentemente insegura e -execdir deve
       ser usado em seu lugar.

       A variável de ambiente LC_COLLATE não tem efeito na ação -ok.

RELATANDO PROBLEMAS

       Ajuda online do GNU findutils: <https://www.gnu.org/software/findutils/#get-help>
       Relate erros de tradução para <https://translationproject.org/team/pt_BR.html>.

       Relate outros problemas por meio do formulário no rastreador de bugs do GNU Savannah:
              <https://savannah.gnu.org/bugs/?group=findutils>
       Tópicos gerais sobre o pacote GNU findutils são discutidos na lista de discussão bug-findutils:
              <https://lists.gnu.org/mailman/listinfo/bug-findutils>

DIREITOS AUTORAIS

       Copyright © 1990-2021 Free Software Foundation, Inc. Licença  GPLv3+:  GNU  GPL  versão  3  ou  posterior
       <https://gnu.org/licenses/gpl.html>.
       Este  é  um  software  livre:  você é livre para alterá-lo e redistribuí-lo. NÃO HÁ QUALQUER GARANTIA, na
       máxima extensão permitida em lei.

VEJA TAMBÉM

       chmod(1), locate(1), ls(1), updatedb(1), xargs(1), lstat(2), stat(2),  ctime(3)   fnmatch(3),  printf(3),
       strftime(3), locatedb(5), regex(7)

       Documentação completa <https://www.gnu.org/software/findutils/find>
       Ou disponível localmente via: info find

TRADUÇÃO

       A   tradução   para   português   brasileiro   desta   página   man  foi  criada  por  Rafael  Fontenelle
       <rafaelff@gnome.org>

       Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou  posterior  para  as
       condições de direitos autorais.  Nenhuma responsabilidade é aceita.

       Se  você  encontrar  algum  erro  na  tradução  desta  página  de manual, envie um e-mail para a lista de
       discussão de tradutores.

                                                                                                         FIND(1)