Questão de Sistemas Operacionais — Linux — Quadrix 2025
- Código
- qg603669
- Banca
- Quadrix
- Órgão
- SEDF
- Ano
- 2025
- Nível
- Superior
- Cargo
- Professor de Educação Básica: Informática
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: ✅ CERTO. O comando grep -r "aprovados" /seedf/professor realiza, de fato, uma busca recursiva pela string "aprovados" em todos os arquivos contidos no diretório /seedf/professor e seus subdiretórios. A opção -r (ou --recursive) do grep é exatamente o que determina essa recursividade, e o caminho absoluto informado é o alvo da busca.
O grep é um dos comandos mais fundamentais do Linux, utilizado para buscar padrões de texto dentro de arquivos. Sua sintaxe básica é grep [opções] padrão [arquivo...]. Quando você executa grep -r "aprovados" /seedf/professor, o comando percorre o diretório especificado e todos os seus subdiretórios, lendo cada arquivo e verificando se a palavra "aprovados" aparece em seu conteúdo. A opção -r é a chave para essa varredura recursiva; sem ela, o grep tentaria tratar o diretório como um arquivo e falharia (ou, em algumas versões, pediria a opção -d para lidar com diretórios).
Na prática, imagine que o diretório /seedf/professor contenha os arquivos notas.txt, relatorio.pdf e um subdiretório turmas com alunos.csv. O comando grep -r "aprovados" /seedf/professor procurará a palavra "aprovados" em notas.txt, em relatorio.pdf (se for um arquivo de texto ou se o grep conseguir ler o binário) e em turmas/alunos.csv. Se a palavra for encontrada, o grep exibirá a linha correspondente, precedida pelo nome do arquivo (quando há mais de um arquivo).
É importante distinguir o grep de outros comandos de busca. O find localiza arquivos e diretórios com base em atributos como nome, tamanho e data de modificação, mas não busca conteúdo dentro dos arquivos. Já o grep é especializado em buscar conteúdo textual. Essa distinção é clássica em provas de concursos: a banca pode tentar confundir o candidato afirmando que o grep busca por nome de arquivo, o que é incorreto.
Outra pegadinha comum é a troca da opção -r por -R. Embora ambas ativem a recursividade, -R (maiúscula) também segue links simbólicos, enquanto -r (minúscula) não os segue por padrão. Na questão, a opção usada é -r, que é suficiente para a busca recursiva em todos os arquivos do diretório, sem a necessidade de seguir links simbólicos.
Portanto, a afirmação do enunciado está correta: o comando realiza uma busca recursiva pela palavra "aprovados" em todos os arquivos dentro de /seedf/professor. A banca não explorou nenhuma armadilha aqui; a questão é direta e testa o conhecimento básico da sintaxe do grep.
A banca poderia ter trocado grep por find, ou omitido a opção -r, o que tornaria o comando incorreto. Fique atento: grep busca conteúdo de arquivos, enquanto find busca arquivos por nome/atributos. Além disso, sem -r, o grep não percorre subdiretórios automaticamente.
Para memorizar, lembre-se: grep = Global Regular Expression Print. Ele imprime linhas que correspondem a um padrão. A opção -r é a "recursiva". Se a questão falar em "buscar arquivos pelo nome", o comando é find; se falar em "buscar texto dentro de arquivos", é grep.
✅ CERTO
Link permanente: /questoes/qg603669