Nota
Editores de texto Linux são abordados na próxima seção deste curso.
Há uma maneira no Linux de adicionar rapidamente conteúdo a um arquivo usando um recurso de linha de comando chamado de redirecionamento de entrada/saída (I/O). O redirecionamento de E/S permite que as informações na linha de comando sejam enviadas para arquivos, dispositivos e outros comandos. A entrada ou saída de um comando é redirecionada de seu destino padrão para um local diferente. O redirecionamento de E/S é como uma série de trilhos de trem, onde um switch (interruptor) pode ser habilitado para direcionar a saída de um comando em uma faixa diferente para que ele vá para outro lugar no shell. Nesta seção, estamos escrevendo em arquivos redirecionando a saída de um comando para um arquivo.
Quando se trata de entrada de comando e saída existem três caminhos, ou 'trilhas'. Esses caminhos são chamados de descritores de arquivo. O primeiro descritor de arquivo é entrada padrão (standard input), abreviado como STDIN. A entrada padrão é a informação que o comando recebe e processa quando é executado, essencialmente o que um usuário digita no teclado. O segundo descritor de arquivo é a saída padrão (standard output), abreviado como STDOUT. Saída padrão é a informação que o comando exibe, a saída do comando. O último descritor de arquivo é erro padrão (standard error), abreviado como STDERR. STDERR, são as mensagens de erro geradas por comandos que não são executados corretamente. Veja a seguir exemplos de como os descritores de arquivos aparecerão no terminal:
Entrada padrão (STDIN)
sysadmin@localhost:~$ ls ~/Documents
Saída padrão (STDOUT)
sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos
Erro padrão (STDERR)
sysadmin@localhost:~$ ls fakefile
ls: cannot access fakefile: No such file or directory
Esta seção abordará um dos três descritores de arquivos, STDOUT, e como redirecionar STDOUT de onde você normalmente o vê, no terminal, para um arquivo no sistema de arquivos. Para usar o redirecionamento, basta usar um símbolo maior do que > junto com um nome de arquivo:
Código: Selecionar todos
[color=#FF0000][COMANDO] > [ARQUIVO][/color]
Acompanhe
Use o seguinte comando para alternar para o diretório Documents:
Código: Selecionar todos
sysadmin@localhost:~$ cd ~/Documents
Código: Selecionar todos
sysadmin@localhost:~/Documents$ cat food.txt
Food is good.
sysadmin@localhost:~/Documents$ cat food.txt > newfile1.txt
sysadmin@localhost:~/Documents$
Como você pode ver, não há saída exibida desde que o STDOUT foi redirecionado para o arquivo newfile1.txt. Verifique se o STDOUT do comando cat food.txt está em newfile1.txt:
Código: Selecionar todos
sysadmin@localhost:~/Documents$ cat newfile1.txt
Food is good.
Código: Selecionar todos
sysadmin@localhost:~/Documents$ echo "Hello"
Hello
sysadmin@localhost:~/Documents$
Código: Selecionar todos
sysadmin@localhost:~/Documents$ cat newfile1.txt
Food is good.
sysadmin@localhost:~/Documents$ echo "I like food." > newfile1.txt
sysadmin@localhost:~/Documents$ cat newfile1.txt
I like food.
sysadmin@localhost:~/Documents$
Código: Selecionar todos
sysadmin@localhost:~/Documents$ echo "This food is good." >> newfile1.txt
sysadmin@localhost:~/Documents$ cat newfile1.txt
I like food.
This food is good.
sysadmin@localhost:~/Documents$
Para redirecionar informações para um arquivo existente, o usuário deve ter permissões de gravação nesse arquivo.