Questão de Sistemas Operacionais — Linux — FGV 2024
Sistemas Operacionais›Linux
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,
AV – F – V.
BF – V – F.
CV – V – V.
DF – V – V.
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).