find command unix
Introdução ao comando Find no Unix: Pesquise arquivos e diretórios com o comando Find File do Unix
O comando find do Unix é um utilitário poderoso para pesquisar arquivos ou diretórios.
A pesquisa pode ser baseada em critérios diferentes e os arquivos correspondentes podem ser executados por meio de ações definidas. Este comando desce recursivamente na hierarquia de arquivos para cada nome de caminho especificado.
=> Clique aqui para ver a série completa de tutoriais de Unix
O que você aprenderá:
como representar um gráfico em java
Encontre o comando no Unix
Sintaxe:
find (options) (paths) (expression)
As opções deste comando são usadas para especificar como os links simbólicos devem ser tratados. Isso é seguido pelo conjunto de caminhos para pesquisa. Se nenhum caminho for especificado, o diretório atual será usado. A expressão fornecida é então executada em cada um dos arquivos encontrados nos caminhos.
A expressão consiste em uma série de opções, testes e ações, cada um retornando um booleano. A expressão é avaliada da esquerda para a direita para cada arquivo no caminho até que o resultado seja determinado, ou seja, o resultado é conhecido como verdadeiro ou falso.
- Expressões de opção são usadas para restringir a operação de localização e sempre retornam verdadeiro.
-
- -depth: processa o conteúdo do diretório antes de processar o próprio diretório.
- -maxdepth: os níveis máximos abaixo dos caminhos fornecidos para descer para uma correspondência.
- -mindepth: os níveis mínimos além dos caminhos fornecidos para descer antes de combinar.
-
- Expressões de teste são usadas para avaliar propriedades específicas dos arquivos e retornar verdadeiro ou falso de acordo. (Sempre que uma contagem 'n' é usada: sem qualquer prefixo, a correspondência é para o valor exato de n; com um prefixo '+', a correspondência é para valores maiores que n; e com um prefixo '-', a correspondência é para valores menores que n.)
-
- -atime n: Retorna verdadeiro se o arquivo foi acessado há n dias.
- -ctime n: retorna verdadeiro se o status do arquivo foi alterado n dias atrás.
- -mtime n: retorna verdadeiro se o conteúdo do arquivo foi modificado n dias atrás.
- -name pattern: Retorna true se o nome do arquivo corresponder ao padrão de shell fornecido.
- -iname pattern: Retorna verdadeiro se o nome do arquivo corresponder ao padrão de shell fornecido. A correspondência aqui não diferencia maiúsculas de minúsculas.
- -path pattern: retorna true se o nome do arquivo com o caminho corresponder ao padrão do shell.
- -regex pattern: Retorna verdadeiro se o nome do arquivo com o caminho corresponder à expressão regular.
- -size n: Retorna verdadeiro se o tamanho do arquivo for n blocos.
- -perm - mode: Retorna verdadeiro se todos os bits de permissão para o modo são definidos para o arquivo.
- -tipo c: retorna verdadeiro se o arquivo for do tipo c (por exemplo, 'b' para o arquivo do dispositivo de bloco, 'd' para o diretório, etc.).
- -username: Retorna verdadeiro se o arquivo pertence ao nome de usuário ‘nome’.
-
- As expressões de ação são usadas para definir ações que têm efeitos colaterais e podem retornar verdadeiro ou falso. Se nenhuma ação for especificada, a ação ‘-print’ será executada para todos os arquivos correspondentes.
-
- -delete: Exclui o arquivo correspondente e retorna verdadeiro se for bem-sucedido.
- Comando -exec: executa o comando fornecido para cada arquivo correspondente e retorna verdadeiro se o valor de retorno for 0.
- Comando -ok: como a expressão ‘exec’, mas primeiro confirma com o usuário.
- -ls: lista o arquivo correspondente no formato ‘ls -dils’.
- -print: Imprime o nome do arquivo correspondente.
- -prune: Se o arquivo for um diretório, não desça até ele e retorne verdadeiro.
-
- A expressão é avaliada da esquerda para a direita e é montada usando os seguintes operadores.
-
- ( expr ) : Usado para forçar a precedência.
- ! expr: Usado para negar uma expressão.
- expr1 -para expr2: O resultado é um ‘e’ das duas expressões. O expr2 só é avaliado se expr1 for verdadeiro.
- expr1 expr2: O operador 'e' está implícito neste caso.
- expr1 -ou expr2: O resultado é um 'ou' das duas expressões. O expr2 só é avaliado se expr1 é falso.
-
Exemplos
Lista todos os arquivos encontrados no diretório atual e sua hierarquia
$ find.
Liste todos os arquivos encontrados na hierarquia atual e toda a hierarquia abaixo de / home / xyz
$ find. /home/XYZ
Procure um arquivo pelo nome abc no diretório atual e sua hierarquia
$ find ./ -name abc
Pesquise um diretório com o nome xyz no diretório atual e sua hierarquia
$ find ./ -type d -name xyz
Procure um arquivo com o nome abc.txt abaixo do diretório atual e solicite ao usuário que exclua cada correspondência.
Observe que a string “{}” é substituída pelo nome do arquivo real durante a execução e que o “;” string é usado para terminar o comando a ser executado.
$ find ./ -name abc.txt -exec rm -i {} ;
Procure por arquivos que foram modificados nos últimos 7 dias abaixo do diretório atual
$ find ./ -mtime -7
Procure por arquivos que tenham todas as permissões definidas na hierarquia atual
$ find ./ -perm 777
Conclusão
Resumindo, Find Command in Unix retorna todos os arquivos abaixo do diretório de trabalho atual. Além disso, o comando find permite que o usuário especifique uma ação a ser executada em cada arquivo correspondido.
=> Clique aqui para ver a série completa de tutoriais de Unix
Leitura recomendada
- Cortar comando no Unix com exemplos
- Comando Ls no Unix com exemplos
- Manipulação de arquivos no Unix: Visão geral do sistema de arquivos Unix
- Sintaxe de comando Unix Cat, opções com exemplos
- Comando Grep no Unix com exemplos simples
- Comando de classificação Unix com sintaxe, opções e exemplos
- Comando Tar no Unix para criar backups (exemplos)
- Como comparar dois arquivos no Unix: Comandos de comparação de arquivos