O comando find é usado para localizar arquivos em um diretório especificado e pode executar operações específicas nos arquivos encontrados. Sua pesquisa começa no diretório especificado e pesquisa todos os seus subdiretórios para baixo recursivamente, encontra a saída padrão e executa as operações especificadas nela.
Encontre a sintaxe:
encontre [ parâmetros ] [ opções ]
find path -option [-print] [-exec -ok command] {} \;
Encontre opções comuns:
1 , -name < padrão correspondente > : encontre os nomes de arquivo de todos os arquivos que correspondem a uma determinada correspondência de padrão, a correspondência de padrão pode curinga " * ", "?", " [] ." -iname ignora maiúsculas e minúsculas
find -name image_bak # Não especifique o diretório como o diretório atual
find -name 'imagem *'
find -name 'imagem ????'
2 , -amin < minuto > : Encontrar todos os arquivos acessados em um horário especificado (número de minutos)
find -type f -amin +20 -name "t *" # + 20 significa o arquivo acessado 20 minutos atrás
find -type f -amin -20 -name "t *" # - 20 significa arquivos acessados em 20 minutos
find -type f -amin 20 -name "t *" # é o arquivo acessado em exatamente 20 minutos
3 , atime <24 horas ou dias > : Encontre arquivos a serem acessados em um determinado número de dias
encontrar -tipo f -atime 13
find -type f -atime -13
find -tipo f -atime +13
4 , -cmin < minuto > : Encontre o status do arquivo é alterado no tempo especificado de um arquivo ou diretório
encontrar -tipo f -cmin 45
encontrar -tipo f -cmin +45
encontrar -tipo f -cmin -45
. 5 , -ctime <24 horas, ou seja, dias > : Encontre a mudança de status do arquivo no arquivo ou diretório de tempo especificado, em unidades de 24 calcular h
Exemplos (omitido)
6 , -mmin < número de minutos > : Encontre o número especificado de minutos em que o conteúdo do arquivo foi modificado.
7 , -mtime < days > : Encontre o número especificado de dias em que o conteúdo do arquivo foi modificado
.8 , -tipo < tipo > : Tipo de localização: arquivo F comum; arquivo de dispositivo de bloco B ; arquivo de dispositivo de caractere C ; arquivo de catálogo D ; pipeline de comando P ; arquivo de link simbólico L ; arquivo Socket ;
9 , -size < Size > : arquivo para o tamanho de arquivo especificado, blocos de unidade padrão. Unidade: b bloco ( 512 bytes); c bytes; w palavras ( 2 bytes); k kilobytes; M megabytes; G ; + especifica o tamanho do tamanho; -menos do que o tamanho especificado;
10 , -gid < grupo ID> -uid < user ID> -group < nome do grupo > -user < nome de usuário > : para o especificado grupo ID , user ID , nome de grupo, nome do arquivo do usuário
11 , -empty : move para o diretório ou arquivo de tamanho 0
12 , -exec nome do comando {} \ ;: no arquivo corresponde à consulta especificada pelo comando, {} disse que iria encontrar os parâmetros encontrados no conteúdo da instrução e, finalmente, deve ser o caractere fixo "\ ; "
find -tipo f -nome "teste *" -exec ls -l {} \;
find -type f -name "test *" -exec rm {} \;
13. Adicione parâmetros negativos:
find / root! -name "* .txt"
14. Filtrar por xargs
Encontre o conteúdo do diretório atual contém o arquivo " test888 "
encontrar . -tipo f -nome "*" | xargs grep "test888"
15. Conte o número de linhas de arquivo encontradas