Atenção

Blog em construção... Se tiver sugestões, serão bem vindas !!!

sábado, 20 de novembro de 2010

* Bash - O interpretador de comandos

 

Um comando do Linux é uma palavra especial que representa uma ou mais ações. Um interpretador de comandos também é conhecido como shell ou modo texto. Ele é o programa responsável por interpretar essas instruções enviadas pelo usuário e seus programas para o kernel. No Linux, você poderá ter vários interpretadores de comandos (ao contrário do que acontece no Windows que só tem o command.com).

O interpretador de comandos é que executa comandos lidos do teclado ou de um arquivo executável. É a principal ligação entre o usuário. Entre os programas interpretadores de comandos pode-se destacar o bash, ash, csh, tesh, sh.

Entre eles o mais usado é o bash (Bourne Again Shell), criado por S.R. Bourne. Os comandos podem ser enviados de duas maneiras para o interpretador:

a) Interativa: Os comandos são digitados no teclado pelo usuário e passados ao interpretador de comandos um a um. Neste modo o computador depende do usuário para executar uma tarefa ou o próximo comando.

b) Não-interativa: São usados arquivos de comandos (scripts) criados pelo usuário para o computador executar os comandos na ordem encontrada no arquivo. Neste modo, o computador executa os comandos do arquivo um por um, e dependendo do término do comando, o script pode checar qual será próximo comando que será executado e dar continuidade ao processamento.

Esse sistema é útil quando temos que digitar por várias vezes seguidas um mesmo comando ou para compilar algum programa complexo.

Uma característica interessante do Bash é que ele possui a função de auto-completar os nomes de comandos que foram digitados via entrada padrão. Isso é feito pressionando-se a tecla TAB; o comando é completado e acrescentando um espaço.

Isso funciona sem problemas para comandos internos; caso o comando não seja encontrado, o Bash emite um beep. Por exemplo, na sua pasta raiz tente digitar cd pro (aperte TAB)+as( aperte TAB)+os( aperte TAB)+d(aperte TAB) e veja como foi fácil digitar um caminho para entrar no local: /proc/asound/oss/devices.

Existem alguns atalhos úteis que podem ser utilizados no bash para facilitar no dia-a-dia no Linux:

Alt+bMove o cursor uma palavra para trás.
Alt+f Move o cursor uma palavra para frente.
Ctrl+aIr para o início da linha.
Ctrl+c Para o comando.
Ctrl+dLogout.
Ctrl+e Ir para o final da linha.
Ctrl+lApaga a tela (O mesmo que clear).
Ctrl+r Busca Incremental no histórico de comandos.
Ctrl+tInverte o caractere sob o cursor com o anterior.
Ctrl+u Apagar do cursor até o começo da linha.
Ctrl+w Apagar do cursor até o começo da palavra.
Ctrl+y Re-insere o último trecho apagado.
Ctrl+z Põe processo em background.


Agora que você já sabe um monte de combinações legais para facilitar sua vida, pode sair queimando o seu teclado no bash. Certo? Mas o bash não para por aí. Você pode repetir um comando no bash sem ter que digitá-lo novamente. Isso é possível utilizando o caractere "!" na frente do comando que você deseja repetir. O bash vai buscar aquele comando no histórico e se lá tiver algo parecido o comando será executado. Veja o exemplo:

# mount /mnt/cdrom
# ls /mnt/cdrom
# umount
# !mount


O comando "!mount" irá informar ao shell (bash) para executar o último comando mount executado, neste exemplo, "mount /mnt/cdrom". Que poder heim? Casa você queira verificar qual o shell que está em uso, digite o comando: "echo $SHELL"; para saber as disponíveis, o comando "cat /etc/shells" lhe informará.

Espero que esse artigo tenha abordado pontos interessantes e agradado o iniciantes. Abraços.
Obs: Mais alguns atalhos uteis:
alt-d deleta do cursor ate o final da palavra
ctrl-k delete do cursor ate o final da linha
$ ctrl + z (processo pausado)
$ bg (joga em background)
$ jobs (ver os processos em background)
$ fg (retorna para um processo em background)


PS: vale tanto para o BASH quanto para o TCSH....

Nenhum comentário:

Postar um comentário