Terminal de texto

Os primeiros computadores eram geralmente separados em diversas peças muito grandes. O compartimento de armazenamento e unidade central de processamento foram separados dos dispositivos periféricos usados pelos operadores para controlá-los, chamados de “console”. Este termo foi mantido, mas seu significado foi alterado. Tornou-se mais ou menos sinônimo de “terminal”, sendo um teclado e uma tela.

O terminal é um recurso que permite ao usuário acessar uma linha de comandos, que por sua vez é o campo onde são digitados os comandos que serão interpretados pelo sistema operacional para obter os resultados desejados. Seu uso também é conhecido como “modo texto”, pois toda interação restringe-se a escrever os comandos, mas pode ser aberta uma janela para sua utilização, a partir do modo gráfico.

Prompt do DOS (esquerda) e terminal do Linux

Prompt do DOS (esquerda) e terminal do Linux

O MS-DOS é um sistema operacional antigo da Microsoft, que funcionava de base para o Windows “rodar” sobre o DOS. A partir do Windows 95, o DOS passou a vir integrado ao sistema mais novo, podendo ser utilizado através do programa “cmd”. c:> é o prompt de comando oficial do MS-DOS, onde “c” é letra do drive (unidade e pasta), em que se está posicionado.

A maioria dos sistemas GNU/Linux oferecem seis consoles virtuais (modo texto), acessíveis, digitando as combinações de teclas Control+Alt+F1 até F6 (F7 é o terminal modo gráfico). Também pode se referir a um emulador de terminal em uma sessão X11 gráfica (como xterm, gnome-terminal ou konsole). Pode-se fazer o acesso remoto a um computador linux através do terminal, usando programas como ConnectBot (no Android) e Putty (no Windows).

Ambiente Shell

Um interpretador de linha de comando, também chamado de “shell”, é um programa que executa comandos que são ou inseridos pelo usuário ou armazenados em um script. O shell padrão e mais comumente usado é o bash (Bourne Again SHell), mas existem outros interpretadores de comando com suas sintaxes específicas e seus próprios arquivos de configuração, como o dash, csh, tcsh e zsh.

O Bash usa o script de inicialização “/etc/bash.bashrc” para shells “interativos” (por exemplo, ele permite ativar o “preenchimento automático”), e o “/etc/profile” para shells de “login” (invocado quando ocorre autenticação no console, tanto localmente quanto remotamente via ssh). Com o preenchimento automático, o shell completa automaticamente um nome de arquivo, comando ou argumento parcialmente digitado quando o usuário pressiona a tecla Tab – no caso de ter muitas opções, é impressa na tela uma lista de possibilidades que iniciam com o texto já digitado.

Independente de ser um shell de login ou não, um shell pode ser interativo (num terminal estilo xterm, por exemplo) ou não-interativo (quando executando um script). Cada usuário pode criar seu próprio ~/.bashrc e ~/.bash_profile para configurar seu shell. As mudanças mais comuns são a adição de “aliases”: palavras que são automaticamente substituidas pela execução de um comando, o que faz ficar mais rápido a invocação desse comando. Por exemplo, é possível inserir a linha “alias ll=’ls -alF'” no arquivo “~/.bashrc” para realizar uma listagem mais detalhada digitando apenas “la”.

Uma boa maneira de inspecionar o que um comando é se dá através de outro comando, o type: se é um programa ou um script, ele dá sua localização; se for um alias, ele diz o que é o alias; se for uma função, ele irá imprimir o funciton; caso contrário, ele irá dizer-lhe se é um built-in ou uma palavra-chave.

No modo interativo, ele exibe um prompt (geralmente terminando em $ para um usuário normal, ou por # para um administrador) indicando que ele está pronto para ler um novo comando. O til geralmente é usado para indicar o diretório o qual a variável de ambiente, HOME, aponta (sendo o diretório home do usuário, como por exemplo /home/usuario/). Já o barra indica o diretório raiz.

Variáveis de ambiente permitem o armazenamento de configurações globais para o shell ou vários outros programas executados, localizadas no arquivo “/etc/environment”, que também dá aos programas login, gdm, ou até mesmo ssh as variáveis de ambiente corretas a serem criadas. Ele não cria essas variáveis diretamente, mas sim via um módulo PAM (pam_env.so). O PAM (Pluggable Authentication Module – Módulo de autenticação plugável) é uma biblioteca centralizadora de mecanismos para autenticação, inicialização de sessão, e gerenciamento de senhas. O arquivo “/etc/default/locale” funciona de maneira similar, mas contém apenas a variável de ambiente LANG.

Certas ações somente podem ser tomadas pelo superusuário, ou root. Para realizar essas ações ou mude de usuário através do comando “su” e digite a senha de root ou digite “sudo” antes do comando (ao pedir a senha, digite a sua senha de usuário comum). Porém, para dar ao usuário comum a habilidade “sudo”, ele deverá ser adicionado à lista de usuários administradores. Para isso, entre como root (comando “su” acompanhado da senha de root), instale o programa sudo (comando “apt-get install sudo”) e execute o comando “adduser [usuário] sudo”. Uma alternativa à execução do último comando é editar diretamente o arquivo /etc/sudoers. Inclua o nome do usuário seguido de “ALL = (ALL) ALL” logo abaixo das especificações de privilégios do root, ficando o trecho do arquivo dessa maneira:

# User privilege specification
 root ALL=(ALL:ALL) ALL
 username ALL = (ALL) ALL

Todos os programas podem ser acessados através do terminal. Usando-se um e comercial (&) no final do comando, o terminal fica “liberado” para receber novos comandos após abrir a janela do programa. Outros programas rodam diretamente no terminal, como o lynx, que é um navegador de internet de texto puro. Para utilizá-lo, deve-se instalar o programa e escrever “lynx” no terminal, teclando ENTER para executar o comando. No programa, para acessar algum site, digite g e escreva o endereço para o acesso.

Os comandos vão desde manutenção de hardware e desempenho até edição de texto, programação de rotinas e edição de vídeos. O interpretador de comandos é que executa comandos lidos do teclado ou de um arquivo executável. Entre os programas interpretadores de comandos podemos destacar o bash, csh e sh entre outros. Basicamente, o comando segue a seguinte estrutura: comando [opções] [arquivos]. Vejamos alguns dos principais comandos.

Editores de texto

Os editores puramente texto mais utilizados são o nano e o VI. Para utilizar o nano, digite espaço e o nome do arquivo, e dê ENTER; para sair salvando o arquivo, dê CTRL+X, confirme o nome do arquivo dando ENTER e ENTER de novo para sair.

Já o VI (sigla para “Visual Interface”), ou vim (“Vi IMproved”), inicia diretamente em modo de comando (na última linha não vai haver nada), ou seja, não conseguirá editar o texto. Para começar a escrever, pressione “i” e entrará em modo de inserção (no rodapé aparecerá escrito “– INSERT –”). Pressione a tecla ESC para voltar em modo de comandos. Digite dois pontos (:) e o comando (por exemplo, para sair sem salvar digite “q” ou “q!” e para sair salvando digite “wq”).

Geralmente, é melhor navegar pelo texto usando o modo de comandos até o ponto onde se deseja realizar a inserção, e só aí apertar a letra “i”. É possível mover o cursor pelo texto por caractere (j para baixo, k para cima, h para esquerda e l para direita), por palavra (w para a próxima e b para a anterior, não ignorando a pontuação), por linha (0 para o início da linha e $ para o fim, H para a primeira linha da tela, M para o meio e L para a última, além de nG para a linha n). Para apaga a linha onde está o cursor, use “dd” ou “ndd” para apagar a linha atual no cursor e as n linhas seguintes. Para buscar uma expressão regular ou palavra, use o comando “/texto”, e para continuar buscando a mesma palavra aperte n.

Veja mais informações sobre o vi no infowester. Uma última dica: para inserir um ‘#’ no início de cada linha use “:%s!^!#!” e para remover o ‘#’ de todas as linhas use “:%s!^#!!” (sem as aspas).

Dicas de terminal

Para auto completar um nome de arquivo, digite as primeiras letras e tecle “tab” para completar o resto. Se tiver mais de um nome com aquele início, ele só completa até onde é comum, cabe ao usuário digitar um pouco mais e dar “tab” de novo para completar o resto. Note que o Linux é “case sensitive”, ou seja, ele diferencia se a letra é maiúscula ou minúscula. Caso tenha um espaço ou algum outro caractere especial, deve-se utilizar uma barra invertida antes, que é conhecida como “caractere de escape”.

Veja os principais comandos mais úteis no terminal de texto Linux clicando no link.

Compartilhe o link desse texto, mas se for copiar algum trecho, cite a fonte. Valorize nosso trabalho.
Mais informações na licença de uso do site.

5 Pingbacks/Trackbacks