Questão de Sistemas Operacionais — Linux — VUNESP 2024
Sistemas Operacionais›Linux
Código
vu212371
Banca
VUNESP
Órgão
SPTrans
Ano
2024
Cargo
Tec ( )
O seguinte comando foi digitado no terminal de um sistema operacional Linux. echo “block” >> data.txt É correto afirmar que o efeito do comando será
Atrocar o nome do arquivo para “block”.
Btrocar a extensão do arquivo para “block”.
Ctrocar o conteúdo do arquivo data.txt para “block”.
Dadicionar a sequência “block” no início do conteúdo do arquivo data.txt.
Eadicionar a sequência “block” no final do conteúdo do arquivo data.txt.
Revelar gabarito e comentário▾
GabaritoE — adicionar a sequência “block” no final do conteúdo do arquivo data.txt.
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”.
Redirecionamento de saída no Linux: o operador >>
Gabarito: letra E. O comando echo "block" >> data.txtadiciona (anexa) a sequência block ao final do conteúdo do arquivo data.txt, sem apagar o que já existe. Isso ocorre porque o operador >> é o redirecionamento de acréscimo (append), enquanto o operador > sobrescreveria o arquivo. A distinção entre > e >> é o coração da questão.
O comando echo é um utilitário do shell que simplesmente exibe (imprime) o texto passado como argumento. Quando combinado com um redirecionador, a saída padrão (stdout) do echo deixa de ir para o terminal e passa a ser direcionada para o arquivo indicado. Existem dois redirecionadores principais para saída padrão:
> — sobrescreve: cria o arquivo se ele não existir ou apaga todo o conteúdo anterior e escreve a nova saída. É o operador de truncamento.
>> — acrescenta: cria o arquivo se ele não existir ou adiciona a nova saída ao final do conteúdo já existente, preservando o que havia antes. É o operador de append.
No comando do enunciado, echo "block" >> data.txt, o shell interpreta o >> e anexa a string block (sem aspas, pois o shell as remove durante a expansão) ao final do arquivo data.txt. Se o arquivo não existir, ele é criado com esse conteúdo; se existir, o conteúdo original permanece e a nova linha é adicionada ao fim.
Vejamos um exemplo prático para fixar. Suponha que data.txt contenha a linha linha1. Após executar echo "block" >> data.txt, o arquivo passará a ter:
linha1
block
Se, em vez disso, tivéssemos usado echo "block" > data.txt, o arquivo ficaria apenas com block, perdendo a linha1. Essa é a diferença crucial que a banca explora.
A pegadinha desta questão é justamente a confusão entre os dois operadores. O candidato que decora que > redireciona, mas não memoriza a diferença entre sobrescrever e acrescentar, tende a marcar a alternativa C (trocar o conteúdo) ou a D (adicionar no início). O >>nunca insere no início — ele sempre anexa ao final. Além disso, o comando não altera o nome nem a extensão do arquivo; ele apenas modifica o conteúdo (no caso, adicionando ao final).
Guarde a regra de ouro: > = sobrescreve; >> = acrescenta ao final. É exatamente nessa fronteira que as alternativas se dividem.
1echo "block"
2Operador >> (append)
3Adiciona ao final do arquivo
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que o comando troca o nome do arquivo para block. Isso não ocorre: o echo com redirecionamento não renomeia arquivos. Para renomear, usaríamos o comando mv data.txt block. O redirecionamento apenas direciona a saída para o arquivo, sem alterar seu nome.
Alternativa B — ❌ Incorreta
Afirma que o comando troca a extensão do arquivo para block. Novamente, não há alteração do nome ou da extensão do arquivo. O redirecionamento não modifica metadados do arquivo como nome ou extensão; ele apenas escreve dados no conteúdo. A extensão .txt permanece inalterada.
Alternativa C — ❌ Incorreta
Afirma que o comando troca o conteúdo do arquivo para block. Isso seria o efeito do operador > (sobrescrever), não do >>. Com >>, o conteúdo original é preservado e a string block é adicionada ao final. Portanto, o conteúdo não é substituído, apenas acrescido.
Alternativa D — ❌ Incorreta
Afirma que o comando adiciona a sequência block no início do conteúdo do arquivo. O operador >> sempre anexa ao final do arquivo, nunca no início. Para inserir no início, seria necessário usar outros mecanismos (como sed -i '1i block' data.txt), mas não com echo >>.
Alternativa E — ✅ Correta ⟵ GABARITO
O comando echo "block" >> data.txt adiciona a sequência block ao final do conteúdo do arquivo data.txt. O operador >> é o redirecionamento de acréscimo (append), que preserva o conteúdo existente e adiciona a nova saída ao fim. Se o arquivo não existir, ele é criado. Essa é exatamente a descrição da alternativa.
NÃO CAIA NESSA!
A banca explora a confusão entre os operadores > e >>. O candidato que sabe que ambos redirecionam, mas não distingue sobrescrever de acrescentar, tende a marcar a letra C (trocar o conteúdo). Lembre-se: > apaga e escreve; >> preserva e anexa ao final. Com esse par bem fixado, você elimina as alternativas C e D na hora.
PEGA ESSA DICA!
Na prova, ao ver um redirecionamento, pergunte-se: "o arquivo será sobrescrito ou acrescido?". Se o símbolo for >, sobrescreve; se for >>, acrescenta ao final. Essa pergunta resolve a maioria das questões sobre redirecionamento de saída no Linux.