Vous êtes sur la page 1sur 45

Administrao de Sistemas Operacionais Abertos

Prof. MSc. Jos Hermano Cavalcanti Filho

jose.cavalcan8@ifpb.edu.br

h"p://www.ifpb.edu.br
Shell Noes bsicas

n To poderoso que suporta vrias funcionalidades como:

q Redirecionamento de entrada e sada de aplicaes, como


por exemplo:
v # ls /home > saida

q Execuo de sequncia de comandos:


v # cat /etc/passwd | grep root

q Escrita na sada padro ou redirecionada:


v # echo Este um curso de Introduo ao Linux

q Automatizao de sequncia de comandos (programao);


Shell Noes bsicas
Gerenciamento de processos

n O que um processo?

q Um programa em execuo;

n Durao de um processo:

q Enquanto houver instrues para serem executadas;

n Recursos e gerenciamento:

q Os processos utilizam recursos como processador e


memria, e so organizados e gerenciados pelos SO;
Gerenciamento de processos

n Processo INIT:

q Processo-pai de todos os outros processos;

n Escalonamento:

q Baseado em time-sharing;
Gerenciamento de processos

n Requisies feitas pelos processos ao SO:

q Criar processo, gerenciar memria, ler e escrever arquivos


etc;

q Exemplos: fork, exec, exit e kill

q As chamadas de sistema alteram o ciclo normal de vida de


um processo;
Gerenciamento de processos

n Como feito o controle de um processo?

q Atravs de caractersticas como estado, prioridade de


execuo, recursos de memria etc;

q O processo identificado pelo PID e PPID (processo-pai que


o criou)

q # ps f (visualiza essas informaes)


Gerenciamento de processos

n Permisses controladas pelo UID e GID

q Root UID = 0

q Para usurio ter privilgio de root GID = 0

q Visualizados no arquivo /etc/passwd

v Ex.: root:x:0:0:root:/root:/bin/bash os nmeros so UID


e GID, respectivamente;
Criao de processos

n So criados a partir de outros processos (processos-pai)

q Processo inicial INIT;

n A criao se d atravs de:

q Duplicao de um processo j existente

v Operao fork-exec;
v Execuo concorrente;
v fork duplica o processo;
v exec substitui o cdigo antigo pelo novo processo
criado;
Processos em background e daemons

n Daemon um processo executado em background

q Geralmente no tem tempo de vida definido;

n Tarefas nas quais os daemons so usados:

q Paginao de memria;
q Solicitao de login;
q Manipulao de e-mails;
q Transferncia de arquivos;
q Coletas de estatsticas de operaes do sistema;
q Solicitaes de impresso
Processos em background e daemons

n A sintaxe utilizada :

# comando &
Processos em background e daemons

n Cron: usado para programar tarefas;

q Editando o crontab do usurio, possvel programar tarefas:

# crontab -e

q Na ltima linha do arquivo programa-se o comando.


Exemplo:

03 17 * * * cp /etc/passwd /home/USER/passwd

q Onde 03 so os minutos e 17, a hora;


Sinais do sistema

n Um sinal uma notificao de software enviada por um


processo ou pelo SO relativo a um evento ocorrido;

n Sinais so usados para passar informaes:

q ABRT: aborta o processo;

q INT: sinal de Ctrl + c;

q Outro processo pode usar o sinal para realizar alguma ao,


se ele ativar seu manipulador de sinais;
Sinais do sistema

n Alguns sinais so gerados por comandos no Shell. Exemplo:

# kill -9 pid
q Usado para terminar a execuo de um processo;

n Para manter a execuo de um processo aps o logout:

# nohup arquivo
q A sada do arquivo redirecionada para o arquivo nohup.out
no diretrio /home do usurio;
Visualizao de processos

n Quando um processo est sendo executado, podemos usar


o seu nmero de identificao para verificar o estado da sua
execuo por meio do comando ps:

q ps
q ps aux
q ps l

n Lista de informaes: UID, PID, PPID, PRI, STAT, TIME,


COMM, CPU, TTY, INTPRI, SZ e WCHAN;

n Usado tambm em canalizaes para produo de filtros:

# ps aux | grep mozilla


Visualizao de processos

n UID identificador do usurio dono do processo;


n PID identificador nico associado a cada processo;
n PPID identificador nico associado ao processo-pai do
processo em questo;
n PRI prioridade do processo;
n STAT situao atual ou estado do processo;
n TIME tempo decorrido, desde a emisso do comando que deu
origem ao processo at o momento de emisso do comando m/s;
n COMM nome do comando submetido pelo terminal;
n CPU porcentagem de utilizao da CPU pelo processo;
n TTY terminal TTY ao qual foi submetido o comando;
n INTPRI prioridade do processo internamente ao kernel;
n SZ tamanho em kilobytes da imagem do processo no kernel;
n WCHAN evento sob o qual o processo est aguardando;
Visualizao de processos

n STAT situao atual ou estado do processo;


Variveis de ambiente

n So utilizadas para manipular as posies de


armazenamento na memria do computador;

n possvel acessar essa posio, armazenando, lendo,


modificando o dado l gravado;

q Uma varivel tem um nome e um valor a ela associado;

q Os contedos das variveis so preenchidos atravs do


comando de atribuio (=);
# teste=10

q Para visualizar o contedo de uma varivel:


# echo $teste
Variveis de ambiente
Variveis de ambiente
Uso de aspas simples, duplas e barra invertida

n So usadas para proteger caracteres, para que no sejam


interpretados pelo Shell;

q A barra invertida \ protege o caractere que vem logo


aps ela:

# touch meuarquivo\> ( nome do arquivo meuarquivo> )

q As aspas simples () protegem todos os caracteres que


esto entre elas:

# echo Estamos estudando o uso das aspas.


(protege as aspas duplas)
# echo Estamos estudando o uso das aspas.
(no protege a si mesma)
Uso de aspas simples, duplas e barra invertida

n As aspas duplas tambm so usadas para isso, mas no


protegem $ e \.

# echo Estamos estudando o uso das aspas.

# echo Estamos estudando o \uso das aspas.

# echo Contedo do diretrio home: $HOME

# echo Estamos estudando o uso das aspas.


(No protege a si mesma)
Exerccio de fixao 1 Visualizao de processos

n Utilizando a pgina de manual do comando ps, descreva a


diferena entre o comando ps aux e ps ef.

n Em que sintaxe cada um deles visto?


Exerccio de fixao 2 Visualizao de processos em tempo real

n Qual comando usado como um monitor do sistema que


mostra a atividade do processador em tempo real, exibindo
as tarefas que esto sendo executadas na CPU e fornecendo
uma interface amigvel para o gerenciamento de processos?

a) grep
b) mkdir
c) os
d) top
e) egrep
Exerccio de fixao 3 Visualizao de rvore de processos

n Qual comando usado para visualizar a rvore de


processos?

a) apple
b) tree
c) pstree
d) bg
e) fg
Shell Script

n uma linguagem de programao baseada no conceito de


interpretao, que pode ser utilizada na linha de comando do
Shell;

n Os programas escritos nessa linguagem so chamados de


scripts;

q Com os comandos separados por (;):

# cd /home/usuario/backup/; tar cvf bkk.tar /var/log/*.log


Shell Script

n Ou pode ser utilizada para automatizar sequncias de


comandos em arquivos executveis especiais;

n Com os comandos separados por (;) ou colocados um em


cada linha:

# file arquivo
(Utilizado para ver se um arquivo script)
Shell Script
Exerccio de fixao 4 Criando um script simples

n Crie um script para remover todos os arquivos texto do


diretrio /home do usurio;

n Se necessrio, crie previamente alguns arquivos de texto no


diretrio;

n No se esquea de alterar o script para que se torne


executvel:

# chmod +x script
Variveis do Shell Script

n So utilizadas para manipular as posies de


armazenamento na memria do computador;

n Os contedos das variveis so preenchidos atravs do


comando de atribuio =.

n No deve haver espao entre os elementos de uma


atribuio;
Variveis do Shell Script
Escopo das variveis

n chamado de escopo na qual uma varivel visvel e pode


ser utilizada;

n Uma varivel criada dentro de um script s visvel e


manipulvel dentro desses script;

q Chamada de varivel local: todas as variveis criadas nos


scripts;

# x=1
Escopo das variveis

n Outras variveis podem se tornar visveis dentro e fora de


um script, visveis em todo o ambiente de um Shell;

q Chamadas de variveis de ambiente;

q Criadas atravs do comando export;

# export X
# export Y=/home/usuario/teste
Expresses e testes

n 1 formato:

((expresso))

q Usado quando ser avaliada uma operao aritmtica;

q Por exemplo, para fazer com que uma varivel y receba o


contedo da soma 5+6;

((y=5+6))
Expresses e testes
Expresses e testes
Expresses e testes

n 2 formato:

[expresso] ou test expresso

q Usados para fazer testes em nmeros, textos e arquivos;


Expresses e testes

n 3 formato:

[[expresso]]

q Usado para testar atributos de um arquivo ou diretrio, fazer


comparaes com strings e algumas comparaes
numricas.
Comando read

n L um valor de entrada padro e coloca contedo na varivel


indicada;

n outra forma de atribuir valor a uma varivel;

n O comando read pode tambm acumular a funo que seria


do comando echo, de mostrar algo na tela;

n Atravs do parmetro p possvel combinar sada e


entrada no mesmo comando read;
Comando read

n Usado com o parmetro s, o comando read oculta a entrada


dos caracteres. Isso server, por exemplo, manipular senha;

n A opo e no comando echo faz com que seja interpretada


a mudana de linha (\n);
Comando read

n Um mesmo comando read pode atribuir valores a diversas


variveis. Qualquer entrada separada por espao em branco
caracteriza-se como diversos valores;
Comando read

n Podemos ainda adicionar testes para incrementar um pouco


nosso script, usando o comando test.
Parmetros de linha de comando (variveis especiais)

n Um parmetro um nome, nmero ou caractere especial que


armazena um valor;

n Parmetro de linha de comando chamado de parmetro


posicional;

n So usados para passar valores junto com o nome do


programa na linha de comando;

n Esses valores so armazenados nos parmetros especiais e


podem ser usados dentro do script;
Parmetros de linha de comando (variveis especiais)

# ./soma 3 9

n Ao interpretar essa linha de comando, o Shell atribui os


valores ali encontrados nos parmetros posicionais,
comeando do valor 0 e indo at o valor 9;

q Parmetro 0 nome do programa;


q Parmetro 1 o nmero 3;
q Parmetro 2 o nmero 9;
q Para acessar o contedo de cada parmetro basta, por
exemplo, us-lo com o $;
Obrigado!

Administrao de Sistemas Operacionais Abertos


Prof. MSc. Jos Hermano Cavalcanti Filho

jose.cavalcan8@ifpb.edu.br

h"p://www.ifpb.edu.br

Vous aimerez peut-être aussi