Analise as afirmativas sobre redirecionamento no sistema op...
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.
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.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo