Pular para o conteúdo principal

Questão de Sistemas Operacionais — Linux — FUNDATEC 2026

Sistemas OperacionaisLinux
Código
qg686027
Banca
FUNDATEC
Órgão
IFC-SC
Ano
2026
Nível
Superior
Cargo
Professor EBTT - Informática: Programação de Sistemas
Considere que um diretório em um sistema operacional Linux contém apenas os seguintes arquivos:relatorio1.txtrelatorio2.txtdados.csvnotas.txtscript.shUm usuário executa o seguinte comando no terminal:printf "%s\n" *.txt | wc -lAssinale a alternativa que apresenta o resultado produzido por esse comando.
  1. A2
  2. B3
  3. C4
  4. D5
  5. EErro de execução
Revelar gabarito e comentário

GabaritoB — 3

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

Expansão de glob e contagem de linhas no Linux

Gabarito: letra B (3). O comando printf "%s\n" *.txt | wc -l funciona da seguinte forma: o shell expande *.txt para todos os arquivos do diretório atual que terminam com .txt. No diretório listado, esses arquivos são relatorio1.txt, relatorio2.txt e notas.txt — total de 3 arquivos. O printf imprime cada um desses nomes em uma linha separada. O pipe envia essa saída para wc -l, que conta o número de linhas, resultando em 3. Não há erro de execução; o glob é válido e o comando é executado normalmente.

  1. 1Shell expande *.txt
  2. 23 arquivos .txt
  3. 3printf imprime 1 por linha
  4. 4wc -l conta 3 linhas
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A alternativa A (2) subestima a quantidade de arquivos .txt. Existem 3 arquivos com extensão .txt, não 2. O candidato pode confundir com uma contagem incorreta dos arquivos.

Alternativa B — ✅ Correta ⟵ GABARITO

Conforme explicado, o glob .txt expande para os 3 arquivos .txt do diretório, e o pipeline printf | wc -l conta exatamente 3 linhas. A alternativa está correta.

Alternativa C — ❌ Incorreta

A alternativa C (4) seria o total de arquivos no diretório (incluindo dados.csv e script.sh). O glob *.txt restringe apenas aos arquivos .txt, ignorando os demais. Portanto, 4 não corresponde ao resultado.

Alternativa D — ❌ Incorreta

A alternativa D (5) conta todos os arquivos do diretório, sem a filtragem do glob. O comando só considera os .txt, resultando em 3, não 5.

Alternativa E — ❌ Incorreta

Não há erro de execução. O glob *.txt expande normalmente (há arquivos .txt), o printf funciona, o pipe é válido e o wc -l conta as linhas. O comando executa sem problemas.

PEGA ESSA DICA!

Em questões de shell, lembre-se que o glob é expandido pelo shell antes da execução do comando. Então, *.txt vira a lista de nomes correspondentes. O wc -l conta linhas, não números de arquivos; mas aqui cada arquivo é impresso em uma linha, por isso a contagem coincide. Para outros formatos (ex: printf "%s " *.txt), o resultado seria diferente.

Gabarito: letra B — 3.

Link permanente: /questoes/qg686027