Pular para o conteúdo principal

Questão de Sistemas Operacionais — Linux — FGV 2024

Sistemas OperacionaisLinux
Código
fg165631
Banca
FGV
Órgão
CM SP
Ano
2024
Cargo
Cons Leg ( )

Com relação ao gerenciamento de sistemas Linux/posix, avalie os itens a seguir e assinale (V) para a afirmativa verdadeira e (F) para a falsa.

 

(   ) O comando grep procura padrões em um arquivo, realizando a leitura das linhas do arquivo de entrada padrão e a gravação de todas as linhas que contenham a ocorrência no arquivo de saída padrão.

 

(   ) A inclusão do símbolo & no início da linha de comando que chama o processo a ser iniciado resulta em execução em segundo plano.

 

(   ) O uso de pipeline é frequente em sistemas Linux/posix e serve para direcionar os dados processados por dois ou mais programas em sucessão.

 

As afirmativas são, respectivamente,

  1. AV – F – V.
  2. BF – V – F.
  3. CV – V – V.
  4. DF – V – V.
  5. EV – V – F.
Revelar gabarito e comentário

GabaritoA — V – F – V.

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

Gerenciamento de processos e comandos no Linux

Gabarito: letra A (V – F – V). A primeira afirmativa está correta porque o comando grep é um filtro que lê linhas da entrada padrão e envia para a saída padrão apenas as linhas que contêm o padrão procurado; a segunda está incorreta porque o símbolo & para execução em segundo plano é colocado no final da linha de comando, não no início; e a terceira está correta porque o pipeline (|) direciona a saída de um programa para a entrada de outro, permitindo que dois ou mais programas processem dados em sucessão.

O comando grep é um dos utilitários mais fundamentais do Linux/Unix. Ele funciona como um filtro de texto: lê as linhas de sua entrada padrão (que pode ser um arquivo ou a saída de outro comando via pipe) e escreve na saída padrão somente as linhas que contêm a expressão (padrão) especificada. Por exemplo, grep marcos /etc/passwd lê o arquivo /etc/passwd e exibe apenas as linhas que contêm a string "marcos". Quando usado sem um arquivo como argumento, o grep lê da entrada padrão, o que o torna ideal para ser combinado com pipes. Essa característica de "filtro" é exatamente o que a afirmativa descreve: ele lê linhas da entrada e grava na saída apenas as que contêm a ocorrência.

A execução de processos em segundo plano no shell é controlada pelo operador & (e comercial), mas a posição correta é após o comando, não no início. Quando o usuário digita comando &, o shell não espera que o processo termine; ele retorna imediatamente o prompt, permitindo que o usuário continue trabalhando enquanto o processo executa em segundo plano. Se o & fosse colocado no início, o shell tentaria interpretá-lo como parte do comando, o que não produziria o efeito desejado. Essa é uma pegadinha clássica: a banca inverte a posição do operador para confundir o candidato.

O pipeline (|) é um mecanismo poderoso do shell que conecta a saída padrão de um comando à entrada padrão de outro. Isso permite encadear vários comandos, criando um fluxo de processamento em que cada programa recebe os dados processados pelo anterior. Por exemplo, cat arquivo1 arquivo2 | sort | uniq concatena dois arquivos, ordena as linhas e remove duplicatas. O pipeline é fundamental para a filosofia Unix de combinar ferramentas simples para realizar tarefas complexas. A afirmativa está correta ao dizer que o pipeline serve para direcionar os dados processados por dois ou mais programas em sucessão.

A distinção entre & (execução em segundo plano) e | (pipeline) é essencial. Enquanto o & libera o terminal imediatamente, o | conecta a saída de um comando à entrada de outro, criando um fluxo síncrono. Ambos são operadores do shell, mas têm propósitos completamente diferentes. A banca explora essa confusão ao inverter a posição do & na afirmativa II.

NÃO CAIA NESSA!

A banca adora inverter a posição do operador &. O candidato que sabe que & significa "segundo plano" pode marcar a afirmativa como verdadeira sem perceber que ele deve vir após o comando, não no início. Lembre-se: comando & executa em segundo plano; & comando não é uma sintaxe válida. Com treino, você enxerga essas inversões de longe 💪.

Item I — ✅ Verdadeiro

A afirmativa descreve corretamente o funcionamento do grep. Ele lê as linhas da entrada padrão (ou de um arquivo) e escreve na saída padrão apenas as linhas que contêm o padrão especificado. Isso é confirmado pelo texto de apoio: "O comando grep marcos é um filtro que lê as linhas de sua entrada padrão e envia para sua saída padrão somente as linhas contendo a string 'marcos'". O grep é um filtro, e essa é a sua função principal.

Item II — ❌ Falso

A afirmativa está incorreta porque o símbolo & para execução em segundo plano deve ser colocado no final da linha de comando, não no início. O texto de apoio confirma: "Se um usuário coloca um & após um comando, o shell não espera que ele termine. Em vez disso, ele dá um prompt imediatamente". A posição do & é crucial: comando & executa em segundo plano; & comando não é uma sintaxe válida no shell.

Item III — ✅ Verdadeiro

A afirmativa está correta. O pipeline (|) é um mecanismo que direciona a saída de um comando para a entrada de outro, permitindo que dois ou mais programas processem dados em sucessão. O texto de apoio confirma: "A saída de um programa pode ser usada como entrada por outro programa conectando-os por meio de um pipe". O pipeline é uma das características mais poderosas do shell Unix/Linux.

Conclusão: Corretos: I e III → portanto a alternativa é a letra A (V – F – V).

Gabarito: letra A

Link permanente: /questoes/fg165631