segunda-feira, 15 de agosto de 2011

Shell Script - Parte 1.



Oque é Shell Script?

    O Shell Script são comandos Shell utilizados em um Script criado para automatizar o trabalho do programador, podendo melhorar em até 90% o trabalho que seria feito ao utilizar comandos isoladamente no sistema Linux, evitando perca de tempo e eliminando as chances de erros que eventualmente poderia acontecer ao usuário.
    Para entender oque é e como funciona é preciso entender como funciona primeiramente um ambiente em camadas Linux, para isso imagine que o hardware é a primeira fatia desta camada, é o centro, que é formada por componentes físicos do seu computador. Em torno dela, vem à camada do kernel, que é o cerne do Linux, seu núcleo, e é quem põe o hardware para funcionar, o gerenciando e controlando. Os programas e comandos que envolvem o kernel se utilizam dele para realizar diversas tarefas para as quais foram desenvolvidas. Por ultimo, vem o Shell, que tem este nome porque, em inglês, Shell significa concha, isto é, fica entre o usuário e o sistema operacional, de forma com que tudo que precise interagir com o sistema operacional tem que passar pelo seu crivo.

Click em mais informações e continue lendo a postagem.

    O Shell é o primeiro programa que você visualiza ao iniciar uma sessão no Linux. É ele quem vai resolver um monte de coisas de forma a não ocupar o kernel com tarefas repetitivas, poupando-o para tratar de assuntos mais nobres. Cada usuário possui o seu próprio Shell interpondo-se entre ele e o Linux, é o Shell quem interpreta os comandos digitados e examina as suas sintaxes, passando-os esmiuçados para execução.
Existem diversos tipos de Shell hoje em dia, porem existe quatro tipos que são tratados como os principais, e cada um deles trás consigo uma peculiaridade. Entre eles estão:

Bourne Shell (sh): Desenvolvido por Stepehn Bourne do Bell Labs (da AT&T, onde também foi desenvolvido o Unix), foi durante muitos anos o Shell, padrão de todos os sistemas operacionais UNIX. É também chamado de Standard Shell por ter sido durante vários anos o único, e até hoje o mais utilizado.

Korn Shell (ksh): Desenvolvido por David Korn, também do Bell Labs, é um superconjunto do sh, isto é, possui todas as facilidades do sh e a elas agregou muitas outras. A compatibilidade total com o sh vem trazendo muitos usuários e programadores de Shell para este ambiente.
Bourne Again Shell (bash): Desenvolvido inicialmente por Brian Fox e Chet Ramey, este é o shell do projeto GNU. O numero de seus adeptos é o que mais cresce em todo mundo, seja por ser ele o Shell padrão do Linux, seja por grande diversidade de comandos, que incorpora inclusive diversos comandos característicos do C Shell.

C Shell (csh): Desenvolvido por Bill Joy, da universidade de Berkley, é o Shell mais utilizado em ambientes BSD. Foi ele quem introduziu o histórico de comandos. A estruturação de seus comandos é bem similar à linguagem C. Seu grande pecado foi ignorar a compatibilidade com o sh, partindo seu caminho próprio.

Acredito que para está primeira parte já seja o suficiente, vou deixar agora alguns comandos importante que podem ser utilizados a quem ficar interessado no assunto, em breve postarei a parte dois de Shell Script, com alguns Scripts comentados para ajudar no aprendizado.



Comandos de Controlo e Acesso


exit
Termina a sessão, ou seja, a shell
logout
Deslogar, ou seja, terminar a sessão atual, mas apenas na C shell e na bash shell.
passwd
Mudar a password do nosso utilizador.
rlogin
Logar de forma segura noutro sistema Unix/Linux.
ssh
Sessão segura, vem de secure shell, e permite-nos logar num servidor através do protocolo ssh.
slogin
Versão segura do rlogin.
yppasswd
Mudar a password do nosso utilizador nas páginas amarelas (yellow pages).

Comandos de Comunicações


mail
Enviar e receber e-mails.
mesg
Permitir ou negar mensagens de terminal e pedidos de conversação (talk requests).
pine
Outra forma de enviar e receber e-mails, uma ferramenta rápida e prática.
talk
Falar com outros utilizadores que estejam logados no momento.
write
Escrever para outros utilizadores que estejam logados no momento.

Comandos de Ajuda e Documentação


apropos
Localiza comandos por pesquisa de palavra-chave.
find
Localizar ficheiros, como por exemplo: find . -name *.txt -print, para pesquisa de ficheiros de texto por entre os ficheiros da diretório atual.
info
Lança o explorador de informações.
man
Manual muito completo, pesquisa informação acerca de todos os comandos que necessitemos de saber, como por exemplo, man find.
whatis
Descreve o que um determinado comando é.
whereis
Localizar a página de ajuda (man page), código fonte, ou ficheiros binários, de um determinado programa

Comandos de Edição de Texto


emacs
Editor de texto screen-oriented.
pico
Editor de texto screen-oriented, também chamado de nano.
sed
nedit
gedit
Editor de texto stream-oriented.
Editor de texto stream-oriented.
Editor de texto stream-oriented.
vi
Editor de texto full-screen.
vim
Editor de texto full-screen melhorado.


Comandos de Gerenciamento de Ficheiros e Diretórios


cd
Muda de diretório atual, como por exemplo, cd diretório, cd .., cd /.
chmod
Muda a proteção de um ficheiro ou diretório, como por exemplo, chmod 777, parecido com o attrib do MS-DOS.
chown
Mudar o dono ou grupo de um ficheiro ou diretório vem de change owner.
chgrp
Mudar o grupo de um ficheiro ou diretório.
cmp
Compara dois ficheiros.
comm
Seleciona ou rejeita linhas comuns a dois ficheiros selecionados.
cp
Copia ficheiros, como o copy do MS-DOS.


diff
Compara o conteúdo de dois ficheiros ASCII.
file
Determina o tipo de ficheiro.
grep
Procura um ficheiro por um padrão, sendo um filtro muito útil e usado, por exemplo, um cat a.txt | grep ola irá mostrar-nos apenas as linhas do ficheiro a.txt que contenham a palavra “olá”.
gzip
Comprime ou expande ficheiros
ln
Cria um link a um ficheiro
ls
Lista o conteúdo de um diretório, semelhante ao comando dir no MS-DOS.
lsof
Lista os ficheiros abertos, vem de list open files.
mkdir
Cria um diretório, vem de make directory.
mv
Move ou renomeia ficheiros ou directorias
pwd
Mostra-nos o caminho por inteiro da diretório em que nos encontramos em dado momento, ou seja, a pathname.
quota
Mostra-nos o uso do disco e os limites
rm
Apaga ficheiros, vem de remove, e é semelhante ao comando del no MS-DOS, é preciso ter cuidado com o comando rm * pois apaga tudo sem confirmação por defeito.
rmdir
Apaga diretório, vem de remove directory.
stat
Mostra o estado de um ficheiro, útil para saber, por exemplo, a hora e data do último acesso ao mesmo.
sync
Faz um flush aos buffers do sistema de ficheiros, sincroniza os dados no disco com a memória, ou seja, escreve todos os dados presentes nos buffers da memória para o disco.
sort
Ordena, une ou compara texto, podendo ser usado para extrair informações dos ficheiros de texto ou mesmo para ordenar dados de outros comandos como, por exemplo, listar ficheiros ordenados pelo nome.
tar
Cria ou extrai arquivos, muito usado como programa de backup ou compressão de ficheiros.
tee
Copia o input para um standard output e outros ficheiros
tr
Traduz caracteres
umask
Muda as proteções de ficheiros por defeito
uncompress
Restaura um ficheiro comprimido
uniq
Reporta ou apaga linhas repetidas num ficheiro
wc
Conta linhas, palavras e mesmo caracteres num ficheiro.



Seja o primeiro a comentar

Postar um comentário

  ©Ciência da Computação - Todos os direitos reservados.

Template by Marcelow | Topo