Redirecionamento de entrada e saída no Ubuntu

Redirecionamento de entrada e saída no Ubuntu
No Linux, cada processo possui três canais de comunicação: entrada padrão, saída padrão e erro padrão. Esses canais de comunicação ajudam os usuários a interagir com os processos em um sistema Linux. O canal de comunicação padrão de entrada (Stdin) leva a entrada do usuário através do terminal como um comando e, depois de processar o comando com o kernel Linux, o terminal exibe o resultado por meio de saída padrão (STDOUT) ou Erro padrão (STDERR) canal. A saída padrão (stdout) ou erro padrão (stderr) de um comando pode ser redirecionado como a entrada padrão (stdin) para outro comando usando o redirecionamento de E/S ">" e, da mesma forma, uma entrada padrão (stdin) pode ser redirecionada Como saída padrão (stdout) para outro comando usando o “<” I/O redirection.

Entrada padrão

A entrada padrão ou stdin é o comando que digitamos em nosso terminal para interagir com o kernel Linux.

Ubuntu@ubuntu: ~ $ ls -la

No exemplo acima, “LS -LA” é a entrada padrão ou stdin.

Saída padrão

A saída padrão ou stdout é a saída de um processo em execução ou comando dado ao kernel Linux por meio de entrada padrão e é exibido no terminal. Por exemplo, dado acima, a saída é como

Ubuntu@ubuntu: ~ $ ls -la
… Snip…
-rwxr-x --- 1 Ubuntu Ubuntu 89 4 de janeiro de 2021 arith.sh
-RW-R-R-- 1 Ubuntu Ubuntu 3771 Jun 3 2020 .Bashrc
DRWX ------ 28 Ubuntu Ubuntu 4096 1 de agosto 13:10 .cache
drwxr-xr-x 36 Ubuntu Ubuntu 4096 29 de julho 18:30 .Config
DRWX ------ 3 Ubuntu Ubuntu 4096 de novembro de 1820 .dbus
drwxr-xr-x 5 ubuntu ubuntu 4096 de julho 30 16:28 Desktop
drwxr-xr-x 13 Ubuntu Ubuntu 12288 28 de julho 19:53 Downloads
… Snip…

Cada saída possui um local padrão predefinido para ir nos sistemas operacionais baseados em UNIX. Alguns dos métodos para redirecionar a saída são apresentados abaixo.

  • Redirecionamento de saída padrão “>”
  • Redirecionamento de entrada padrão “<”
  • Redirecionamento de erro padrão “2>”
  • Saída padrão e redirecionamento de erros “&>”
  • Redirecionamento de saída padrão “>>”
  • Redirecionamento de entrada padrão “<<”
  • Redirecionamento usando tubos “|”

Redirecionamento de saída padrão “>“

O redirecionamento de saída é um método no qual a saída padrão de um comando pode ser redirecionada para arquivos ou como entrada padrão para outro comando. O sinal ">" é usado para redirecionamento de saída. O terminal não mostra a saída; Em vez disso, é escrito para um arquivo ou redirecionado como entrada para outro comando. Por exemplo

Ubuntu@ubuntu: ~ $ echo hello world> arquivo.TXT

OU

Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames> pitkegnames

Em vez da saída mostrada no terminal, ele será redirecionado para o arquivo.arquivo txt ou pakegsnames. Para confirmar se a saída foi redirecionada ou não, use o gato comando para ler os arquivos.

Ubuntu@ubuntu: ~ arquivo de gato.TXT
Ubuntu@ubuntu: ~ $ cat pakegname

Este operador "1>" também é usado para redirecionar a saída padrão.

Redirecionamento de entrada padrão “ < ”

O redirecionamento de entrada é um método no qual a entrada padrão de um comando é redirecionada de um arquivo ou uma saída padrão de outro comando. O "<” sign is used for input redirection. It is mostly the default action of a command. For example

Ubuntu@ubuntu: ~ $ menos < /etc/passwd

É o mesmo que este.

Ubuntu@ubuntu: ~ $ menos /etc /passwd

É preciso entrada do arquivo /etc/passwd em vez de um teclado. O “0<” sign can also be used for redirecting standard input.

Redirecionamento de erro padrão “2>“

Com o método de redirecionamento, os erros padrão podem ser redirecionados e gravados para um arquivo. Por exemplo

Ubuntu@ubuntu: ~ $ sudo apt-get update 2> erro

Se ocorrer algum erro, ele não será exibido na janela do terminal; Em vez disso, será armazenado em um arquivo de erro. Se o arquivo de erro já existir, será substituído.

Saída padrão e redirecionamento de erro padrão “&>“

Com o sinal "&>", há uma maneira mais eficiente de redirecionar a saída padrão e o erro padrão simultaneamente com o sinal "&>". Por exemplo

Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames &> pkgnames

Todos os nomes e erros dos pacotes serão armazenados no arquivo pkgnames.

Redirecionamento de saída padrão “>>”

Este método de redirecionamento redireciona a saída padrão de um comando ou um arquivo para outro arquivo. A diferença é que, ao usar o redirecionamento ">>", se o arquivo já existir, os dados serão anexados ao arquivo; Portanto, o arquivo não será substituído.

Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames >> pkgnames

Se os pkgnames de arquivo já existirem, seu conteúdo não será substituído; Em vez disso, a saída será adicionada no final do arquivo.

Redirecionamento de entrada padrão “ << ”

Este método de redirecionamento lê a entrada do usuário do terminal e depois o anexa ao arquivo.

Ubuntu@ubuntu: ~ $ cat pkgnames << pkgnames
> Ubuntu
> Chrome
> pkgnames

Se o arquivo PKGNOMES já existir, seu conteúdo não será substituído.

Redirecionamento usando tubos “| ““

Os tubos são frequentemente usados ​​quando você deseja combinar vários comandos. Com os tubos, a saída do primeiro comando pode ser usada como entrada do segundo comando. Por exemplo

Ubuntu@ubuntu: ~ sudo pkgnames apt cache | menos

No comando acima, a saída padrão do comando deixada para o tubo “|” O sinal é a entrada padrão do comando direito para o tubo “|” sinal.

Combinando os operadores de redirecionamento

Você pode combinar alguns dos operadores de redirecionamento, porque eles são convenientemente fáceis de usar e demorar menos tempo; Alguns dos operadores de redirecionamento combinados são dados abaixo.

2 >>: Este operador é usado para redirecionar erros padrão para o arquivo.
: Este operador é usado para arquivos especificados como entrada padrão e saída padrão.
> &: Este operador redireciona a saída de um arquivo para outro.
<&: Este operador redireciona a entrada de um arquivo para outro.
2> & 1: Este operador é usado para redirecionar o erro padrão para saída padrão.
1> & 2: Este operador é usado para redirecionar a saída padrão para erro padrão.

Conclusão

Como administrador do Linux, o redirecionamento de entrada e saída é uma rotina muito comum no trabalho diário. Armazenar a saída e erros para uso posterior e combinar os vários comandos facilitam seu trabalho e reduz o tempo para que você possa trabalhar diligentemente e eficientemente. Acima estão algumas dicas para fazer o que o ajudará a entender redirecionamentos de insumo output.