Brincando com pseudoterminais e redirecionamentos

Há uma máxima no mundo dos sistemas similares ao Unix: tudo é arquivo. Dispositivos físicos, processos ou instâncias de programas comunicam-se um com os outros através de arquivos de dispositivo ou arquivos em dispositivos referenciados em nível de execução de software em descritores de arquivos. Neste artigo ver-se-ão alguns exemplos que auxiliarão na compreensão deste princípio conforme implantado em várias distribuições Linux modernas.

[ Hits: 11.265 ]

Por: Anonimo Oculto Culto em 06/08/2018


A máxima nos sistemas Unix-similares: tudo é arquivo. Referências - Comentários - Créditos às imagens



REFERÊNCIAS e CRÉDITOS

[1] Guia de Referência do Linux (G.R.L) - UniRio:
http://www.uniriotec.br/~morganna/guia/index_guia.html

[2] Guia de Referência do Linux - Arquivo:
http://www.uniriotec.br/~morganna/guia/arquivo.html

[3] Créditos à imagem: VT420 with German keyboard.jpg.
Autor: Jacek Ruzyczka.
Licença para publicação e uso:
Creative Commons CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/deed.pt).
Disponível em: Wikimédia Commons;
https://commons.wikimedia.org/wiki/File:VT420_with_German_keyboard.jpg

[4] Crédito à imagem: Pseudoterminais_em_openSUSE-13.2.png.
Trabalho próprio: captura de tela em sistema sob licença GPL ( GNU/Linux).
Autor: Lauro Chieza de Carvalho.
Data (arquivo): 12-06-2018 11:14:45 [UTC-3].
Local: Belo Horizonte, Minas Gerais, Brasil.
Primeira publicação junto ao "Viva o Linux" (VOL).
Licenças para publicação e uso:
GNU Free Document Licence (https://www.gnu.org/licenses/fdl-1.3.en.html);
Creative Commons CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/deed.pt).

[5] Distribuição openSUSE Linux:
https://www.opensuse.org/

[6] Comando tty em Guia de Referência do Linux:
http://www.uniriotec.br/~morganna/guia/tty.html

[7] Número de identificação de processo (Process IDentification - PID) em Guia de Referência do Linux:
http://www.uniriotec.br/~morganna/guia/pid.html

[8] Terminais Unix:
https://epxx.co/artigos/terminais.html

[9] Manual de Referência do Bash, Edição 4.3.
Tradução ao Português, em pdf:
https://github.com/espindula/bashref-pt_BR/blob/master/bashref-ed.4.3-pt_BR.pdf
Tradução ao Português, projeto completo em:
https://github.com/espindula/bashref-pt_BR
Versão anglófona junto à Free Software Foundation - Projeto GNU.
https://www.gnu.org/software/bash/manual/

[10] ANSI - American National Standard Institute - Sobre códigos de escape.
Referência rápida na Wikipédia:
https://pt.wikipedia.org/wiki/Código_escape_ANSI
Versão anglófona:
https://en.wikipedia.org/wiki/ANSI_escape_code

[11] DEC Documents - Terminais (VT100 e outros)
https://vt100.net/docs/
(versão anglófona apenas).

[12] Crédito à imagem: Pseudoterminais_Descritores_Arquivos.png.
Trabalho próprio: captura de tela em sistema sob licença GPL (GNU/Linux).
Autor: Lauro Chieza de Carvalho.
Data (arquivo): 12-06-2018 21:01:18 [UTC-3].
Local: Belo Horizonte, Minas Gerais, Brasil.
Primeira publicação: junto ao "Viva o Linux" (VOL).
Licenças para publicação e uso:
GNU Free Document Licence (https://www.gnu.org/licenses/fdl-1.3.en.html);
Creative Commons CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/deed.pt).

[13] Guia de Referência Linux - Arquivo - Seção "Descritor de arquivo"
http://www.uniriotec.br/~morganna/guia/arquivo.html

[14] Comando ls em Guia de Referência do Linux:
http://www.uniriotec.br/~morganna/guia/ls.html

[15] Comando cd em Guia de Referência do Linux:
http://www.uniriotec.br/~morganna/guia/cd.html

[16] Acesso a dispositivos
Autor: Dr. Carlos a. Maziero - professor da Universidade Federal do Paraná.
http://wiki.inf.ufpr.br/maziero/doku.php?id=pua:acesso_a_dispositivos
Autorizado uso não comercial das informações, citada a fonte.
http://wiki.inf.ufpr.br/maziero/doku.php?id=star

[17] Crédito à imagem: Pseudoterminais_ArquivosDescritores_dev-fd_proc-self-fd.png.
Trabalho próprio: captura de tela em sistema sob licença GPL (GNU/Linux).
Autor: Lauro Chieza de Carvalho.
Data (arquivo): 12-06-2018 21:54:27 [UTC-3].
Local: Belo Horizonte, Minas Gerais, Brasil.
Primeira publicação: junto ao "Viva o Linux" (VOL).
Licenças para publicação e uso:
GNU Free Document Licence (https://www.gnu.org/licenses/fdl-1.3.en.html);
Creative Commons CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/deed.pt).

[18] Comando echo em Guia de Referência do Linux:
http://www.uniriotec.br/~morganna/guia/echo.html

[19] Guia de Referência do Linux: Variáveis de ambiente
http://www.uniriotec.br/~morganna/guia/variaveis_ambiente.html

[20] Manual Prático Para Redirecionamento De Entrada E Saída No Linux (artigo)
http://5eonline.com/pt/manual-pratico-redirecionamento-entrada-e-saida-linux/
Autor: Davi Evangelista.
Firma: 5e Programação Terceirizada.
Atualizado em 31/05/2017.

[21] Comando cat em Guia de Referência do Linux:
http://www.uniriotec.br/~morganna/guia/cat.html

[22] Comando man em Guia de Referência do Linux:
http://www.uniriotec.br/~morganna/guia/man.html

[23] Crédito à imagem: bash-redirecionamentos-carta-resumo.jpg.
Trabalho derivado: Linux GNU/BASH - CARTA RESUMO - REDIRECIONAMENTOS.
Tradução e adaptação: Lauro Chieza de Carvalho.
Data (arquivo): 07-07-2018 19:35:13 [UTC-3].
Local: Belo Horizonte, Minas Gerais, Brasil.
Primeira publicação da edição traduzida e adaptada: junto ao "Viva o Linux" (VOL).
Licenças para publicação e uso da versão traduzida e adaptada:
GNU Free Document Licence (https://www.gnu.org/licenses/fdl-1.3.en.html);
e dentro do compatível, respeitada a licença à obra original,
Creative Commons CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/deed.pt).
Trabalho original: A Cheat Sheet by Petris Krumis.
Autor: Petris Krumis - setembro de 2012.
Licença de Publicação e uso: GNU Free Document Licence.
Acesso eletrônico: http://www.catonmat.net/download/bash-redirections-cheat-sheet.pdf
Língua: inglesa.

[24] Crédito à imagem: Pseudoterminais_RedirecionamentosSaidas_konsoles_Preparativos.png.
Trabalho próprio: captura de tela em sistema sob licença GPL (GNU/Linux).
Autor: Lauro Chieza de Carvalho.
Data (arquivo): 08-07-2018 14:28:16 [UTC-3].
Local: Belo Horizonte, Minas Gerais, Brasil.
Primeira publicação: junto ao "Viva o Linux" (VOL).
Licenças para publicação e uso:
GNU Free Document Licence (https://www.gnu.org/licenses/fdl-1.3.en.html);
Creative Commons CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/deed.pt).

[25] A Bash Guide for Beginners
Autor: Machtelt Garrels.
Língua: Inglesa.
Version 1.11 Last updated 20081227 Edition.
https://www.tldp.org/LDP/Bash-Beginners-Guide/Bash-Beginners-Guide.pdf
---
Seção 8.2.3 - Redirection and file descriptors (pg 99).
Seção 8.2.4 - File input and output (pg 101).
Seção 8.2.4.1 - Using /dev/fd (pg 101).
Seção 8.2.4.2 - Read and Exec (pg 102).
---

[26] Comando kill em Guia de Referência do Linux:
http://www.uniriotec.br/~morganna/guia/kill.html

[27] Crédito à imagem: Pseudoterminais_RedirecionamentosSaidas_konsoles_A.png.
Trabalho próprio: captura de tela em sistema sob licença GPL (GNU/Linux).
Autor: Lauro Chieza de Carvalho.
Data (arquivo): 08-07-2018 12:51:57 [UTC-3].
Local: Belo Horizonte, Minas Gerais, Brasil.
Primeira publicação junto ao "Viva o Linux" (VOL).
Licenças para publicação e uso:
GNU Free Document Licence (https://www.gnu.org/licenses/fdl-1.3.en.html);
Creative Commons CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/deed.pt).

[28] Wikimedia - Wikilivros - Guia do Linux
Guia do Linux/Iniciante+Intermediário/Explicações básicas/Aviso de comando (Prompt)
https://pt.wikibooks.org/wiki/Guia_do_Linux/Iniciante%2BIntermediário/Explicações_básicas/Aviso_de_comando_(Prompt)
https://www.wikimedia.org/
https://www.wikibooks.org/
https://pt.wikibooks.org/wiki/Wikilivros:Página_principal

[29] Practical Linux Tutorial - Linux: Terminal Control Sequence Keys
Autor: Xah Lee. Data: 01-06-2013. Última atualização: 28-05-2015.
Língua: inglesa.
http://xahlee.info/linux/linux_terminal_control_sequence_keys.html
http://xahlee.info/linux/linux_index.html

[30] Comando clear em Guia de Referência do Linux:
http://www.uniriotec.br/~morganna/guia/clear.html

[31] Crédito à imagem: Pseudoterminais_RedirecionamentosSaidas_konsoles_B.png.
Trabalho próprio: captura de tela em sistema sob licença GPL (GNU/Linux).
Autor: Lauro Chieza de Carvalho.
Data (arquivo): 08-07-2018 13:04:48 [UTC-3].
Local: Belo Horizonte, Minas Gerais, Brasil.
Primeira publicação: junto ao "Viva o Linux" (VOL).
Licenças para publicação e uso:
GNU Free Document Licence (https://www.gnu.org/licenses/fdl-1.3.en.html);
Creative Commons CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/deed.pt).

[32] Crédito à imagem: Pseudoterminais_RedirecionamentosSaidas_konsoles_C.png.
Trabalho próprio: captura de tela em sistema sob licença GPL (GNU/Linux).
Autor: Lauro Chieza de Carvalho.
Data (arquivo): 08-07-2018 13:56:04 [UTC-3].
Local: Belo Horizonte, Minas Gerais, Brasil.
Primeira publicação junto ao "Viva o Linux" (VOL).
Licenças para publicação e uso:
GNU Free Document Licence (https://www.gnu.org/licenses/fdl-1.3.en.html);
Creative Commons CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/deed.pt).

[34] Sinal em Guia de Referência do Linux:
http://www.uniriotec.br/~morganna/guia/sinal.html

[35] Posix Porgrammer´s Manual
Uma versão anglófona online das Páginas de Manual (Man Pages);
acessíveis no Linux via comando "man".
Autor: Michael Kerrisk.
Página principal: http://man7.org/index.html
Listagem de todos os comandos e itens por ordem alfabética:
http://man7.org/linux/man-pages/dir_all_alphabetic.html
Comando trap:
http://man7.org/linux/man-pages/man1/trap.1p.html
Comando kill:
http://man7.org/linux/man-pages/man1/kill.1.html
Visão geral sobre sinais (seção 7 das Páginas de Manual):
http://man7.org/linux/man-pages/man7/signal.7.html

[36] Advanced Bash Scripting: An in-depth exploration of the art of shell scripting.
Appendix F. A Detailed Introduction to I/O and I/O Redirection (pg. 809).
Autor: Mendel Cooper.
Data: 10 Mar 2014.
https://www.tldp.org/LDP/abs/abs-guide.pdf
Língua: inglesa.

[37] Crédito à imagem: Pseudoterminais_RedirecionamentosEntrada_konsoles.png.
Trabalho próprio: captura de tela em sistema sob licença GPL (GNU/Linux).
Autor: Lauro Chieza de Carvalho.
Data (arquivo): 13-07-2018 20:11:42 [UTC-3].
Local: Belo Horizonte, Minas Gerais, Brasil.
Primeira publicação: junto ao "Viva o Linux" (VOL).
Licenças para publicação e uso:
GNU Free Document Licence (https://www.gnu.org/licenses/fdl-1.3.en.html);
Creative Commons CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/deed.pt).

[38] Crédito à imagem: Pseudoterminais_RedirecionamentoEntrada_gnome-terminal.png.
Trabalho próprio: captura de tela em sistema sob licença GPL (GNU/Linux).
Autor: Lauro Chieza de Carvalho.
Data (arquivo): 11-07-2018 17:01:27 [UTC-3].
Local: Belo Horizonte, Minas Gerais, Brasil.
Primeira publicação: junto ao "Viva o Linux" (VOL).
Licenças para publicação e uso:
GNU Free Document Licence (https://www.gnu.org/licenses/fdl-1.3.en.html);
Creative Commons CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/deed.pt).

[39] Crédito à imagem: Pseudoterminais_RedirecionamentosEntradaSaidas_konsoles.png.
Trabalho próprio: captura de tela em sistema sob licença GPL (GNU/Linux).
Autor: Lauro Chieza de Carvalho.
Data (arquivo): 13-07-2018 12:01:34 [UTC-3].
Local: Belo Horizonte, Minas Gerais, Brasil.
Primeira publicação: junto ao "Viva o Linux" (VOL).
Licenças para publicação e uso:
GNU Free Document Licence (https://www.gnu.org/licenses/fdl-1.3.en.html);
Creative Commons CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/deed.pt).

[40] Brincando com pseudoterminais e redirecionamentos.
Natureza: (o presente) artigo.
Autor: Lauro Chieza de Carvalho.
Pseudônimo do autor na internet: Anônimo Oculto Culto.
Pseudônimo (conta) junto ao "Viva o Linux" (VOL): anonimoculto.
Primeira publicação: junto ao "Viva o Linux" (VOL).
Data de envio para crivo (VOL): 15 de julho de 2018 às 16:20 [UTC-3].
Número de páginas: 07 (html).
Número de seções: 07 (uma seção por página).
Número de figuras: 12.
Licenças para publicação e uso: GNU Free Document Licence (https://www.gnu.org/licenses/fdl-1.3.en.html);
Creative Commons CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/deed.pt).
Sobre o VOL: https://www.vivaolinux.com.br/quemsomos/

COMENTÁRIOS

A) Buscou-se dentro do possível referendar o conteúdo em fontes disponíveis via Língua Portuguesa. Algumas referências remetem a fontes escritas em Inglês contudo; pesando o fato desta ser a língua franca mundial atualmente.

B) Pensou-se inicialmente em escrever um artigo ao Viva o Linux enquadrado na categoria "Shell Script" subcategoria "Avançado". Contudo o artigo desenvolveu-se de forma a notoriamente enquadrar-se na subcategoria "Introdução". Pede-se desculpas ao pessoal do Viva o Linux e dentro do possível, a moção do artigo à categoria ou subcategoria que os mantenedores do sítio julgarem a mais adequada.

C) Reserva-se o direito de primeira publicação do artigo e seu conteúdo ao Viva o Linux em seu sítio eletrônico; devendo-se publicá-lo sob as licenças definidas pelo autor. [Ref.: 40]

D) Para a primeira publicação, em vista do processo de moderação o qual submetem-se os artigos enviados ao Viva o Linux (revisão por pares), o autor ficaria muito satisfeitos se qualquer mudança na versão enviada para crivo lhe fosse informada.

E) Todas as imagens produzidas pelo autor serão futuramente por ele carregadas no Wikimedia Commons.

Página anterior    

Páginas do artigo
   1. Introdução
   2. A máxima nos sistemas Unix-similares: tudo é arquivo. Bash e os descritores de arquivos
   3. A máxima nos sistemas Unix-similares: tudo é arquivo. Bash e os arquivos descritores
   4. A máxima nos sistemas Unix-similares: tudo é arquivo. Arquivos descritores e redirecionamentos
   5. A máxima nos sistemas Unix-similares: tudo é arquivo. Pseudoterminais e redirecionamentos (saídas)
   6. A máxima nos sistemas Unix-similares: tudo é arquivo. Pseudoterminais e redirecionamentos (entrada)
   7. A máxima nos sistemas Unix-similares: tudo é arquivo. Referências - Comentários - Créditos às imagens
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

ShellBot - Crie Bots para Telegram em Shell Script

Yad 0.16 - Eu quero sempre mais de ti

cal2svg - brincando com shell script e arquivos vetoriais SVG

flock - Gerenciador de lockfiles

Extracttext - como extrair texto de uma área selecionada da tela

  
Comentários
[1] Comentário enviado por albfneto em 06/08/2018 - 14:02h

Seu artigo é ótimo, excelente. Bem escrito, muito detalhado.
favoritado,
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].

[2] Comentário enviado por anonimoculto em 06/08/2018 - 19:18h

@Albfneto: fico grato ter apreciado. À disposição.

[3] Comentário enviado por binbash em 25/08/2018 - 00:29h

Favoritei!


"Primeiro eles te ignoram, depois riem de você, depois brigam, e então você vence."
Mahatma Gandhi
http://terminalroot.com.br/shell

[4] Comentário enviado por F4xl em 18/10/2018 - 08:22h

Parabéns pelo excelente artigo! É praticamente um livro pronto!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts