InglêsFrancêsEspanhol

Ad


favicon do OnWorks

find - Online na nuvem

Execute localizar no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando find que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


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

SINOPSE


find [-H] [-L] [-P] [-D depura] [-O nível] [ponto de partida ...] [expressão]

DESCRIÇÃO


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

Se você estiver usando find em um ambiente onde a segurança é importante (por exemplo, se você
estão usando-o para pesquisar diretórios que são graváveis ​​por outros usuários), você deve ler o
Capítulo "Considerações de segurança" da documentação do findutils, que é chamado Descoberta
Arquivos e vem com findutils. Esse documento também inclui muito mais detalhes e
discussão do que esta página de manual, portanto, você pode considerá-la uma fonte de informações mais útil.

OPÇÕES


A -H, -L e -P opções controlam o tratamento de links simbólicos. Argumentos de linha de comando
após estes são considerados os nomes dos arquivos ou diretórios a serem examinados, até o
primeiro argumento que começa com `- ', ou o argumento` (' ou `! '. Esse argumento e qualquer
os seguintes argumentos são considerados 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, o
expressão -impressão é usado (mas você provavelmente deve considerar usar -imprimir0 em vez de,
de qualquer forma).

Esta página de manual fala sobre `opções 'dentro da lista de expressões. Essas opções controlam
o comportamento de find mas são especificados imediatamente após o último nome do caminho. Os cinco
opções 'reais' -H, -L, -P, -D e -O deve aparecer antes do primeiro nome de caminho, se for o caso. UMA
traço duplo -- também pode ser usado para sinalizar que quaisquer argumentos restantes não são opções
(embora garantir que todos os pontos de início comecem com `./ 'ou` /' seja geralmente mais seguro se
você usa curingas na lista de pontos de partida).

-P Nunca siga links simbólicos. Este é o comportamento padrão. Quando find examina ou
imprime informações um arquivo, e o arquivo é um link simbólico, a informação usada
deve ser obtido a partir das propriedades do próprio link simbólico.

-L Siga links simbólicos. Quando find examina ou imprime informações sobre arquivos, o
as informações utilizadas devem ser retiradas das propriedades do arquivo para o qual o link
pontos, não do link em si (a menos que seja um link simbólico quebrado ou find is
incapaz de examinar o arquivo para o qual o link aponta). O uso desta opção implica
-noleaf. Se você mais tarde usar o -P opção, -noleaf ainda estará em vigor. Se -L
está em vigor e find descobre um link simbólico para um subdiretório durante seu
pesquisa, o subdiretório apontado pelo link simbólico será pesquisado.

Quando o -L opção está em vigor, o -Tipo predicado sempre corresponderá ao
tipo de arquivo para o qual um link simbólico aponta em vez do próprio link (a menos que
o link simbólico está quebrado). Ações que podem fazer com que links simbólicos se tornem
quebrado enquanto find está executando (por exemplo -excluir) pode causar confusão
comportamento. Usando -L faz com que o -lnome e -ilnome predicados sempre para retornar
falsa

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

Se mais de um de -H, -L e -P é especificado, cada um substitui os outros; o último
aparecer na linha de comando tem efeito. Por ser o padrão, o -P opção deveria
ser considerado em vigor, a menos que -H or -L é especificado.

GNU find freqüentemente arquivos de estatísticas durante o processamento da própria linha de comando, antes
qualquer busca começou. Essas opções também afetam como esses argumentos são processados.
Especificamente, há uma série de testes que comparam arquivos listados na linha de comando
contra um arquivo que estamos considerando. Em cada caso, o arquivo especificado no
a linha de comando terá sido examinada e algumas de suas propriedades terão sido salvas. Se
o arquivo nomeado é na verdade um link simbólico, e o -P opção está em vigor (ou se nenhum
-H nem -L foram especificados), as informações utilizadas para a comparação serão retiradas do
propriedades do link simbólico. Caso contrário, será retirado das propriedades do
arquivo para o qual o link aponta. Se find não pode seguir o link (por exemplo, porque tem
privilégios insuficientes ou o link aponta para um arquivo inexistente) as propriedades do
o próprio link será usado.

Quando o -H or -L opções e guarante que os mesmos estão in efeito, qualquer simbólico Links listado como o argumento de
-novo será desreferenciado, e o carimbo de data / hora será retirado do arquivo para o qual o
pontos de ligação simbólicos. A mesma consideração se aplica a -mais recenteXY, -um mais novo e -cnewer.

A -Segue opção tem um efeito semelhante a -L, embora tenha efeito no ponto onde
parece (isto é, se -L não é usado, mas -Segue é, qualquer link simbólico que apareça após
-Segue na linha de comando serão desreferenciados e os anteriores não).

-D opções de depuração
Imprimir informações de diagnóstico; isso pode ser útil para diagnosticar problemas com o porquê
find não está fazendo o que você quer. A lista de opções de depuração deve ser vírgula
separados. A compatibilidade das opções de depuração não é garantida entre as versões
de findutils. Para obter uma lista completa de opções de depuração válidas, consulte a saída de find
-D ajudar. As opções de depuração válidas incluem

ajuda Explicar as opções de depuração

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

As mensagens de impressão stat à medida que os arquivos são examinados com o estado e lstat chamadas de sistema.
A find programa tenta minimizar tais chamadas.

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

taxas Imprime um resumo indicando a freqüência com que cada predicado teve êxito ou falhou.

-O nível
Ativa a otimização da consulta. O find o programa reordena os testes para acelerar a execução
preservando o efeito geral; ou seja, predicados com efeitos colaterais não são
reordenados em relação um ao outro. As otimizações realizadas em cada otimização
nível são os seguintes.

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

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

2 qualquer -Tipo or -tipo os testes são realizados após quaisquer testes baseados apenas no
nomes de arquivos, mas antes de quaisquer testes que requeiram informações do
inode. Em muitas versões modernas do Unix, os tipos de arquivo são retornados por
readdir () e então esses predicados são mais rápidos de avaliar do que predicados
que precisa primeiro stat o arquivo. Se você usar o -fstype FOO predicado e
especificar um tipo de sistema de arquivos FOO que não é conhecido (isto é, presente em
`/ etc / mtab') no momento find começa, esse predicado é equivalente a
-falso.

3 Nesse nível de otimização, o otimizador de consulta totalmente baseado em custo é habilitado.
A ordem dos testes é modificada para que testes baratos (ou seja, rápidos) sejam realizados
os primeiros e mais caros são executados posteriormente, se necessário. Dentro de
cada banda de custo, os predicados são avaliados mais cedo ou mais tarde de acordo com
se eles têm probabilidade de sucesso ou não. Por -o, predicados que são
probabilidade de sucesso são avaliados mais cedo, e para -a, predicados que são
propensos a falhar são avaliados mais cedo.

O otimizador baseado em custos tem uma ideia fixa da probabilidade de qualquer teste
ter sucesso. Em alguns casos, a probabilidade leva em consideração a natureza específica do
teste (por exemplo, -Tipo f é considerado mais provável de ter sucesso do que -Tipo c).
O otimizador baseado em custo está sendo avaliado. 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 habilitadas em
níveis de otimização mais baixos 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 lançamento 4.3.x. O
conjunto de testes findutils executa todos os testes em find em cada nível de otimização e
garante que o resultado seja o mesmo.

EXPRESSÃO


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

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

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

Opções globais
As opções globais afetam a operação de testes e ações especificadas em qualquer parte do
a linha de comando. As opções globais sempre retornam verdadeiras. O -profundidade opção para
exemplo faz find percorrer o sistema de arquivos em uma ordem de profundidade primeiro.

Opções posicionais
As opções posicionais afetam apenas os testes ou ações que as seguem. Posicional
as opções sempre retornam verdadeiras. O -regextype opção, por exemplo, é posicional,
especificando o dialeto de expressão regular para expressões regulat que ocorrem mais tarde
na linha de comando.

Operadores
Os operadores unem os outros itens na expressão. Eles incluem para
exemplo -o (significando OR lógico) e -a (significando AND lógico). Onde uma operadora está
ausente, -a é assumido.

Se toda a expressão não contiver nenhuma ação diferente de -ameixa seca or -impressão, -impressão is
executado em todos os arquivos para os quais toda a expressão é verdadeira.

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

POSICIONAL OPÇÕES
As opções posicionais sempre retornam verdadeiras. Eles afetam apenas os testes que ocorrem mais tarde no
linha de comando.

-início do dia
Medir tempos (para -amina, -um tempo, -cm, -ctime, -mmin e -Mtime) de
começando hoje em vez de 24 horas atrás. Esta opção afeta apenas os testes
que aparecem mais tarde na linha de comando.

-Segue
Descontinuada; use o -L opção em vez disso. Remova a referência de links simbólicos. Implica
-noleaf. O -Segue opção afeta apenas os testes que aparecem depois dela no
linha de comando. A menos que -H or -L opção foi especificada, a posição do
-Segue opção muda o comportamento do -novo predicado; quaisquer arquivos listados como
o argumento de -novo serão desreferenciados se forem links simbólicos. O mesmo
consideração se aplica a -mais recenteXY, -um mais novo e -cnewer. Da mesma forma, -Tipo
predicado sempre corresponderá ao tipo de arquivo que um link simbólico
aponta para ao invés do próprio link. Usando -Segue faz com que o -lnome e -ilnome
predicados sempre para retornar falso.

-regextype tipo
Altera a sintaxe da expressão regular compreendida por -regex e -iregex testa que
ocorrer mais tarde na linha de comando. Para ver quais tipos de expressão regular são conhecidos,
usar -regextype ajudar. A documentação Texinfo (ver VEJA TAMBÉM) explica o significado
de e diferenças entre os vários tipos de expressão regular.

-aviso, -aviso
Ative ou desative as mensagens de aviso. Esses avisos se aplicam apenas à linha de comando
uso, não a quaisquer condições que find pode encontrar quando pesquisa
diretórios. O comportamento padrão corresponde a -avisar se a entrada padrão é um
tty, e para -aviso de outra forma. Se uma mensagem de aviso relacionada ao uso da linha de comando
é produzido, o status de saída de find não é afetado. Se o POSIXLY_CORRECT
variável de ambiente está definida e -avisar is tb usava, it is não especificada qual, if
qualquer, avisos precisarão be ativo.

CONSIGNAÇÃO OPÇÕES
As opções globais sempre retornam verdadeiras. As opções globais têm efeito mesmo para os testes que ocorrem
anteriormente na linha de comando. Para evitar confusão, as opções globais devem ser especificadas no
linha de comando após a lista de pontos iniciais, logo antes do primeiro teste, opção posicional
ou ação. Se você especificar uma opção global em algum outro lugar, find irá emitir um aviso
mensagem explicando que isso pode ser confuso.

As opções globais ocorrem após a lista de pontos iniciais e, portanto, não são o mesmo tipo de
opção como -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 -delete
também implica -profundidade.

-ajuda ajuda
Imprima um resumo do uso da linha de comando de find e sair.

-ignore_readdir_race
Normalmente, find irá emitir uma mensagem de erro quando falhar ao stat um arquivo. Se vocês
dê esta opção e um arquivo é excluído entre o tempo find lê o nome do
arquivo do diretório e o tempo que ele tenta estatizar o arquivo, nenhuma mensagem de erro
será emitido. Isso também se aplica a arquivos ou diretórios cujos nomes são fornecidos
na linha de comando. Esta opção entra em vigor no momento em que a linha de comando é
ler, o que significa que você não pode pesquisar uma parte do sistema de arquivos com este
opção ativada e parte dela com esta opção desativada (se você precisar fazer isso, você
preciso emitir dois find em vez disso, um com a opção e outro sem).

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

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

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

-noignore_readdir_race
Desativa o efeito de -ignore_readdir_race.

-noleaf
Não otimize assumindo que os diretórios contêm 2 subdiretórios a menos do que
sua contagem de links físicos. Esta opção é necessária ao pesquisar sistemas de arquivos que fazem
não seguir a convenção de link de diretório do Unix, como sistemas de arquivos de CD-ROM ou MS-DOS
ou pontos de montagem de volume AFS. Cada diretório em um sistema de arquivos Unix normal tem um
pelo menos 2 links físicos: seu nome e seu `. ' entrada. Além disso, seus subdiretórios
(se houver) cada um tem uma entrada `.. 'vinculada a esse diretório. Quando find está examinando um
diretório, depois de estabelecer 2 subdiretórios a menos que o link do diretório
contagem, ele sabe que o resto das entradas no diretório não são diretórios
(arquivos `folha 'na árvore de diretórios). Se apenas os nomes dos arquivos precisam ser
examinados, não há necessidade de estatizá-los; isso dá um aumento significativo em
velocidade de pesquisa.

-versão, --versão
Imprima o find número da versão e sair.

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

TESTES
Alguns testes, por exemplo -mais recenteXY e -mesmo arquivo, permite a comparação entre o arquivo
atualmente sendo examinado 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 pelo
opções -H, -L e -P e qualquer anterior -Segue, mas o arquivo de referência é apenas examinado
uma vez, no momento em que a linha de comando é analisada. Se o arquivo de referência não puder ser examinado
(por exemplo, o estado(2) falha na chamada do sistema), uma mensagem de erro é emitida e find
sai com um status diferente de zero.

Os argumentos numéricos podem ser especificados como

+n para maior que n,

-n por menos de n,

n para exatamente n.

-amina n
O arquivo foi acessado pela última vez n minutos atrás.

-um mais novo lima
O arquivo foi acessado pela última vez mais recentemente do que lima foi modificado. Se lima é um simbólico
link e o -H opção ou o -L opção está em vigor, o tempo de acesso do arquivo
ele aponta para é sempre usado.

-um tempo n
O arquivo foi acessado pela última vez n* 24 horas atrás. Quando descobrir descobrir quantas 24 horas
períodos atrás, o arquivo foi acessado pela última vez, qualquer parte fracionária é ignorada, para corresponder
-um tempo +1, um arquivo deve ter sido acessado pelo menos dois dias atrás.

-cm n
O status do arquivo foi alterado pela última vez n minutos atrás.

-cnewer lima
O status do arquivo foi alterado pela última vez mais recentemente do que lima foi modificado. Se lima é um
link simbólico e o -H opção ou o -L opção está em vigor, a mudança de status
a hora do arquivo para o qual ele aponta é sempre usada.

-ctime n
O status do arquivo foi alterado pela última vez n* 24 horas atrás. Veja os comentários para -um tempo para
entenda como o arredondamento afeta a interpretação dos tempos de alteração do status do arquivo.

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

-executável
Corresponde a arquivos que são executáveis ​​e diretórios que são pesquisáveis ​​(em um arquivo
sentido de resolução de nome). Isso leva em consideração listas de controle de acesso e outros
artefatos de permissões que o -perma o teste ignora. Este teste faz uso do
Acesso(2) chamada de sistema, e assim pode ser enganado por servidores NFS que fazem mapeamento UID (ou
esmagamento de raiz), uma vez que muitos sistemas implementam Acesso(2) no kernel do cliente e
portanto, não pode usar as informações de mapeamento UID mantidas no servidor. Porque isso
teste é baseado apenas no resultado do Acesso(2) chamada de sistema, não há
garantir que um arquivo para o qual este teste foi 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
aceito em alguma versão do Unix ou outra é: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K,
S52K. Você pode usar -printf com a diretiva% F para ver os tipos de seu
sistemas de arquivos.

-gid n O ID do grupo numérico do arquivo é n.

-grupo gname
O arquivo pertence ao grupo gname (ID de grupo numérico permitido).

-ilnome de cinto de segurança
Como -lnome, mas a correspondência não diferencia maiúsculas de minúsculas. Se o -L opção ou o -Segue
opção estiver em vigor, este teste retorna falso, a menos que o link simbólico seja quebrado.

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

ter bebido n
O arquivo tem um número de inode n. Normalmente é mais fácil usar o -mesmo arquivo teste em vez disso.

-ipath de cinto de segurança
Como -caminho. mas a correspondência não diferencia maiúsculas de minúsculas.

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

-inome inteiro de cinto de segurança
Consulte -ipath. Esta alternativa é menos portátil do que -ipath.

-links n
Arquivo tem n links.

-lnome de cinto de segurança
O arquivo é um link simbólico cujo conteúdo corresponde ao padrão do shell de cinto de segurança. O
metacaracteres não tratam `/ 'ou`.' especialmente. Se o -L opção ou o -Segue
opção estiver em vigor, este teste retorna falso, a menos que o link simbólico seja quebrado.

-mmin n
Os dados do arquivo foram modificados pela última vez n minutos atrás.

-Mtime n
Os dados do arquivo foram modificados pela última vez n* 24 horas atrás. Veja os comentários para -um tempo para
entenda como o arredondamento afeta a interpretação dos tempos de modificação do arquivo.

-nome de cinto de segurança
A base do nome do arquivo (o caminho com os diretórios principais removidos) corresponde ao shell
de cinto de segurança de cinto de segurança. Como os diretórios principais são removidos, os nomes dos arquivos
considerado para uma partida com -nome nunca incluirá uma barra, então `-name a / b '
nunca corresponde a nada (você provavelmente precisa usar -caminho em vez de). Um aviso é emitido
se você tentar fazer isso, a menos que a variável de ambiente POSIXLY_CORRECT seja definida. O
metacaracteres (`* ',`?' e `[] ') correspondem a um`.' no início do nome de base (este
é uma mudança em findutils-4.2.2; veja a seção CONFORMIDADE DE PADRÕES abaixo). Para
ignore um diretório e os arquivos dentro dele, use -ameixa seca; veja um exemplo no
descrição de -caminho. As chaves não são reconhecidas como especiais, apesar do fato
que alguns shells incluindo Bash imbuem colchetes com um significado especial em shell
padrões. A correspondência do nome do arquivo é realizada com o uso do fnmatch(3)
função de biblioteca. Não se esqueça de colocar o padrão entre aspas para
proteja-o da expansão pela casca.

-novo lima
O arquivo foi modificado mais recentemente do que lima. Se lima é um link simbólico e o -H
opção ou o -L opção está em vigor, a hora de modificação do arquivo que ela aponta
to é sempre usado.

-mais recenteXY referência
É bem-sucedido se o carimbo de data / hora X do arquivo que está sendo considerado é mais recente do que o carimbo de data / hora Y of
o arquivo referência. As cartas X e Y pode ser qualquer uma das seguintes letras:

a O tempo de acesso do arquivo referência
B A hora de nascimento do arquivo referência
c O tempo de mudança de status do inode de referência

m A hora 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 para X ser t. Alguns
as 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 é especificado, um fatal
resultados de erro. As especificações de tempo são interpretadas como para o argumento do -d
opção de GNU dados. Se você tentar usar a hora de nascimento de um arquivo de referência, e
a hora do nascimento não pode ser determinada, o resultado é uma mensagem de erro fatal. Se você especificar um
teste que se refere à hora de nascimento dos arquivos que estão sendo examinados, este teste falhará
para todos os arquivos em que a hora do nascimento é desconhecida.

-nogrupo
Nenhum grupo corresponde ao ID de grupo numérico do arquivo.

-nouser
Nenhum usuário corresponde ao ID de usuário numérico do arquivo.

-caminho de cinto de segurança
O nome do arquivo corresponde ao padrão do shell de cinto de segurança. Os metacaracteres não tratam `/ 'ou
`. ' especialmente; então, por exemplo,
achar . -path "./sr*sc"
irá imprimir uma entrada para um diretório chamado `./src/misc '(se houver). Ignorar
uma árvore de diretórios inteira, use -ameixa seca em vez de verificar todos os arquivos da árvore.
Por exemplo, para pular o diretório `src / emacs 'e todos os arquivos e diretórios sob
e imprima os nomes dos outros arquivos encontrados, faça algo assim:
achar . -path ./src/emacs -prune -o -print
Observe que o teste de correspondência de padrão se aplica a todo o nome do arquivo, começando com um
dos pontos iniciais nomeados na linha de comando. Só faria sentido usar um
nome do caminho absoluto aqui se o ponto inicial relevante também for um caminho absoluto. Isto
significa que este comando nunca corresponderá a nada:
find bar -path / foo / bar / myfile -print
Find compara o -caminho argumento com a concatenação de um nome de diretório e o
nome base do arquivo que está examinando. Uma vez que a concatenação nunca terminará com
uma barra, -caminho argumentos que terminam em uma barra não corresponderão a nada (exceto talvez um
ponto inicial especificado na linha de comando). O predicado -caminho também é suportado
por HP-UX find e estará em uma versão futura do padrão POSIX.

-perma modo
Os bits de permissão do arquivo são exatamente modo (octal ou simbólico). Desde uma correspondência exata
é necessário, se você quiser usar este formulário para modos simbólicos, você pode ter que
especificar uma string de modo bastante complexa. Por exemplo `-perm g = w 'irá apenas corresponder
arquivos que têm o modo 0020 (ou seja, aqueles para os quais a permissão de gravação do grupo é
apenas conjunto de permissões). É mais provável que você queira usar o `/ 'ou` -'
formulários, por exemplo `-perm -g = w ', que corresponde a qualquer arquivo com gravação de grupo
permissão. Veja o EXEMPLOS seção para alguns exemplos ilustrativos.

-perm-modo
Todos os bits de permissão modo são definidos para o arquivo. Modos simbólicos são aceitos
desta forma, e normalmente esta é a maneira como você gostaria de usá-los. Você
deve especificar `u ',` g' ou `o 'se você usar um modo simbólico. Veja o EXEMPLOS seção
para alguns exemplos ilustrativos.

-perm /modo
Qualquer um dos bits de permissão modo são definidos para o arquivo. Modos simbólicos são aceitos
neste formulário. Você deve especificar `u ',` g' ou `o 'se usar um modo simbólico. Ver
que o EXEMPLOS seção para alguns exemplos ilustrativos. Se não houver bits de permissão em modo
estão configurados, este teste corresponde a qualquer arquivo (a ideia aqui é ser consistente com o
comportamento de -perma -000).

-perm +modo
Isso não é mais compatível (e foi descontinuado desde 2005). Usar -perma /modo
ao invés.

-legível
Corresponde a arquivos que são legíveis. Isso leva em consideração listas de controle de acesso e
outros artefatos de permissão que o -perma o teste ignora. Este teste faz uso de
que o Acesso(2) chamada de sistema, e assim pode ser enganado por servidores NFS que fazem mapeamento UID
(ou esmagamento de raiz), uma vez que muitos sistemas implementam Acesso(2) no kernel do cliente
e, portanto, não pode usar as informações de mapeamento UID mantidas no servidor.

-regex de cinto de segurança
O nome do arquivo corresponde à expressão regular de cinto de segurança. Esta é uma correspondência em todo o caminho,
não uma pesquisa. Por exemplo, para corresponder a um arquivo chamado `./fubar3 ', você pode usar o
expressão regular `. * bar. ' ou `. * b. * 3 ', mas não` f. * r3'. As expressões regulares
entendido por find são, por padrão, Expressões Regulares do Emacs, mas isso pode ser
mudou com o -regextype opção.

-mesmo arquivo nome
Arquivo refere-se ao mesmo inode que nome. Quando -L está em vigor, isso pode incluir
links simbólicos.

-Tamanho n[cwbkMG]
Usos de arquivo 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 de dois bytes

`k 'para kilobytes (unidades de 1024 bytes)

`M 'para megabytes (unidades de 1048576 bytes)

`G 'para Gigabytes (unidades de 1073741824 bytes)

O tamanho não conta blocos indiretos, mas conta blocos em arquivos esparsos
que não estão realmente alocados. Tenha em mente que os formatos `% k 'e`% b'
especificadores de -printf lidar com arquivos esparsos de forma diferente. O sufixo `b 'sempre
denota blocos de 512 bytes e nunca blocos de 1 kilobyte, o que é diferente do
comportamento de -ls.

Os prefixos + e - significam maior e menor que, como de costume. Ter em mente
que o tamanho é arredondado para a próxima unidade. Portanto -Tamanho -1M não é equivalente
para -Tamanho -1048576c. O primeiro corresponde apenas a arquivos vazios, o último corresponde a arquivos
de 1 a 1,048,575 bytes.

-verdadeira Sempre verdade.

-Tipo c
O arquivo é do tipo c:

bloco b (com buffer) especial

caractere c (sem buffer) especial

diretório d

p pipe nomeado (FIFO)

f arquivo regular

l link simbólico; isso nunca é verdade se o -L opção ou o -Segue opção
com efeito, a menos que o link simbólico seja quebrado. Se você quiser pesquisar por
links simbólicos quando -L está em vigor, use -tipo.

soquete

Porta D (Solaris)

-uido n O ID de usuário numérico do arquivo é n.

-usava n
O arquivo foi acessado pela última vez n dias após a última alteração de seu status.

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

-nome completo de cinto de segurança
Veja -path. Esta alternativa é menos portátil do que -caminho.

- gravável
Corresponde a arquivos que são graváveis. Isso leva em consideração listas de controle de acesso e
outros artefatos de permissão que o -perma o teste ignora. Este teste faz uso de
que o Acesso(2) chamada de sistema, e assim pode ser enganado por servidores NFS que fazem mapeamento UID
(ou esmagamento de raiz), uma vez que muitos sistemas implementam Acesso(2) no kernel do cliente
e, portanto, não pode usar as informações de mapeamento UID mantidas no servidor.

-tipo c
O mesmo que -Tipo a menos que o arquivo seja um link simbólico. Para links simbólicos: se o
-H or -P opção foi especificada, verdadeiro se o arquivo for um link para um arquivo do tipo c; E se
que o -L opção foi dada, verdadeiro se c é `l '. Em outras palavras, para simbólico
links, -tipo verifica o tipo de arquivo que -Tipo não verifica.

-contexto de cinto de segurança
(Somente SELinux) O contexto de segurança do arquivo corresponde a glob de cinto de segurança.

AÇÕES
-excluir
Deletar arquivos; verdadeiro se a remoção for bem-sucedida. Se a remoção falhou, uma mensagem de erro
é emitido. Se -excluir falha, findo status de saída de será diferente de zero (quando
eventualmente sai). Uso de -excluir liga automaticamente o `-profundidade'opção.

Advertências: Não se esqueça de que a linha de comando find é avaliada como uma expressão, então
colocando -excluir primeiro vai fazer find tente deletar tudo abaixo do começo
pontos que você especificou. Ao testar um find linha de comando que mais tarde você pretende
usar com -excluir, você deve especificar explicitamente -profundidade para evitar mais tarde
surpresas. Porque -excluir implica -profundidade, você não pode usar utilmente -ameixa seca e
-excluir juntos.

-Exec comando ;
Execute comando; true se 0 status for retornado. Todos os seguintes argumentos para find e guarante que os mesmos estão
considerados argumentos para o comando até um argumento que consiste em `; ' é
encontrados. A string `{} 'é substituída pelo nome do arquivo atual sendo processado
em todos os lugares que ocorre nos argumentos do comando, não apenas em argumentos onde
está sozinho, como em algumas versões de find. Ambas as construções podem precisar
para ser escapado (com um `\ ') ou entre aspas para protegê-los da expansão pelo shell.
veja a EXEMPLOS seção para exemplos do uso do -Exec opção. O
o comando especificado é executado uma vez para cada arquivo correspondente. O comando é executado em
o diretório inicial. Existem problemas de segurança inevitáveis ​​em torno do uso
da -Exec açao; você deve usar o -execdir opção.

-Exec comando {} +
Esta variante do -Exec ação executa o comando especificado nos arquivos selecionados,
mas a linha de comando é construída anexando cada nome de arquivo selecionado no final; a
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 no comando. O
comando é executado no diretório inicial. Se find encontra um erro, este
pode às vezes causar uma saída imediata, então alguns comandos pendentes podem não ser executados em
tudo. Esta variante de -Exec sempre retorna verdadeiro.

-execdir comando ;

-execdir comando {} +
Como -Exec, mas o comando especificado é executado a partir do subdiretório que contém o
arquivo correspondente, que normalmente não é o diretório no qual você começou find. Este
um método muito mais seguro para invocar comandos, pois evita condições de corrida
durante a resolução dos caminhos para os arquivos correspondentes. Tal como acontece com o -Exec ação, o
forma `+ 'de -execdir irá construir uma linha de comando para processar mais de uma correspondência
arquivo, mas qualquer invocação dada de comando irá listar apenas os arquivos que existem no
mesmo subdiretório. Se você usar esta opção, você deve garantir que seu $ PATH
a variável de ambiente não faz referência a `. '; caso contrário, um invasor pode executar qualquer
comandos de que gostam, deixando um arquivo com o nome apropriado em um diretório no qual
você vai correr -execdir. O mesmo se aplica a ter entradas em $ PATH que estão vazios
ou que não são nomes de diretório absolutos. Se find encontra um erro, isso pode
às vezes causa uma saída imediata, portanto, alguns comandos pendentes podem nem ser executados.
O resultado da ação depende se o + ou de ; variante está sendo usada;
-execdir comando {} + sempre retorna verdadeiro, enquanto -execdir comando {} ; retorna verdadeiro
somente se comando retorna 0.

-fls lima
Verdadeiro; Como -ls mas escreva para lima como -fprint. O arquivo de saída é sempre criado,
mesmo se o predicado nunca for correspondido. Veja o INCOMUM NOMES DE ARQUIVOS seção para
informações sobre como os caracteres incomuns em nomes de arquivos são tratados.

-fprint lima
Verdadeiro; imprimir o nome completo do arquivo no arquivo lima. Se lima não existe quando find is
correr, é criado; se existir, será truncado. Os nomes dos arquivos
`/ dev / stdout 'e`/ dev / stderr'são tratados especialmente; eles se referem ao padrão
saída e saída de erro padrão, respectivamente. O arquivo de saída é sempre criado,
mesmo se o predicado nunca for correspondido. Veja o INCOMUM NOMES DE ARQUIVOS seção para
informações sobre como os caracteres incomuns em nomes de arquivos são tratados.

-fprint0 lima
Verdadeiro; Como -imprimir0 mas escreva para lima como -fprint. O arquivo de saída é sempre
criado, mesmo se o predicado nunca for correspondido. Veja o INCOMUM NOMES DE ARQUIVOS seção
para obter informações sobre como os caracteres incomuns em nomes de arquivos são tratados.

-fprintf lima formato
Verdadeiro; Como -printf mas escreva para lima como -fprint. O arquivo de saída é sempre
criado, mesmo se o predicado nunca for correspondido. Veja o INCOMUM NOMES DE ARQUIVOS seção
para obter informações sobre como os caracteres incomuns em nomes de arquivos são tratados.

-ls True; listar o arquivo atual em ls -dils formato na saída padrão. O bloco conta
são de blocos de 1K, a menos que a variável de ambiente POSIXLY_CORRECT seja definida, em que
caso blocos de 512 bytes são usados. Veja o INCOMUM NOMES DE ARQUIVOS seção para informação
sobre como os caracteres incomuns em nomes de arquivos são tratados.

-OK comando ;
Como -Exec mas pergunte ao usuário primeiro. Se o usuário concordar, execute o comando. De outra forma
apenas retorne falso. Se o comando for executado, sua entrada padrão é redirecionada de
/ dev / null.

A resposta ao prompt é comparada a um par de expressões regulares para
determinar se é uma resposta afirmativa ou negativa. Esta expressão regular é
obtido do sistema se a variável de ambiente `POSIXLY_CORRECT 'estiver definida, ou
caso contrário, de findtraduções de mensagens de. Se o sistema não tiver
definição, findserá usada a própria definição de. Em qualquer caso, o
a interpretação da própria expressão regular será afetada pelo ambiente
variáveis ​​'LC_CTYPE' (classes de caracteres) e 'LC_COLLATE' (intervalos de caracteres e
classes de equivalência).

-okdir comando ;
Como -execdir mas pergunte ao usuário primeiro, da mesma forma que para -OK. Se o usuário fizer
não concordo, apenas retorna falso. Se o comando for executado, sua entrada padrão é
redirecionado de / dev / null.

-print True; imprime o nome completo do arquivo na saída padrão, seguido por uma nova linha. Se
você está canalizando a saída de find em outro programa e há o mais fraco
possibilidade de que os arquivos que você está procurando possam conter uma nova linha,
então você deve considerar seriamente o uso do -imprimir0 opção em vez de -impressão. Ver
que o INCOMUM NOMES DE ARQUIVOS seção para obter informações sobre como personagens incomuns em
nomes de arquivos são tratados.

-imprimir0
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 -impressão usa). Isso permite nomes de arquivo que
contêm novas linhas ou outros tipos de espaço em branco para serem interpretados corretamente por
programas que processam o find saída. Esta opção corresponde ao -0 opção de
xargs.

-printf formato
Verdadeiro; imprimir formato na saída padrão, interpretando escapes `\ 'e`%'
diretivas. As larguras e precisões dos campos podem ser especificadas como com o `printf 'C
função. 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). diferente -impressão,
-printf não adiciona uma nova linha no final da string. As fugas e
as diretivas são:

\ a Campainha de alarme.

\ b Backspace.

\ c Pare de imprimir a partir deste formato imediatamente e libere a saída.

\ f Alimentação de formulário.

\ n Nova linha.

\ r Retorno de carro.

\ t Guia horizontal.

\ v Guia vertical.

\ 0 ASCII NUL.

\\ Uma barra invertida literal (`\ ').

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

Um caractere `\ 'seguido por qualquer outro caractere é tratado como um caractere comum
caractere, então ambos são impressos.

%% Um sinal de porcentagem literal.

% a Hora do último acesso ao arquivo no formato retornado pela função C `ctime '.

%Ak A hora do último acesso ao arquivo no formato especificado por k, que é `@ 'ou
uma diretiva para a função C `strftime '. Os valores possíveis para k e guarante que os mesmos estão
listado abaixo; alguns deles podem não estar disponíveis em todos os sistemas, devido a
diferenças em `strftime 'entre sistemas.

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

Campos de tempo:

Hora H (00..23)

01 hora (12..XNUMX)

k hora (0..23)

1 hora (12..XNUMX)

M minuto (00..59)

p locale é AM ou PM

hora r, 12 horas (hh: mm: ss [AP] M)

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

Hora T, 24 horas (hh:mm:ss.)

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

X representação de tempo do locale (H: M: S). O campo de segundos inclui um
partes fracionadas.

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

Campos de data:

o nome abreviado do dia da semana de uma localidade (Dom .. Sáb)

O nome completo do dia da semana de uma localidade, comprimento variável (domingo .. sábado)

b nome abreviado do mês da localidade (Jan..Dez)

Nome completo do mês da localidade B, comprimento variável (janeiro ... dezembro)

c data e hora do local (Sáb, 04 de novembro, 12:02:33 EST 1989). O formato é
o mesmo que para ctime(3) e assim preservar a compatibilidade com aquele
formato, não há parte fracionária no campo de segundos.

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

Data D (mm / dd / aa)

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 semana número do ano com segunda-feira como primeiro dia da semana (00..53)

x representação de data local (mm / dd / aa)

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

Y ano (1970 ...)

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

% c Hora da última mudança de status do arquivo no formato retornado pelo C `ctime '
função.

%Ck Hora da última mudança de status do arquivo no formato especificado por k, qual é o
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 Nome do arquivo com todos os diretórios principais removidos (apenas o último elemento).

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

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

% G ID do grupo numérico do arquivo.

% h Diretórios iniciais do nome do arquivo (todos exceto o último elemento). Se o arquivo
nome não contém barras (uma vez que está no diretório atual) o% h
o especificador se expande para ".".

% H Ponto de partida sob o qual o arquivo foi encontrado.

% i Número do inode do arquivo (em decimal).

% k A quantidade de espaço em disco usado para este arquivo em blocos de 1K. Desde espaço em disco
é alocado em múltiplos do tamanho do bloco do sistema de arquivos; isso geralmente é
maior que% s / 1024, mas também pode ser menor se o arquivo for esparso
arquivo.

% l Objeto de 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 o `tradicional '
números que a maioria das implementações Unix usa, mas se o seu
implementação usa uma ordem incomum de bits de permissões octais, você
veja a diferença entre o valor real do modo do arquivo e a saída
de% m. Normalmente você vai querer ter um zero à esquerda neste número, e
para fazer isso, você deve usar o # sinalizador (como em, por exemplo, `% # m ').

% M Permissões do arquivo (em forma simbólica, como para ls) Esta diretiva é
suportado em 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 Esparsidade do arquivo. Isso é calculado como (BLOCKSIZE * st_blocks / st_size).
O valor exato que você obterá para um arquivo comum de um certo comprimento é
dependente do sistema. No entanto, normalmente os arquivos esparsos terão valores menores que
1.0, e os arquivos que usam blocos indiretos podem ter um valor maior
do que 1.0. O valor usado para BLOCKSIZE depende do sistema, mas geralmente é
512 bytes. Se o tamanho do arquivo for zero, o valor impresso é indefinido. Sobre
sistemas que não têm suporte para st_blocks, a dispersão de um arquivo é considerada
seja 1.0.

% t Hora da última modificação do arquivo no formato retornado pelo C `ctime '
função.

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

% u Nome de usuário do arquivo ou ID numérica do usuário se o usuário não tiver nome.

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

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

% Y Tipo de arquivo (como% y), mais os links simbólicos: L = loop, N = inexistente

Contexto de segurança do arquivo% Z (somente SELinux).

% {% [% (
Reservado para uso futuro.

Um caractere `% 'seguido por qualquer outro caractere é descartado, mas o outro
caractere é impresso (não confie nisso, pois outros caracteres de formato podem ser
introduzido). Um `% 'no final do argumento de formato causa um comportamento indefinido
uma vez que não há caractere seguinte. Em alguns locais, pode esconder sua porta
enquanto em outras pode remover a página final do romance que você está lendo.

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

veja a INCOMUM NOMES DE ARQUIVOS seção para obter informações sobre como personagens incomuns em
nomes de arquivos são tratados.

-prune True; se o arquivo for um diretório, não entre nele. Se -profundidade é dada,
falso; nenhum efeito. Porque -excluir implica -profundidade, você não pode usar utilmente -ameixa seca
e -excluir juntos.

- Saia de Sair imediatamente. Nenhum processo filho será deixado em execução, mas não mais caminhos
especificado na linha de comando será processado. Por exemplo, find / tmp / foo
/ tmp / bar -impressão -Sair irá imprimir apenas / tmp / foo. Quaisquer linhas de comando que foram
construído com -execdir ... {} + será invocado antes find saídas. A saída
o status pode ou não ser zero, dependendo se um erro já ocorreu.

OPERADORES
Listado em ordem decrescente de precedência:

( expr )
Forçar precedência. Uma vez que os parênteses são especiais para a casca, você normalmente
precisa citá-los. Muitos dos exemplos nesta página de manual usam barras invertidas para
este propósito: `\ (... \) 'em vez de` (...)'.

! expr Verdadeiro se expr é falso. Este personagem também geralmente precisa de proteção contra
interpretação pelo shell.

-não expr
Igual a ! expr, mas não compatível com POSIX.

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

expr1 -a expr2
Igual a expr1 expr2.

expr1 -e expr2
Igual a expr1 expr2, mas não compatível com POSIX.

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

expr1 Ou expr2
Igual a expr1 -o expr2, mas não compatível com POSIX.

expr1 , expr2
Lista; Ambas 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
procurando por vários tipos diferentes de coisas, mas atravessando o sistema de arquivos
hierarquia apenas uma vez. O -fprintf ação pode ser usada para listar as várias correspondências
itens em vários arquivos de saída diferentes.

Por favor, note que -a quando especificado implicitamente (por exemplo, por dois testes que aparecem sem
um operador explícito entre eles) ou explicitamente tem maior precedência do que -o. Este
significa que find . -nome um arquivo -o -nome arquivo b -impressão nunca imprimirá um arquivo.

INCOMUM NOMES DE ARQUIVOS


Muitas das ações de find resultar 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. Arquivo
nomes são um problema potencial, pois podem conter qualquer caractere, exceto `\ 0 'e` /'.
Caracteres incomuns em nomes de arquivo podem fazer coisas inesperadas e muitas vezes indesejáveis ​​para o seu
terminal (por exemplo, alterar as configurações das teclas de função em alguns terminais).
Personagens incomuns são tratados de forma diferente por várias ações, conforme descrito abaixo.

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

-ls, -fls
Caracteres incomuns sempre têm escape. Espaço em branco, barra invertida e aspas duplas
caracteres são impressos usando escapes de estilo C (por exemplo `\ f ',` \ "').
caracteres incomuns são impressos usando um escape octal. Outros caracteres imprimíveis
(Por -ls e -fls estes são os caracteres entre octal 041 e 0176) são impressos
como é.

-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 proprietários dos arquivos, e assim
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 proprietários dos arquivos, mas que não podem ser
usado para enviar dados arbitrários para o terminal e, portanto, eles são impressos no estado em que se encontram. O
as diretivas% f,% h,% l,% p e% P são citadas. Esta citação é realizada no mesmo
maneira como para GNU ls. Este não é o mesmo mecanismo de cotação usado para -ls
e -fls. Se você for capaz de decidir qual formato usar para a saída de find então
normalmente é melhor usar `\ 0 'como um terminador do que usar nova linha, como arquivo
os nomes podem conter espaço em branco e caracteres de nova linha. O cenário do
A variável de ambiente `LC_CTYPE 'é usada para determinar quais caracteres precisam ser
citado.

-imprimir, -fprint
A cotação é tratada da mesma forma que para -printf e -fprintf. Se você estiver usando
find em um script ou em uma situação onde os arquivos correspondentes podem ter
nomes, você deve considerar o uso de -imprimir0 em vez de -impressão.

A -OK e -okdir as ações imprimem o nome do arquivo atual no estado em que se encontra. Isso pode mudar no futuro
liberar.

PADRÕES CONFORMIDADE


Para conformidade mais próxima com o padrão POSIX, você deve definir o POSIXLY_CORRECT
variável de ambiente. As seguintes opções são especificadas no padrão POSIX (IEEE Std
1003.1, edição de 2003):

-H Esta opção é suportada.

-L Esta opção é suportada.

-nome Esta opção é suportada, mas a conformidade POSIX depende da conformidade POSIX de
o sistema fnmatch(3) função de biblioteca. A partir de findutils-4.2.2, shell
metacaracteres (`* ',`?' ou `[] 'por exemplo) corresponderão a um`.' inicial, porque
A interpretação 126 do IEEE PASC exige isso. Esta é uma mudança em relação ao anterior
versões de findutils.

-Tipo Suportado. POSIX especifica `b ',` c', `d ',` l', `p ',` f' e `s '. GNU find also
suporta `D ', representando uma porta, onde o sistema operacional os fornece.

-OK Suportado. A interpretação da resposta é de acordo com o "sim" e "não"
padrões selecionados pela configuração da variável de ambiente `LC_MESSAGES '. Quando o
A variável de ambiente `POSIXLY_CORRECT 'é definida, esses padrões são tomados pelo sistema
definição de uma resposta positiva (sim) ou negativa (não). Veja o sistema
documentação para nl_langinfo(3), em particular YESEXPR e NOEXPR. Quando
`POSIXLY_CORRECT 'não está definido, os padrões são, em vez disso, retirados de findé próprio
catálogo de mensagens.

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

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

Outros predicados
Os predicados -um tempo, -ctime, -profundidade, -grupo, -links, -Mtime, -nogrupo, -nouser,
-impressão, -ameixa seca, -Tamanho, -do utilizador e -xdev `-atime ',` -ctime', `-depth ',` -group',
`-links ',` -mtime', `-nogroup ',` -nouser', `-perm ',` -print', `-prune ',` -size',
`-user 'e` -xdev', são todos suportados.

O padrão POSIX especifica parênteses `(',`)', negação `! ' e o 'e' e 'ou'
operadores ( -a, -o).

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

O padrão POSIX requer que find detecta loops:

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

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ão menores do que deveriam
ser. Isso pode significar que o GNU find às vezes otimiza a visita de um
subdiretório que é, na verdade, um link para um ancestral. Desde a find realmente não entra
tal subdiretório, é permitido evitar a emissão de uma mensagem de diagnóstico. Embora este
comportamento pode ser um pouco confuso, é improvável que alguém realmente dependa disso
comportamento. Se a otimização de folha foi desligada com -noleaf, a entrada do diretório
será sempre examinado 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, mas se o -L opção ou
que o -Segue opção está em uso, uma mensagem de diagnóstico é emitida quando find encontra um laço
de links simbólicos. Tal como acontece com os loops contendo links físicos, a otimização de folha muitas vezes
significa que find sabe que não precisa ligar stat () or chdir () no link simbólico,
portanto, esse diagnóstico freqüentemente não é necessário.

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

A variável de ambiente POSIXLY_CORRECT não afeta o comportamento do -regex or
-iregex testes porque esses testes não são especificados no padrão POSIX.

MEIO AMBIENTE VARIÁVEIS


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

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

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

LC_CTYPE
Esta variável afeta o tratamento das classes de personagens usadas em
expressões e também com o -nome teste, se o sistema fnmatch(3) biblioteca
função suporta isso. Esta variável também afeta a interpretação de qualquer
classes de caracteres nas expressões regulares usadas para interpretar a resposta ao
prompt emitido por -OK. A variável de ambiente `LC_CTYPE 'também afetará qual
os caracteres são considerados não imprimíveis quando os nomes dos arquivos são impressos; Veja o
seção NOMES DE ARQUIVOS INCOMUNS.

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

NLSPAT
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 ​​invocados por
-Exec, -execdir, -OK e -okdir.

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

Definir esta variável também desativa as mensagens de aviso (ou seja, implica -aviso) de
padrão, porque POSIX requer isso além da saída para -OK, todas as mensagens
impressos 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, -perma + zzz é tratado como -perma / zzz if + zzz
não é um modo simbólico válido. Quando POSIXLY_CORRECT é definido, tais construções são
tratado como um erro.

Quando POSIXLY_CORRECT é definido, a resposta ao prompt feito pelo -OK ação é
interpretado de acordo com o catálogo de mensagens do sistema, ao contrário de
findtraduções da própria mensagem.

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

EXEMPLOS


find / Tmp -nome core -Tipo f -impressão | xargs / bin / rm -f

Encontre arquivos nomeados core dentro ou abaixo do diretório / Tmp e excluí-los. Observe que isso vai
funcionam incorretamente se houver nomes de arquivo contendo novas linhas, aspas simples ou duplas,
ou espaços.

find / Tmp -nome core -Tipo f -imprimir0 | xargs -0 / bin / rm -f

Encontre arquivos nomeados core dentro ou abaixo do diretório / Tmp e excluí-los, processando nomes de arquivos
de forma que os nomes dos arquivos ou diretórios contenham aspas simples ou duplas, espaços ou
as novas linhas são tratadas corretamente. O -nome o teste vem antes do -Tipo teste para
evite ter que ligar estado(2) em cada arquivo.

find . -Tipo f -Exec lima '{}' \;

Executa o `arquivo 'em cada arquivo dentro ou abaixo do diretório atual. Observe que as chaves são
colocados entre aspas simples para protegê-los de interpretação como script de shell
pontuação. O ponto-e-vírgula é protegido de forma semelhante pelo uso de uma barra invertida, embora
aspas simples também poderiam ter sido usadas nesse caso.

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

Percorra o sistema de arquivos apenas uma vez, listando arquivos e diretórios setuid em
/root/suid.txt e arquivos grandes em /root/big.txt.

find $ HOME -Mtime 0

Procure por arquivos em seu diretório pessoal que foram modificados nos últimos vinte e quatro
horas. Este comando funciona desta forma porque o tempo decorrido desde a última modificação de cada arquivo é
dividido por 24 horas e o restante é descartado. Isso significa que para combinar -Mtime 0, um
o arquivo terá que ter uma modificação no passado, que é menos de 24 horas atrás.

find / sbin / usr / sbin -executável \! -legível -impressão

Procure por arquivos que são executáveis, mas não legíveis.

find . -perma 664

Procure por arquivos que tenham permissão de leitura e gravação para seu proprietário e grupo, mas
que outros usuários podem ler, mas não podem escrever. 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
coincide.

find . -perma -664

Procure por arquivos que tenham permissão de leitura e gravação para seu proprietário e grupo, e quais
outros usuários podem ler, independentemente da presença de bits de permissão extras (para
exemplo, o bit executável). Isso corresponderá a um arquivo que possui o modo 0777, por exemplo.

find . -perma / 222

Procure por arquivos que podem ser gravados por alguém (seu proprietário, seu grupo ou qualquer pessoa
senão).

find . -perma / 220
find . -perma / u + w, g + w
find . -perma / u = w, g = w

Todos os três comandos fazem a mesma coisa, mas o primeiro usa o comando octal
representação do modo de arquivo, e os outros dois usam a forma simbólica. Esses comandos
todos procuram por arquivos que podem ser gravados por seus proprietários ou grupos. Os arquivos
não precisa ser gravável pelo proprietário e pelo grupo para que haja correspondência; qualquer um vai servir.

find . -perma -220
find . -perma -g + w, u + w

Ambos os comandos fazem a mesma coisa; procure por arquivos que podem ser gravados por ambos
proprietário e seu grupo.

find . -perma -444 -perma / 222 ! -perma / 111
find . -perma -a + r -perma / a + w ! -perma / a + x

Ambos os comandos procuram por arquivos que podem ser lidos por todos ( -perma -444 or
-perma -a + r), tem pelo menos um conjunto de bits de gravação ( -perma / 222 or -perma / a + w) mas não são
executável para qualquer pessoa ( ! -perma / 111 e ! -perma / a + x respectivamente).

cd / source-dir
find . -nome .instantâneo -ameixa seca -o \( \! -nome *~ -imprimir0 \) |
cpio -pmd0 / dest-dir

Este comando copia o conteúdo de / source-dir para / dest-dir, mas omite arquivos e
diretórios nomeados .instantâneo (e qualquer coisa neles). Também omite arquivos ou diretórios
cujo nome termina em ~, mas não seu conteúdo. A construção -ameixa seca -o \( ... -imprimir0 \)
é bastante comum. A ideia aqui é que a expressão antes -ameixa seca combina coisas que
devem ser podados. No entanto, o -ameixa seca a própria ação retorna verdadeira, então o seguinte -o
garante que o lado direito seja avaliado apenas para os diretórios que não obtiveram
podado (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
clareza. Ele enfatiza que o -imprimir0 a ação ocorre apenas para coisas que não
-ameixa seca aplicado a eles. Porque a condição 'e' padrão entre os testes liga mais
com força do que -o, este é o padrão de qualquer maneira, mas os parênteses ajudam a mostrar o que é
acontecendo.

find repo / -Exec teste -d {} /. svn \; Ou \
-Exec teste -d {} /. git \; Ou -Exec teste -d {} / CVS \; \
-impressão -ameixa seca

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

repo / project1 / CVS
repo / gnu / project2 / .svn
repo / gnu / project3 / .svn
repo / gnu / project3 / src / .svn
repo / project4 / .git

Neste exemplo, -ameixa seca evita descidas desnecessárias em diretórios que já
foram descobertos (por exemplo, não pesquisamos project3 / src porque já encontramos
project3 / .svn), mas garante que os diretórios irmãos (projeto2 e projeto3) sejam encontrados.

SAIR STATUS


find sai com status 0 se todos os arquivos forem processados ​​com sucesso, maior que 0 se houver erros
ocorrer. Esta é deliberadamente uma descrição muito ampla, mas se o valor de retorno não for
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 alguns pendentes
invocações de programa para -Exec ... {} + or -execdir ... {} + pode não ter sido executado.

Use find online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

Comandos Linux

Ad