Pular para o conteúdo principal

Questão de Sistemas Operacionais — Geral — CESPE / CEBRASPE 2024

Sistemas OperacionaisGeral
Código
ce404150
Banca
CESPE / CEBRASPE
Órgão
SEBRAE
Ano
2024
Cargo
Ana Tec II ( )
Assinale a opção que apresenta o comando que, ao ser utilizado no prompt de comando do Linux, permite buscar no diretório /var/log/syslog* todas as ocorrências da palavra CRON em arquivos de log que foram modificados nas últimas 48 horas.
  1. Agrep "CRON" $ (find /var/log -name "syslog*" -type f - time -2880)
  2. Bgrep "CRON" $ (find /var/log -name "syslog*" -type f - time -2)
  3. Cgrep "CRON" $ (find /var/log -name "syslog*" -type f - mtime -2)
  4. Dgrep "CRON" $ (find /var/log -name "syslog*" -type f - htime -2)
Revelar gabarito e comentário

GabaritoC — grep "CRON" $ (find /var/log -name "syslog*" -type f - mtime -2)

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: find e grep

Gabarito: letra C. O comando correto combina grep para filtrar linhas contendo "CRON" com find para localizar arquivos syslog* modificados nas últimas 48 horas, usando a opção -mtime -2 (que significa "modificado há menos de 2 dias"). As demais alternativas erram ao usar opções inexistentes (-time, -htime) ou valores incorretos (-2 em vez de -2880 para minutos).

O comando find é uma ferramenta poderosa para localizar arquivos e diretórios com base em diversos critérios, como nome, tipo, tamanho e, crucialmente, tempo de modificação. Para filtrar por tempo, o find oferece as opções -mtime (modificação), -atime (acesso) e -ctime (mudança de status). O valor numérico dessas opções é interpretado em dias, e o sinal de menos (-) antes do número indica "menos que" (ou seja, arquivos modificados nos últimos N dias). Portanto, -mtime -2 seleciona arquivos cujo conteúdo foi modificado há menos de 48 horas.

A opção -name permite especificar um padrão de nome de arquivo, e o curinga * é usado para casar qualquer sequência de caracteres. Assim, -name "syslog*" encontra todos os arquivos cujo nome começa com "syslog". O argumento -type f restringe a busca a arquivos regulares, excluindo diretórios e outros tipos de arquivos especiais.

O comando grep é usado para pesquisar texto dentro de arquivos. A sintaxe básica é grep "padrão" arquivo. Quando combinado com find, a técnica comum é usar a substituição de comando $(...) para passar a lista de arquivos encontrados pelo find como argumentos para o grep. O comando completo grep "CRON" $(find /var/log -name "syslog*" -type f -mtime -2) primeiro executa o find para gerar a lista de arquivos e, em seguida, o grep pesquisa a palavra "CRON" em cada um deles.

A pegadinha desta questão está na unidade de tempo. O find trabalha com dias para -mtime, -atime e -ctime. A alternativa A tenta usar -time -2880, que não é uma opção válida, e mesmo que fosse, 2880 minutos equivalem a 2 dias, mas a sintaxe correta seria -mmin -2880 (que usa minutos). A alternativa B usa -time -2, que também não existe. A alternativa D usa -htime -2, que é outra opção inexistente. Apenas a alternativa C usa a sintaxe correta -mtime -2.

Guarde a distinção entre as opções de tempo do find: -mtime (modificação do conteúdo), -atime (último acesso) e -ctime (mudança de status/inode). E lembre-se de que o valor é sempre em dias, a menos que você use -mmin, -amin ou -cmin para minutos. É exatamente essa distinção que separa a alternativa correta das incorretas.

  1. 1-mtime (modificação)
  2. 2-atime (acesso)
  3. 3-ctime (status)
  4. 4Valor em dias
  5. 5Sinal - = últimos N dias
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A opção -time não existe no comando find. As opções válidas para tempo são -mtime, -atime e -ctime (em dias) ou -mmin, -amin e -cmin (em minutos). Além disso, o valor -2880 seria interpretado como dias, o que corresponderia a aproximadamente 7,9 anos, não 48 horas. Para buscar por minutos, a sintaxe correta seria -mmin -2880.

Alternativa B — ❌ Incorreta

Assim como a alternativa A, usa a opção inexistente -time. Mesmo que -time existisse, o valor -2 seria interpretado como dias, o que estaria correto para 48 horas, mas a opção em si é inválida. A alternativa correta usa -mtime -2.

Alternativa C — ✅ Correta ⟵ GABARITO

Esta é a única alternativa que usa a sintaxe correta. A opção -mtime -2 do find seleciona arquivos modificados há menos de 2 dias (48 horas). O comando completo grep "CRON" $(find /var/log -name "syslog*" -type f -mtime -2) primeiro encontra os arquivos de log que começam com "syslog" no diretório /var/log, modificados nas últimas 48 horas, e depois pesquisa a palavra "CRON" nesses arquivos.

Alternativa D — ❌ Incorreta

A opção -htime não existe no comando find. Não há nenhuma opção de tempo com a letra "h" no find. As opções válidas são -mtime, -atime, -ctime (dias) e -mmin, -amin, -cmin (minutos).

NÃO CAIA NESSA!

A banca explora a confusão entre as unidades de tempo do find. O candidato pode lembrar que 48 horas = 2880 minutos e procurar uma opção com esse número, mas o find usa dias por padrão. A alternativa A tenta usar -time -2880, que é inválida, e a alternativa B usa -time -2, que também é inválida. A pegadinha é que -mtime -2 é a forma correta, e não -time -2 ou -htime -2. Fique atento: -mtime é para modificação, -atime para acesso e -ctime para mudança de status.

PEGA ESSA DICA!

Para memorizar as opções de tempo do find, lembre-se da sigla MAC (Modificação, Acesso, Ctime). E para a unidade, lembre-se: dias para -mtime, -atime, -ctime; minutos para -mmin, -amin, -cmin. O sinal de menos (-) antes do número significa "menos que" (últimos N dias/minutos).

Gabarito: letra C

Link permanente: /questoes/ce404150