Três fluxos são abertos quando o sistema operacional Linux é iniciado. Estes são stdin, stdout e stderr. A forma completa do stdin é a entrada padrão que é usada para obter uma entrada do usuário. A forma completa de stdout é a saída padrão que é usada para armazenar a saída do comando no fluxo stdout. A forma completa do stderr é o erro padrão usado para armazenar a mensagem de erro gerada de qualquer comando para o fluxo de dados. Os usos desses fluxos são mostrados neste tutorial. Os valores de identificador numérico correspondentes de stdin, stdout e stderr são 0, 1 e 2.
Operadores de redirecionamento de stdin, stdout e stderr
Usos de stdin, stdout e stderr
Os usos de stdin, stdout e stderr são mostrados nesta parte do tutorial usando vários exemplos.
Exemplo 1: Uso de stdin
O método de pegar o conteúdo de um arquivo e imprimi -lo no terminal é mostrado neste exemplo.
Execute o seguinte comando "CAT" para criar um arquivo de texto chamado testdata.txt com algum conteúdo:
$ cat> testData.TXT
Execute o seguinte comando “CAT” para anexar algum conteúdo no TestData.Arquivo TXT:
$ cat >> testData.TXT
Execute o seguinte comando "CAT" para obter uma entrada do TestData.Arquivo TXT e imprima -o no terminal:
$ cat < testdata.txt
Saída:
A saída a seguir aparece após a execução dos comandos anteriores após adicionar a string, “Linuxhint.com ”e“ linguagem de script ”no testdata.Arquivo TXT:
Exemplo 2: Uso de stdout
O método de criar um arquivo usando o tubo (|) e o operador de redirecionamento é mostrado neste exemplo.
Execute o seguinte comando para escrever uma string dados no arquivo de texto chamado testData2.txt por tubulação. A saída do comando "Echo" é enviada para a entrada do comando "CAT" usando o operador do tubo (|):
$ eco "Learn Bash Programming" | Cat> testData2.TXT
Execute o seguinte comando “CAT” para verificar o conteúdo do TestData2.Arquivo TXT:
$ CAT TestData2.TXT
Saída:
A saída a seguir aparece após a execução dos comandos anteriores. De acordo com a saída, a saída do comando "Echo" é gravada no testData2.Arquivo TXT:
Execute o seguinte comando para escrever a saída do comando "ls -l" em uma lista de arquivo de texto nomeado.txt usando o operador de redirecionamento ('>'):
$ ls -l> lista.TXT
Execute o seguinte comando "CAT" para verificar o conteúdo da lista.Arquivo TXT:
$ CAT LIST.TXT
Saída:
A saída a seguir aparece após a execução dos comandos anteriores. De acordo com a saída, a saída do comando "LS -L" é escrita na lista.Arquivo TXT:
Exemplo 3: Uso de stdin e stdout
O método de usar o stdin e o stdout para obter uma entrada de um arquivo e escrevê -lo em um arquivo é mostrado neste exemplo.
Execute o seguinte comando "CAT" para levar o conteúdo do TestData.Arquivo TXT e escreva -o no arquivo de testes.Arquivo TXT e o terminal:
$ cat < testdata.txt > TestFile.TXT
Execute o seguinte comando “CAT” para imprimir o conteúdo do TestData.Arquivo TXT:
$ CAT TestData.TXT
Execute o seguinte comando “CAT” para imprimir o conteúdo do arquivo de testes.Arquivo TXT:
$ CAT TestFile.TXT
Saída:
A saída a seguir aparece após a execução dos comandos anteriores. De acordo com a saída, o conteúdo do TestData.O arquivo txt está escrito no arquivo de teste.Arquivo TXT e impresso no terminal:
Exemplo 4: Uso de Stderr
O conteúdo do erro padrão pode ser impresso no terminal ou redirecionado para um arquivo ou enviado para o /dev /nulo que funciona como a lixeira de reciclagem. As diferentes maneiras de passar o erro padrão são mostradas neste exemplo.
O comando a seguir é válido e imprime a string "Hello" com a nova linha. Portanto, nenhum erro padrão é gerado para o seguinte comando:
$ printf "%s \ n" "Olá"
O comando a seguir é inválido porque não há comando chamado "pirntf". Portanto, um erro padrão é gerado e o erro é impresso no terminal:
$ pirntf "%s \ n" "Olá"
Saída:
A saída a seguir aparece após a execução do comando anterior. De acordo com a saída, o erro padrão é impresso no terminal:
Às vezes, requer imprimir o erro personalizado, ocultando o erro padrão para tornar o erro mais compreensível para os usuários. Esta tarefa pode ser realizada redirecionando o erro para o /dev /null. O "2>" é usado aqui para redirecionar o erro para /dev /null.
Execute o seguinte comando para redirecionar o erro para o /dev /null, que não exibirá nenhum erro se houver algum erro:
$ pirntf "%s \ n" "hello" 2> /dev /null
Saída:
A saída a seguir aparece após a execução do comando anterior. De acordo com a saída, o erro padrão não é impresso no terminal para redirecionar para /dev /null:
Às vezes, o erro padrão requer armazenar um arquivo para uso futuro. Esta tarefa pode ser realizada redirecionando o erro para um arquivo usando o operador "2>".
Execute o seguinte comando para redirecionar o erro padrão para um arquivo chamado Errorfile.TXT:
$ pirntf "%s \ n" "Hello" 2> Errorfile.TXT
Execute o seguinte comando para verificar o conteúdo do arquivo de erro.Arquivo TXT:
$ CAT ERRORFILE.TXT
Saída:
A saída a seguir aparece após a execução dos comandos anteriores. De acordo com a saída, o erro padrão é gravado corretamente no arquivo de erro.Arquivo TXT:
O erro padrão pode ser redirecionado para ambos /dev /nulo e o arquivo de erro.Arquivo TXT usando o seguinte comando:
$ pirntf "%s \ n" "Hello" 2> /dev /null> Errorfile.TXT
Conclusão
Os usos de stdin, stdout e stderr são explicados neste tutorial usando vários exemplos que ajudarão os usuários do Linux a entender o conceito desses fluxos e usá -los corretamente quando necessário.