🎯 Saiba o que estudar

Avançado com Treinador a partir de R$ 0,76/dia

Analise as afirmativas sobre redirecionamento no sistema op...

Próximas questões
Com base no mesmo assunto
Q947285 Sistemas Operacionais

Analise as afirmativas sobre redirecionamento no sistema operacional Linux, colocando entre parênteses a letra “V”, quando se tratar de afirmativa verdadeira, e a letra “F” quando se tratar de afirmativa falsa. A seguir, assinale a alternativa que apresenta a sequência correta.

( ) O ‘>’ redireciona o resultado de algum comando para um arquivo, manipulando tanto mensagens de operações bem sucedidas quanto mensagens de erro.

( ) O ‘ 1 >> ’ redireciona o resultado de algum comando para o final de um arquivo, sem apagar o conteúdo anterior, manipulando tanto mensagens de operações bem sucedidas quanto mensagens de erro.

( ) O ‘2>> ’ redireciona o resultado apenas das mensagens de erro de algum comando para o final de um arquivo, sem apagar o conteúdo anterior.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: D - F - F - V.

Vamos analisar as afirmativas para entender por que a alternativa D é a correta.

Afirmativa 1: "O ‘>’ redireciona o resultado de algum comando para um arquivo, manipulando tanto mensagens de operações bem-sucedidas quanto mensagens de erro."

Essa afirmativa é falsa. No Linux, o operador > é utilizado para redirecionar apenas a saída padrão (stdout) de um comando para um arquivo, e não redireciona as mensagens de erro (stderr). Para redirecionar ambos, seria necessário utilizar 2>&1 em combinação com >.

Afirmativa 2: "O ‘1 >>’ redireciona o resultado de algum comando para o final de um arquivo, sem apagar o conteúdo anterior, manipulando tanto mensagens de operações bem-sucedidas quanto mensagens de erro."

Essa afirmativa também é falsa. O operador >> é de fato usado para redirecionar a saída padrão (stdout) para o final de um arquivo, preservando o conteúdo pré-existente, mas não redireciona mensagens de erro. O 1>> explicitamente refere-se à saída padrão, enquanto as mensagens de erro (stderr) requerem o uso de 2>>.

Afirmativa 3: "O ‘2>> ’ redireciona o resultado apenas das mensagens de erro de algum comando para o final de um arquivo, sem apagar o conteúdo anterior."

Aqui temos uma afirmativa verdadeira. O operador 2>> é utilizado para redirecionar apenas a saída de erro padrão (stderr) para o final de um arquivo, preservando o conteúdo anterior, o que é exatamente o que a afirmativa descreve.

Essa questão exige do candidato um entendimento claro dos conceitos de redirecionamento de saída no Linux, um conhecimento fundamental para a administração de sistemas. Compreender a diferença entre stdout (saída padrão) e stderr (saída de erro) é crucial para manipular corretamente os logs e saídas dos comandos.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

GABARITO D

(F) O ‘>’ redireciona o resultado de algum comando para um arquivo, manipulando tanto mensagens de operações bem sucedidas quanto mensagens de erro. (Somente mensagens bem sucessidas, quando temos o caractere ">" sozinho com o número do descritor ausente, é considerado a saída padrão, ou seja, STDOUT que tem como descritor o número "1")

(F) O ‘ 1 >> ’ redireciona o resultado de algum comando para o final de um arquivo, sem apagar o conteúdo anterior, manipulando tanto mensagens de operações bem sucedidas quanto mensagens de erro. (Somente para mensagens bem sucedidas)

(V) O ‘2>> ’ redireciona o resultado apenas das mensagens de erro de algum comando para o final de um arquivo, sem apagar o conteúdo anterior.

Foco na missão, eu vou ser QCO !

Entrada e Saída de Shell:

 

0 - Entrada - padrão ---------------------> stdin     <         Teclado 

1 - Saída - padrão ------------------------> stdout   >         Vídeo

2 - Saída - padrão de erros ------------> stderr     2>        Vídeo

 

>> - Concatena a saída padrão

Vamos aos comentários.

(F) O ‘>’ redireciona o resultado de algum comando para um arquivo, manipulando tanto mensagens de operações bem sucedidas quanto mensagens de erro.

Explicação: ">" serve para enviarmos a saída do comando para um outro arquivo.

"2>" serve para redireciona os erros gerados pelo comando para um arquivo especificado e mesmo que não ocorram erros no comando, o arquivo é criado. Por exemplo, $ ls arquivoquenaoexiste 2> erros esse comando vai gerar um erro, pois não existe o arquivo especificado, este será enviado para o arquivo erros, se este arquivo não existir o arquivo será criado, mesmo que não haja erros.

(F) O ‘ 1 >> ’ redireciona o resultado de algum comando para o final de um arquivo, sem apagar o conteúdo anterior, manipulando tanto mensagens de operações bem sucedidas quanto mensagens de erro.

Explicação: O certo é usar o comando ">>", exemplo, $ ls >> arquivosdodiretorio esse comando serve para listar os arquivos e pastas do diretório, será direcionada para o arquivo arquivosdodiretorio, e se este arquivo já existir, a saída do comando será adicionada ao fim do arquivo. 

(V) O ‘2>> ’ redireciona o resultado apenas das mensagens de erro de algum comando para o final de um arquivo, sem apagar o conteúdo anterior.

Para mais consultas acessar o site VivaLinux: "https://www.vivaolinux.com.br/dica/Redirecionamento-no-Shell"

#SóNinja

#CursoAdonai

O redirecionamento no Linux é feito pelos operadores >, >>, <, 2>, 2>> e |.

(1) > é usado para sobrescrever um arquivo com a saída do comando.

Exemplo: comando > arquivo.

(2) >> seria a mesma coisa que o >, mas com uma diferença, não sobrescreve o arquivo, podendo escrever mais.

Exemplo: comando >> arquivo.

(3) < ao invés de mandar a saída do comando para o arquivo, ele manda os valores do arquivo como entrada do comando.

Exemplo: comando < arquivo.

(4) << é utilizado para enviar múltiplas linhas de um arquivo(here_document) para a entrada de um comando até encontrar um delimitador, normalmente sendo uma string 'EOF' por convenção.

here_document é um tipo de "documento" escrito em tempo real no terminal Linux.

Exemplo: comando << EOF > arquivo

(5) <<< é utilizado para enviar uma string(here_string) diretamente para o comando ao invés de valores em um arquivo.

here_string é uma string simples escrita em tempo real no terminal Linux.

Exemplo: comando <<< "string" > arquivo

(6) O 2> redireciona somente as mensagens de erro para um arquivo, sobrescrevendo.

Exemplo: comando 2> arquivo.

(7) O 2>> seria a mesma coisa que o 2>, mas não sobrescreve, que enviado erros do comando.

Exemplo: comando 2>> arquivo.

(8) O | pipe faz é redirecionar a saída de comando1 para entrada de comando2.

Comandos que trabalham muito bem com o pipe:

- echo;

- cat;

- less;

- more;

- sed;

- awk.

Exemplo: comando1 | comando2.

A - Redireciona a Saida Padrao (nao a mensagem de sucesso e erro)

B - idem letra A

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo