Provided by: manpages-pt-br_4.27.0-1_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 "/". Alternativamente, é geralmente seguro, embora não portátil,
       usar a opção GNU -files0-from para passar pontos de partida arbitrários para find.

       -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.

              A reordenação de operações executadas pelo otimizador baseado em custo pode resultar em mudança de
              comportamento  visível  ao  usuário. Por exemplo, os predicados -readable e -empty são sensíveis à
              reordenação. Se eles forem executados na ordem -empty -readable, uma mensagem de erro será emitida
              para diretórios ilegíveis. Se eles forem executados na ordem -readable -empty, nenhuma mensagem de
              erro será emitida. Esta é a razão pela qual tal reordenação de operação não é executada  no  nível
              de otimização padrão.

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 -depth, 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. Se você não usar esta opção, find se
              comportará como se o tipo de expressão regular emacs tivesse sido especificado.

       -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.

       -files0-from arquivo
              Leia  os  pontos de partida de arquivo em vez de obtê-los na linha de comando. Em contraste com as
              limitações conhecidas de passar pontos de partida por meio de argumentos na linha  de  comando,  a
              saber,  a limitação da quantidade de nomes de arquivo e a ambiguidade inerente de nomes de arquivo
              colidindo com nomes de opção, usar esta opção permite passar com segurança um número arbitrário de
              pontos de partida para find.

              Usar esta opção e passar pontos de partida na linha de comando é mutuamente exclusivo e, portanto,
              não é permitido ao mesmo tempo.

              O argumento arquivo é obrigatório. Pode-se usar -files0-from - para  ler  a  lista  de  pontos  de
              partida  do  fluxo da entrada padrão e, por exemplo, de um pipe. Neste caso, as ações -ok e -okdir
              não são permitidas, porque elas obviamente interfeririam na leitura de entrada padrão  para  obter
              uma confirmação do usuário.

              Os  pontos  de  partida  em arquivo devem ser separados por caracteres ASCII NULO. Dois caracteres
              NULO consecutivos, ou seja, um ponto de partida com um nome de arquivo de comprimento Zero  não  é
              permitido  e levará a um diagnóstico de erro seguido por um código de saída diferente de Zero mais
              tarde.

              No caso de arquivo fornecido estar vazio, find não processa nenhum ponto de partida  e,  portanto,
              sairá imediatamente após analisar os argumentos do programa. Isso é diferente da invocação padrão,
              onde  find  assume  o  diretório  atual  como  ponto de partida se nenhum argumento de caminho for
              passado.

              O processamento dos pontos de partida é, de outra  forma,  como  de  costume,  por  exemplo,  find
              recursivamente  em  subdiretórios, a menos que seja impedido de outra forma. Para processar apenas
              os pontos de partida, pode-se passar adicionalmente -maxdepth 0.

              Outras notas: se um arquivo for listado mais de uma vez no arquivo de entrada, não é  especificado
              se ele é visitado mais de uma vez. Se o arquivo for mutado durante a operação de find, o resultado
              também  não é especificado. Finalmente, a posição de busca dentro do arquivo nomeado no momento em
              que find sai, seja com -quit ou de qualquer outra forma,  também  não  é  especificada.  Por  "não
              especificado"  aqui entende-se que ele pode ou não funcionar ou fazer qualquer coisa específica, e
              que o comportamento pode mudar de plataforma para plataforma, ou de versão findutils para versão.

       -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 dos nomes de arquivo são removidos, o padrão não
              deve incluir uma barra, porque `-name a/b' nunca corresponderá a nada (e você provavelmente deseja
              usar -path em vez disso). Uma exceção a isso é quando se usa apenas uma barra como padrão  (`-name
              /'),  porque  essa é uma string válida para corresponder ao diretório raiz "/" (porque o nome base
              de "/" é "/"). Um aviso é emitido se  você  tentar  passar  um  padrão  contendo  uma  -  mas  não
              consistindo  somente  de  uma  -  barra, a menos que a variável de ambiente POSIXLY_CORRECT esteja
              definida ou a opção -nowarn seja usada.

              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      socket

              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. Se um link simbólico for quebrado
              (porque o objeto para o qual ele aponta não existe ou o link aponta para si mesmo),  então  -xtype
              se comportará da mesma forma que -type.

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

   AÇÕES
       -delete
              Exclui  arquivos ou diretórios; verdadeiro se a remoção for bem-sucedida. Se a remoção falhar, uma
              mensagem de erro será emitida e o  status  de  saída  do  find  será  diferente  de  zero  (quando
              eventualmente sair).

              Aviso:  Não se esqueça de que find avalia a linha de comando como uma expressão, portanto, colocar
              -delete primeiro fará com que find tente excluir tudo abaixo dos pontos iniciais especificados.

              O uso da ação -delete na linha de comando ativa automaticamente a opção -depth. Como por  sua  vez
              -depth torna -prune ineficaz, a ação -delete não pode ser combinada de forma útil com -prune.

              Frequentemente,  o  usuário  pode  querer  testar  uma  linha  de comando find com -print antes de
              adicionar -delete para  a  execução  de  remoção  real.  Para  evitar  resultados  surpreendentes,
              geralmente  é  melhor  lembrar  de  usar  -depth  explicitamente  durante essas execuções de teste
              anteriores.

              A ação -delete vai falhar para remover um diretório a menos que esteja vazia.

              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, não
              alterará  o  código  de  saída  para  diferente  de zero 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. Esta ação não pode ser especificada junto com a opção -files0-from.

              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. Esta ação não pode ser especificada junto com a opção -files0-from.

       -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.

              %Bk    Hora  da criação do arquivo, no formato especificado por k, que é o mesmo que para %A. Esta
                     diretiva produz uma string vazia se o sistema operacional ou sistema de arquivos subjacente
                     não suportar horas de nascimento.

              %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 agulha -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  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.

   Processando pontos de partida arbitrários
       •      Dado que outro programa, o proggy, pré-filtra e cria uma enorme lista de  arquivos  separados  por
              NULO, processa-os como pontos de partida e encontra todos os arquivos normais e vazios entre eles:

                  $ proggy | find -files0-from - -maxdepth 0 -type f -empty

              O  uso  de `-files0-from -` significa ler os nomes dos pontos iniciais de entrada padrão, ou seja,
              do pipe; e -maxdepth 0 garante que somente essas  entradas  sejam  examinadas  explicitamente  sem
              recorrer a diretórios (no caso de um dos pontos iniciais ser um).

   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

       Um  programa find apareceu na Versão 5 do Unix como parte do projeto Programmer's Workbench e foi escrito
       por Dick Haight. A Research UNIX Reader: Annotated Excerpts from the Programmer’s  Manual,  1971-1986  de
       Doug    McIlroy    fornece    alguns    detalhes    adicionais;    você    pode    lê-lo    on-line    em
       <https://www.cs.dartmouth.edu/~doug/reader.pdf>.

       GNU find foi originalmente escrito por Eric Decker, com melhorias de David MacKenzie,  Jay  Plett  e  Tim
       Wood. A ideia para find -print0 e xargs -0 veio de Dan Bernstein.

COMPATIBILIDADE

       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
       -files0-from           4.9.0
       -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–2024  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)