Pular para o conteúdo principal

Questão de Sistemas Operacionais — Linux — VUNESP 2023

Sistemas OperacionaisLinux
Código
vu197281
Banca
VUNESP
Órgão
UNICAMP
Ano
2023
Cargo
PTIC ( )
O comando a seguir foi utilizado em um shell (como o bash) de um sistema operacional Linux.   echo "Ola mundo" | wc -l   É correto afirmar que o valor retornado por esse comando será:
  1. A0
  2. B1
  3. C3
  4. D8
  5. E9
Revelar gabarito e comentário

GabaritoB — 1

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

Resolução

Gabarito: letra B — a conta chega a 1 (alternativa B).

A ideia por trás

O comando echo é um utilitário do shell que imprime seus argumentos na saída padrão, seguidos de uma quebra de linha. O comando wc (word count) é um filtro que conta linhas, palavras, caracteres e bytes de um arquivo ou da entrada padrão. A opção -l faz com que ele conte apenas o número de linhas.

O pipe (|) conecta a saída padrão de um comando à entrada padrão de outro. No comando echo "Ola mundo" | wc -l, o echo escreve "Ola mundo\n" na saída padrão, e o wc -l lê essa entrada, conta as linhas e imprime o número 1. O wc -l conta apenas as quebras de linha, não palavras nem caracteres.

Esta questão cobra o entendimento do funcionamento do pipe e do que exatamente o wc -l conta: linhas, não palavras. A pegadinha está em confundir o número de linhas com o número de palavras ou caracteres.

O que a questão dá

  • comando: echo "Ola mundo" | wc -l

O que queremos: o valor retornado pelo comando

Passo 1 — Entender o que o echo produz

O primeiro comando do pipe é o echo, e precisamos saber exatamente o que ele envia para o próximo comando. O echo imprime seus argumentos na saída padrão e adiciona uma quebra de linha ao final. Portanto, a saída é uma única linha de texto: "Ola mundo\n".

umalinha:"Olamundo\n"\boxed{uma linha: "Ola mundo\n"}
NÃO CAIA NESSA!

Pensar que o echo não adiciona quebra de linha, mas ele sempre adiciona uma ao final.

Passo 2 — Entender o que o wc -l conta

O wc -l é o segundo comando do pipe, e precisamos saber o que ele conta. A opção -l faz com que ele conte apenas o número de linhas, ou seja, o número de quebras de linha na entrada. Como a entrada é "Ola mundo\n", há exatamente uma quebra de linha.

1 linha\boxed{1\ \text{linha}}
NÃO CAIA NESSA!

Confundir linhas com palavras: a string tem 2 palavras, mas apenas 1 linha.

Resposta: 1 (alternativa B)

Link permanente: /questoes/vu197281