Questão de Sistemas Operacionais — Linux — VUNESP 2023
- Código
- vu197281
- Banca
- VUNESP
- Órgão
- UNICAMP
- Ano
- 2023
- Cargo
- PTIC ( )
- A0
- B1
- C3
- D8
- E9
GabaritoB — 1
Gabarito: letra B — a conta chega a 1 (alternativa B).
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.
comando: echo "Ola mundo" | wc -l
O que queremos: o valor retornado pelo comando
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".
Pensar que o echo não adiciona quebra de linha, mas ele sempre adiciona uma ao final.
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.
Confundir linhas com palavras: a string tem 2 palavras, mas apenas 1 linha.
Resposta: 1 (alternativa B)
Link permanente: /questoes/vu197281