sexta-feira, 12 de dezembro de 2008

CURSO DE UNIX 3

CURSO DE UNIX III por gato-bravo-e-brasileiro
nota: eu estava lendo as aulas I e II e achei melhor antes de dar os comandos basicos do UNIX apresentar rapidamente quais sao os shells mais populares.
* Os Diversos Shells
Como voce pode ver na aula I, existem muitos shells disponiveis; tambem e muito importante saber usa-lo, ja que isso e vital para o total aproveitamento do UNIX.
Na maioria dos sistemas operacioais, o shell (ou interpretador de comandos) e parte interna do sistema operacional. No UNIX isso e totalmente diferente. O shell e apenas mais um programa, que vai proteger voce do kernel - e o kernel de voce! :-)
Existem uma grande diversidade de shells disponiveis, onde voce esta livre para escolher aquele que mais se adapta a voce. Os mais comuns sao:
* sh
O Bourne Shell (tem esse nome por causa do seu criador - Steve Bourne) e o mais antigo dos shells atualmente disponiveis. Ele e bastante primitivo.
E quase sempre usado para a programacao de shell por alguns motivos que irei provavelmente mostrar em alguma outra aula.
* csh
O C Shell foi desenvolvido em Berkeley (para quem nao sabe, quem faz os "BSDs": FreeBSD, NetBSD, etc) como parte da sua implementacao do seu UNIX. E de longe o mais popular e usado shell disponivel. Ocasionalmente o csh nao e encontrado em um System V UNIX, porem e bastante raro.
Possui varias coisas que o sh nao tem - e fazem bastante falta. Sao elas o controle de tarefas (jogar um programa para background, foreground, etc) e o "history", entre outras.
Nao e aconselhavel se escrever shell scripts para ele, pois possui varios bugs. Entretanto para o uso normal, voce nao percebera nada.
* jsh
Uma nova versao do Bourne shell que possui a implementacao de controle de tarefas. Disponivel apenas para o System V Release 4 UNIX.
* ksh
O Korn Shell (tem esse nome por ter sido criado por David Korn) e compativel com o Bourne shell, entretanto tem a maioria das facilidades do C shell implementada e mais algumas totalmente novas como a edicao do "history". E mais confiavel que o csh.
* bash
Este e o Bourne-Again Shell. Foi desenvolvido pela GNU. Possui a maioria das funcoes do C shell e do Korn shell e mais um comando de ajuda interno.
Fora isso ainda existem shells como o tcsh (Turbo C Shell), que e apenas uma variacao do tradicional C Shell.
* Como Identificar O Shell Que Esta Usando
Basicamente voce pode identificar que shell esta usando pelo prompt: "%" para o csh e "$" para o sh. Porem como e possivel a customizacao do prompt, talvez isso nao funcione em casos de prompts redefinidos.
Para se certificar, use um dos comandos abaixo:
$ grep "seu nome de login" /dev/passwd
Caso esteja usando NIS, use:
$ ypcat passwd grep "seu nome de login"
No meu caso a saida sera:
feher:x:501:100:Rodrigo Feher:/home/feher:/bin/bash
Note que o nome do shell e o ultimo parametro, onde eles sao separados por ":". Logo, o meu default e o Bourne-Again Shell. Apenas por curiosidade os campos sao login, senha (criptografada), User ID, Group ID, nome real, homedir e shell default.

ass:gato-bravo-e-brasileiro

Nenhum comentário: