Comandos Linux e habilidades de shell
find: A busca do Linux que faz tudo
find é o comando mais perigoso em um servidor de produção, e é exatamente por isso que ele merece domínio. Ele enumera, filtra e executa em uma expressão, e cada incidente clássico '/var here be dragons' remonta a uma visualização que alguém ignorou. Os hábitos são mecânicos: caminhe com -print ou -ls primeiro, agrupe com -exec ... +, passe de -print0 para xargs -0 e trate -delete como uma decisão de segunda passagem, nunca um primeiro rascunho.
Pontos principais
- Filtre os metadados, não apenas o nome: -type f, -mtime +30, -size +100M e -perm -o+w localize os arquivos estranhos que as convenções de nomenclatura e os relatórios de idade não percebem.
- Visualize todas as consultas destrutivas: find /var/www/uploads -name 'core.*' -ls primeiro, troque -ls por -delete somente depois de realmente ler a lista; a visualização é uma verificação de segurança, não uma sugestão.
- -exec cmd {} + agrupa arquivos em poucas invocações e supera o \; formam-se em árvores grandes; a mesma sintaxe permite 'rm todos os arquivos correspondentes em um processo' sem um erro de lista de argumentos muito longa.
- Saída segura para nulos por padrão: find . -nome '*.old' -print0 | xargs -0 rm -v; pipes simples em xargs são um padrão conhecido de perda de dados no dia em que um nome de arquivo contém um espaço.
- -xdev e -maxprofundidade mantêm a caminhada honesta: eles impedem find de seguir montagens e instantâneos, o que resgata tanto o tempo de execução quanto suas suposições sobre 'este diretório'.
- As janelas de tempo são precisas se perguntadas com precisão: -mmin -1440 para as últimas 24 horas, -newermt '2026-01-01' para desde uma data, e lembre-se -xtime significa 'n períodos completos de 24 horas atrás' antes de citá-lo em um ticket.
- Podar deliberadamente: encontrar . -path '*/node_modules' -prune -o -name '*.js' -print ignora o diretório que, de outra forma, supera o resto da árvore em tamanho e tempo.
- Espere saídas diferentes de zero em diretórios ilegíveis; Linhas stderr como 'Permissão negada' são arquivos ignorados, não dados, portanto, os scripts toleram o status de saída do find ou verificam-no explicitamente em vez de assumir passeios limpos.
Nota de campo
Nossa pior história de find -delete começou com um padrão -name sem aspas que o segundo shell expandiu em três palavras a montante de find. A regra desde então é simples: -print primeiro, cite sempre e -delete nunca acompanha um comando na primeira vez que é executado.
Perguntas frequentes
Minha localização encontrou arquivos, mas o comando downstream não fez nada. Por que?
Quase sempre citando ou entrada vazia: o padrão foi expandido pelo shell antes de find ser visto ou xargs não recebeu nada. Cite padrões e emparelhe -print0 com xargs -0 todas as vezes.
-delete ou rm após encontrar?
-delete é direto, rápido e implacável; não pode ser misturado com -exec na mesma expressão. Execute o -print correspondente primeiro e leia-o; essa é toda a disciplina.
Por que encontra erros de permissão de impressão nos diretórios do sistema?
Componentes que você não pode ler erros de impressão para stderr e fazer find exit diferente de zero; filtre com 2>/dev/null para conforto interativo e nunca interprete esses erros como ausência de arquivos.
Diferença entre -mtime e -ctime novamente?
-mtime é alteração de conteúdo, -ctime é alteração de metadados (permissões, renomeação, contagem de hardlink); um chown ou um movimento atinge o ctime sem tocar no mtime, o que confunde exatamente um relatório por trimestre.
Como a Kinetikatech ajuda com comandos linux e habilidades de shell
Para ser honesto, a maioria das equipes chega até nós depois de tentar sozinha primeiro: Os comandos e hábitos de script que decidem se um administrador opera um servidor ou o combate: pesquise, transforme, transfira e supervisione textos e processos com as ferramentas presentes em cada instalação básica. Nosso serviço Segurança de servidores Linux e Gestão de servidores existe para você não precisar aprender comandos linux e habilidades de shell da forma difícil: cuidamos da configuração, do monitoramento e das surpresas às 3h da manhã.