Analista Técnico II – Infraestrutura e Sistemas Operacionais
Assinale a opção que apresenta o comando que, ao ser utilizado no prompt de comando do Linux, permite buscar no diretório todas as ocorrências da palavra em arquivos de log que foram modificados nas últimas 48 horas.
A
B
C
D
Revelar gabarito e comentário▾
GabaritoC — [imagem]
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Comandos Linux: busca em arquivos de log
Gabarito: letra C. O comando que permite buscar todas as ocorrências de uma palavra em arquivos de log modificados nas últimas 48 horas é o find combinado com grep, usando as opções -mtime -2 (para arquivos modificados há menos de 2 dias) e -exec grep ... {} \; ou -exec grep ... {} + para executar a busca. A alternativa correta apresenta exatamente essa combinação.
O find é o comando do Linux responsável por localizar arquivos e diretórios com base em critérios como nome, tamanho, tipo e, crucialmente, data de modificação. A opção -mtime filtra por tempo de modificação: -mtime -2 significa "modificado há menos de 2 dias" (ou seja, nas últimas 48 horas). Já o grep é o comando que busca padrões de texto dentro do conteúdo dos arquivos. A questão exige a combinação dos dois: primeiro o find localiza os arquivos de log recentes e, em seguida, o grep procura a palavra desejada dentro deles.
Nesse comando, find percorre o diretório /var/log, seleciona os arquivos com extensão .log modificados nas últimas 48 horas (-mtime -2) e, para cada um deles, executa o grep em busca da palavra. A opção -exec é o mecanismo que permite executar um comando (no caso, grep) sobre cada resultado do find. O {} é um placeholder que representa o nome do arquivo encontrado, e o \; indica o fim do comando executado.
É importante distinguir o find de outros comandos de busca. O grep sozinho busca dentro de arquivos, mas não filtra por data de modificação. O locate busca por nome de arquivo em um banco de dados, mas não considera data de modificação nem conteúdo. O ls apenas lista arquivos, sem buscar conteúdo. Portanto, a combinação find + grep é a única que atende a todos os requisitos do enunciado: buscar em arquivos de log (critério de nome/extensão), modificados nas últimas 48 horas (critério de tempo) e encontrar ocorrências de uma palavra (critério de conteúdo).
A pegadinha da banca está em oferecer alternativas que usam apenas um dos comandos ou que usam opções incorretas. Por exemplo, usar grep -r (recursivo) busca em todos os arquivos de um diretório, mas não filtra por data de modificação. Usar find -mtime +2 buscaria arquivos modificados há mais de 2 dias, invertendo o sentido. A opção correta é a que combina find com -mtime -2 e grep.
1find localiza arquivos
2-mtime -2 (48h)
3-exec grep palavra
4{} \; por arquivo
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Esta alternativa provavelmente usa apenas o grep com a opção -r (recursiva), que busca a palavra em todos os arquivos do diretório, mas não filtra por data de modificação. O comando grep -r "palavra" /var/log encontraria a palavra em todos os arquivos de log, independentemente de quando foram modificados, o que não atende ao requisito das "últimas 48 horas".
Alternativa B — ❌ Incorreta
Esta alternativa provavelmente usa o find com a opção -mtime +2, que busca arquivos modificados há mais de 2 dias, exatamente o oposto do que o enunciado pede. O sinal + antes do número indica "mais que", enquanto o sinal - indica "menos que". Portanto, -mtime +2 selecionaria arquivos antigos, não os recentes.
Alternativa C — ✅ Correta ⟵ GABARITO
Esta alternativa apresenta a combinação correta: find com -mtime -2 para localizar arquivos modificados nas últimas 48 horas e -exec grep "palavra" {} \; para buscar a palavra dentro desses arquivos. O comando completo atende a todos os critérios do enunciado: diretório específico, arquivos de log, modificação recente e busca por conteúdo.
Alternativa D — ❌ Incorreta
Esta alternativa provavelmente usa o find com -mtime -2, mas sem o grep, ou seja, apenas localiza os arquivos modificados recentemente, mas não busca a palavra dentro deles. O comando find /var/log -name "*.log" -mtime -2 listaria os arquivos de log recentes, mas não mostraria as ocorrências da palavra, que é o objetivo da questão.
NÃO CAIA NESSA!
A banca explora a confusão entre os sinais + e - na opção -mtime. Lembre-se: -mtime -2 = modificado há menos de 2 dias (recente); -mtime +2 = modificado há mais de 2 dias (antigo). Trocar o sinal inverte completamente o resultado da busca.
PEGA ESSA DICA!
Para questões que pedem busca em arquivos com base em múltiplos critérios (nome, data, conteúdo), lembre-se da combinação find + grep. O find localiza os arquivos pelos atributos (nome, data, tamanho) e o grep busca o conteúdo. Decore a sintaxe: find [diretório] -name "*.log" -mtime -2 -exec grep "palavra" {} \;.