Guia Introdutório do Linux VI
Continuamos nossa série de artigos para iniciantes em Linux. Seguiremos com o uso de comandos. Desta vez veremos como conectar e expandir comandos, como enviar comandos para o background (também veremos o que é isso, se você ainda não souber) e como usar expressões aritméticas.
Conectando comandos
Uma característica poderosa da shell é a capacidade de redirecionar a saída e entrada de dados de um comando para outros comandos ou arquivos. Para permitir que comandos sejam 'enviados' para outros comandos, a shell usa os metacaracteres.
Falamos sobre eles no artigo anterior desta série. Qualquer coisa, dê uma olhada no Guia Introdutório V. Como dito anteriormente, um metacaracter é um caracter digitado normalmente, mas que possui significado especial para a shell.
$ cat /home/usuário/livros | sort | less
Este comando lista o conteúdo do arquivo '/home/usuário/livros' e conecta/envia sua saída para o comando 'sort'. O comando sort toma a lista de livros deste arquivo e analisa cada linha, passando a organizar alfabeticamente pelo início de cada linha. Então tal saída é conectada/enviada para o comando 'less' (como já vimos em artigos anteriores, permite lermos o resultado uma página por vez).
$ date ; ls -sh | less
No exemplo acima, primeiro é impresso na tela a data (date), depois é listado o conteúdo do diretório atual, juntamente com o tamanho de cada item (-sh), e a saída de tal listagem é enviada para o comando 'less', para ser vista uma página por vez.
Comandos para formatar texto são exemplos comuns dos casos onde você vai querer rodar em background. Também é possível criar scripts, algo como mini-programas para rodar em background e checar continuamente certos eventos, como se o HD está lotado, ou se um usuário em particular está logado.
Eis um exemplo de execução de uma linha de comando em background:
$ latex principal.tex &
Explicando a linha acima: latex é uma linguagem poderosa para editoração; 'principal.tex' é o arquivo usado no exemplo para gerar um longo livro de centenas e centenas de páginas, tomando certo tempo, dependendo da configuração da máquina. No fim da sentença, '&' é usado para indicar que a linha de comando deve ser executada em background. Pronto! Após clicar ENTER, o prompt já estará disponível para você novamente, enquanto a linha de comando está sendo executado no background.
Falamos sobre eles no artigo anterior desta série. Qualquer coisa, dê uma olhada no Guia Introdutório V. Como dito anteriormente, um metacaracter é um caracter digitado normalmente, mas que possui significado especial para a shell.
Conectando comandos
O metacaracter pipe (|) conecta a saída de um comando para a entrada de outro. Isto permite que você tenha um comando trabalhando com dados e então tenha outro comando trabalhando com os resultados desta atividade. Veja um exemplo de uma linha de comando usando pipe:$ cat /home/usuário/livros | sort | less
Este comando lista o conteúdo do arquivo '/home/usuário/livros' e conecta/envia sua saída para o comando 'sort'. O comando sort toma a lista de livros deste arquivo e analisa cada linha, passando a organizar alfabeticamente pelo início de cada linha. Então tal saída é conectada/enviada para o comando 'less' (como já vimos em artigos anteriores, permite lermos o resultado uma página por vez).
Comandos em seqüência
Algumas vezes você vai desejar que uma seqüência de comandos sejam executados, um por vez, numa determinada ordem. Pode-se fazer isso por digitar os diversos comandos na mesma linha e separando-os por ponto e vírgula (;). Veja um exemplo:$ date ; ls -sh | less
No exemplo acima, primeiro é impresso na tela a data (date), depois é listado o conteúdo do diretório atual, juntamente com o tamanho de cada item (-sh), e a saída de tal listagem é enviada para o comando 'less', para ser vista uma página por vez.
Comandos no background
Alguns comandos podem demorar para realizar a tarefa que você pediu. Nestes casos você possivelmente não vai querer ficar sentado em frente ao computador, esperando. Então podemos ter nossos comandos rodando no 'background', rodando 'por trás', sem vermos seus efeitos diretamente na tela. Fazemos isso por usar o símbolo '&'.Comandos para formatar texto são exemplos comuns dos casos onde você vai querer rodar em background. Também é possível criar scripts, algo como mini-programas para rodar em background e checar continuamente certos eventos, como se o HD está lotado, ou se um usuário em particular está logado.
Eis um exemplo de execução de uma linha de comando em background:
$ latex principal.tex &
Explicando a linha acima: latex é uma linguagem poderosa para editoração; 'principal.tex' é o arquivo usado no exemplo para gerar um longo livro de centenas e centenas de páginas, tomando certo tempo, dependendo da configuração da máquina. No fim da sentença, '&' é usado para indicar que a linha de comando deve ser executada em background. Pronto! Após clicar ENTER, o prompt já estará disponível para você novamente, enquanto a linha de comando está sendo executado no background.
Continue escrevendo, está perfeito.
Parabéns.