Questão de Sistemas Operacionais — Linux — FUNDATEC 2026
- Código
- qg686027
- Banca
- FUNDATEC
- Órgão
- IFC-SC
- Ano
- 2026
- Nível
- Superior
- Cargo
- Professor EBTT - Informática: Programação de Sistemas
- A2
- B3
- C4
- D5
- EErro de execução
GabaritoB — 3
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.
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.
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.
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.
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.
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.
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