Pular para o conteúdo principal

Questão de Sistemas Operacionais — Linux — Quadrix 2025

Sistemas OperacionaisLinux
Código
qg598714
Banca
Quadrix
Órgão
CRM-MS
Ano
2025
Nível
Superior
Cargo
Analista de Informática
        O dr. João é um médico que atua em uma clínica de telemedicina e utiliza um sistema com base em Linux para registrar e acessar prontuários eletrônicos. Durante suas consultas, ele precisa realizar operações avançadas no console do Linux para manipular, pesquisar e proteger arquivos médicos. 
Com base nessa situação hipotética e nos comandos utilizados em Linux a ela relacionados, julgue o item seguinte.O dr. João deseja encontrar todas as ocorrências do termo “diabetes tipo 2” em arquivos de prontuários no diretório “/home/pacientes/”. Ele pode utilizar o comando grep ‑irl “diabetes tipo 2” /home/pacientes/ para listar os arquivos que contêm essa expressão.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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”.

Comando grep no Linux: busca recursiva e opções -i, -r, -l

Gabarito: letra E (Errado). O comando grep -irl "diabetes tipo 2" /home/pacientes/ não é válido porque a opção -r (recursiva) não existe no grep padrão do Linux — a recursão é feita com -R (maiúsculo) ou -r em algumas implementações, mas a forma correta e portável é grep -Ril. Além disso, a opção -l (letra minúscula L) lista apenas os nomes dos arquivos que contêm a expressão, o que atende ao objetivo do dr. João, mas a combinação -irl está incorreta.

O grep é um dos comandos mais utilizados no Linux para pesquisar texto dentro de arquivos. Sua sintaxe básica é grep [opções] padrão [arquivo...]. As opções mais comuns incluem:

  • -i: ignora diferenças entre maiúsculas e minúsculas (case-insensitive).

  • -r ou -R: pesquisa recursivamente em todos os arquivos dentro de um diretório e seus subdiretórios. A diferença entre -r e -R é sutil: -R segue links simbólicos, enquanto -r não. Na prática, muitos sistemas aceitam ambos, mas a documentação oficial do GNU grep recomenda -R para recursão completa.

  • -l: em vez de exibir as linhas que correspondem ao padrão, lista apenas os nomes dos arquivos que contêm pelo menos uma correspondência. Isso é útil quando se quer saber quais arquivos contêm o termo, sem mostrar o conteúdo.

  • -n: mostra o número da linha onde a correspondência foi encontrada.

  • -c: conta o número de linhas correspondentes em cada arquivo.

  • -v: inverte a seleção, mostrando as linhas que NÃO correspondem ao padrão.

  • -E: usa expressões regulares estendidas (equivale ao egrep).

  • -w: busca apenas palavras inteiras (o padrão deve corresponder a uma palavra completa).

No caso do dr. João, ele quer encontrar todos os arquivos que contêm a expressão "diabetes tipo 2" no diretório /home/pacientes/. O comando correto seria:

grep -Ril "diabetes tipo 2" /home/pacientes/

Ou, se a implementação do grep aceitar -r (como no GNU grep), grep -ril também funcionaria, mas a forma mais segura e portável é usar -R. A banca considerou o item errado porque a opção -r minúscula não é a padrão para recursão no grep — o correto é -R maiúsculo.

É importante notar que a opção -l (letra L minúscula) é diferente da opção -L (letra L maiúscula): -l lista os arquivos que contêm o padrão, enquanto -L lista os arquivos que NÃO contêm o padrão. Essa é uma pegadinha clássica em provas.

Outra pegadinha comum é confundir grep com find. Enquanto grep busca conteúdo dentro de arquivos, find busca arquivos e diretórios por nome, tipo, tamanho, data de modificação, etc. Por exemplo, find /home/pacientes -name "*.txt" encontraria todos os arquivos .txt no diretório, mas não procuraria conteúdo dentro deles.

Para fixar:

Comando

Função

grep -i

Ignora maiúsculas/minúsculas

grep -R

Busca recursiva (segue links simbólicos)

grep -r

Busca recursiva (não segue links simbólicos) — menos comum

grep -l

Lista apenas nomes de arquivos com correspondência

grep -L

Lista apenas nomes de arquivos sem correspondência

find

Localiza arquivos/diretórios por atributos

NÃO CAIA NESSA!

A banca troca a opção -R (maiúscula) por -r (minúscula) para recursão no grep. Muitos candidatos conhecem a recursão, mas não lembram que a forma canônica é -R. Além disso, confundem -l (lista arquivos com correspondência) com -L (lista arquivos sem correspondência). Fique atento a essas letras!

Alternativa E — ❌ Errado ⟵ GABARITO

O item está errado porque o comando grep -irl não é a forma correta para busca recursiva no Linux. A opção para recursão no grep é -R (maiúscula), não -r (minúscula). Embora algumas versões do grep aceitem -r, a documentação oficial e a maioria das provas consideram -R como a opção correta. Além disso, a combinação -irl não é padrão: o correto seria -Ril (ou -ril se a implementação aceitar). Portanto, o comando apresentado não funcionaria como esperado, tornando o item errado.

Gabarito: letra E (Errado).

Link permanente: /questoes/qg598714