Você está na página 1de 15

Agenda

Introduo
Servios do Sistema Operacional
Gerenciamento de Processos Gerenciamento de Memria Gerenciamento de Arquivos Gerenciamento de Redes Gerenciamento de Segurana

Sistemas Operacionais

Sistemas Operacionais Atuais

Linux: Estudo de Caso

Sistema Operacional
O sistema operacional um software que gerencia e compartilha os recursos de um computador O sistema operacional executa tarefas bsicas como:
Gerenciamento de Processos Gerenciamento de Memria Gerenciamento do Sistema de Arquivos (Discos) Gerenciamento de Redes Gerenciamento da Segurana

SO - Servios
Gerenciamento de Processos
Todo programa executado em um computador considerado um processo SOs modernos permitem a execuo concorrente de vrios processos (multitasking) O gerenciamento de processos a atividade desempenhada pelo SO que distribui tempo de CPU entre os processos Muitos sistemas operacionais permitem atribuir prioridades a processos
Exemplo: visualizando processo atravs do top e Activity Monitor

A maioria dos sistemas operacionais disponibilizam uma aplicao que prov uma interface para os recursos gerenciados pelo SO (interpretador de comando) O sistema operacional uma plataforma para outros softwares

SO - Servios
Gerenciamento de Processos
Multitarefa (time-sharing)
Mtodo pelo qual mltiplas tarefas (processos) compartilham recursos de processamento como CPUs Em computadores com uma nica CPU, apenas uma tarefa pode ser executada por vez A multitarefa resolver este problema controlando a tarefa que deve ser executada em um dado momento e quando uma outra tarefa que est aguardando deve entrar em execuo O ato de atribuir CPU de uma tarefa para outro chamado de context switch Quando ocorre um context switch temos a iluso de paralelismo Mesmo em computadores com mais de uma CPU (mquinas multiprocessadas) a multitarefa permite a execuo de mais tarefas do que a quantidade de CPUs

SO - Servios
Gerenciamento de Processos
Multitarefa (time-sharing)

SO - Servios
Gerenciamento de Processos
Multitarefa (time-sharing)

SO - Servios
Gerenciamento de Processos
Multitarefa Cooperativa
Em sistemas multitarefa mais antigos as aplicaes cediam voluntariamente tempo de processamento umas para as outras Esse mtodo conhecido como multitarefa cooperativa (cooperative multitasking) Raramente utilizando em sistemas de grande porte:
Microsoft Windows antes do Windows 95 e Windows NT Mac OS antes do Mac OS X

SO - Servios
Gerenciamento de Processos
Multitarefa Cooperativa
Como a multitarefa cooperativa cada processo responsvel por ceder tempo para outro processo:
Um programa mal projetado pode comprometer o desempenho de todo o sistema (hung process) Pode resultar no uso ineficiente dos recursos do sistema

SO - Servios
Gerenciamento de Processos
Multitarefa Preemptiva
A multitarefa preemptiva permite uma melhor distribuio de tempo de CPU para os processos - distribuio controlada pelo SO Alm disso, d ao sistema maior agilidade no tratamento de eventos externos importantes
Ex.: entrada de dados que necessita da ateno imediata de um determinado processo

Para resolver estes problemas os sistemas timsharing evoluram para um modelo mais avanado conhecido como multitarefa preemptiva (preemptive multitasking)

Os processos podem ser agrupados em duas categorias:


Os que esto aguardando uma entrada ou sada (I/O bound) Os que esto utilizando a CPU (CPU bound)

SO - Servios
Gerenciamento de Processos
Multitarefa Preemptiva
Em sistemas mais antigos os processos ficavam parados (busywait) enquanto aguardavam uma requisio de entrada (disco, teclado, rede) Durante este tempo o processo no executava nenhuma atividade til, mas mantinha completo controle da CPU Com o surgimento de interrupes e a multitarefa preemptiva os processos I/O bound, podem ser colocados em espera permitindo que outros processos utilizem a CPU

SO - Servios
Gerenciamento de Memria
As arquiteturas atuais de computadores organizam a memria de um computador de forma hierrquica, comeando da mais rpida para a mais lenta:
Registers (resgistros): internas a CPU Cache: tipo especial de memria utilizada por muitas CPUs para melhorar o desempenho Random Access Memory (RAM): contm o programa que est sendo executado e seus dados. Conectada diretamente a CPU atravs de Barramento de Memria (BUS Memory) Disco: memria secundria utilizada para armazenar dados persistentes

O gerenciamento de memria realizado pelo SO coordena estes vrios tipos de memria, verificando qual est disponvel, qual deve ser alocada ou desalocada e como os dados so trocados entre elas (gerenciamento de memria virtual)

SO - Servios
Gerenciamento de Arquivos
Todos os sistemas operacionais incluem suporte a uma variedade de sistemas de arquivos:
Linux: ext2, ext3, XFS, JFS, etc Windows: FAT32, NTFS, etc

SO - Servios
Gerenciamento de Arquivos
O sistema de arquivos pode suportar journaling, que permite restaurao caso o sistema falhe
Neste modelo o sistema escreve a informao em um log de operaes (jornal) e depois no sistema de arquivos Caso ocorra falha o sistema poder restaurar o estado consistente atravs do jornal

Sistemas de arquivos modernos utilizam hierarquias de diretrios


Unix/Linux/Mac OS: marca o caminho (path) atravs da barra (/) Windows: marca o caminho atravs da contra barra (\)

SO - Servios
Gerenciamento de Redes
A maioria dos sistemas operacionais so capazes de utilizar os protocolos de rede da arquitetura TCP/IP Isto significa que um sistema pode se conectar a uma rede e compartilhar recursos como arquivos, impressoras, etc As conexes pode ser atravs de cabeamento ou wireless Sistemas operacionais podem suportar protocolos proprietrios (Ex.: SNA da IBM, etc)

SO - Servios
Gerenciamento de Segurana
A maioria dos sistemas operacionais implementam um modelo de segurana allow/disallow (permite/no permite) Sistemas com altos nveis de segurana podem fornecer um mecanismo de auditoria
A auditoria permite rastrear as requisies para acesso a recursos (Quem realizou alteraes neste arquivo?)

SO - Servios
Gerenciamento de Segurana
Segurana Interna
A segurana interna compreende a proteo dos recursos computacionais imposta aos programas que esto sendo executados concorrentemente no sistema
Geralmente, programas com menos privilgios so bloqueados de utilizar diretamente certas instrues de hardware (Ex.: ler e escrever em dispositivos externos discos rgicos) Para acessar estes recursos, estes programas devem solicitar permisso ao sistema operacional O sistema operacional ir checar a identidade do programa e ir permitir ou recusar a requisio

SO - Servios
Gerenciamento de Segurana
Segurana Externa
Um sistema operacional (ou host) moderno oferece vrios servios a outros computadores ou usurios da rede Estes servios so disponibilizados em portas (ou pontos de acesso) atravs do endereo de rede do sistema Estes servios incluem:
Compartilhamento de arquivos Servios de impresso Email Transferncia de arquivos (FTP), etc

A segurana interna especialmente til em sistemas multi-usurios (permite que usurios do sistema possuam arquivos privados que outros usurios no possam acessar)
Exemplo: permisses de arquivos do Linux/Mac OS X

A maioria destes servios pode comprometer a segurana de um sistema computacional

SO - Servios
Gerenciamento de Segurana
Segurana Externa
Na linha de frente da segurana esto os dispositivos conhecidos como firewalls Os sistemas operacionais mais modernos incluem um software firewall (que habilitado por default) Um software firewall pode ser configurado para permitir ou negar trfego de rede para um servio ou aplicao que est sendo executado no sistema
Exemplo: visualizando firewall do Mac OS X

SO - Servios
Interface Grfica
Os sistema operacionais implementam Graphical User Interfaces (GUI) de duas formas:
Integradas ao kernel: Windows e verses anteriores do Mac OS Como um subsistema separado do kernel (modular): Linux
Neste modelo o usurio define a interface que deseja utilizar: X Window + GNOME | KDE

SO Atuais
Unix-like
O grupo Unix-like possui diversos sistemas operacionais: BSD, Linux, etc Sistemas Unix podem ser executados em uma variedade de arquiteturas de hardware Geralmente so utilizados em servidores e no em workstations Algumas variaes com HP-UX e IBM AIX so executados apenas em hardware proprietrio Outras variaes como Solaris podem ser executados em vrios tipos de hardware, incluido hardware x86

SO Atuais
Microsoft Windows
Foi originado como uma camada grfica sobre o antigo MSDOS Verses mais modernas so baseadas no Windows NT que era baseado no OS/2 O Windows pode ser executado em processadores Intel e AMD de 32-bit ou 64-bit Em julho de 2007 a Microsoft possuia 92.86% do market share de desktops A alguns anos a Microsoft tem investido pesado em pesquisa e desenvolvimento, resultando em um excelente preo/desempenho e aceitao do mercado corporativo A verso mais utilizada o Windows XP, lanado em 25 de Outubro de 2001 Em Novembro de 2006, aps 5 anos de desenvolvimento, foi lanado o Windows Vista que contm um grande nmero de novas funcionalidades e alteraes na sua arquitetura

SO Atuais
Mac OS X
O Mac OS X um sistema operacional grfico proprietrio da Apple Inc. que distribuido com todos os computadores da marca O Mac OS X sucessor do Mac OS, sistema operacional principal desde 1984 Diferente de seu predecessor, o Mac OS X um sistema Unix-like que foi desenvolvido pela NeXT na segunda metade de 1980 e que foi comprada pela Apple em 1997 Seu primeiro lanamento foi em foi em 1999 com a verso Mac OS X Server 1.0 Sua verso desktop foi lanada em Maro de 2001 Mac OS X v10.0 A verso atual o Mac OS X v10.4 que foi lanada em abril de 2005 e conhecida como Tiger Em outubro de 2007 a Apple lanou o Mac OS X v10.5 conhecido como Leopard

Linux
Estudo de Caso

1 - Introduo

1 - Introduo

1.1 Histrico Linux


O Linux um sistema operacional de cdigo aberto (Open Source) amplamente utilizado em servidores O Kernel do Linux foi, originalmente, escrito por Linus Torvalds do Departamento de Cincia da Computao da Universidades de Helsinki, Finlndia, com a ajuda de vrios programadores voluntrios atravs da Internet No dia 5 de outubro de 1991 Linus Torvalds anunciou a primeira verso "oficial" do Linux, verso 0.02. Desde ento muitos programadores tm ajudado a fazer do Linux o Sistema Operacional que hoje.

1.1 Histrico 1.2 Principais caractersticas 1.3 Termos importantes 1.4 Usurios 1.5 Arquivos e Diretrios

2- Principais Comandos
2.1 Iniciando e Finalizando uma Sesso 2.2 Obtendo Help 2.3 Comandos Bsicos
Manipulao de Arquivos Manipulao de Diretrios Comandos Diversos

2.5 Permisses 2.6 Processos no Sistema Operacional

1.2 Principais Caractersticas


Interativo
O usurio requisita os comandos e obtm os resultados de sua execuo atravs do terminal

1.3 Termos Importantes


Shell
o interpretador de comandos. O shell nada mais que um programa que recebe os comandos do usurio e ativa o sistema operacional. Existem vrias opes de shell para o usurio, cada um com determinadas caractersticas e facilidades. Dentre os mais conhecidos podemos citar: bash, sh, rsh, csh e ksh. O interpretador de comandos padro do Unix o ksh e sh (AIX,HPUX) e bash (Linux).

Multitarefa
Um nico usurio pode requisitar que sejam executados vrios comandos ao mesmo tempo em seu terminal. de responsabilidade do Linux controlar estas execues paralelas (processos background e processo foreground)

Multiusurio
O Linux pode controlar o acesso ao sistema atravs de vrios terminais, virtuais ou reais, cada um pertencendo a um usurio. O Linux aceita as requisies de comandos de cada um dos usurios e gera as filas de controle e prioridades para que haja uma distribuio correta dos recursos de hardware necessrios a cada usurio

1.3 Termos Importantes


Shell (cont)
Os comandos podem ser enviados de duas formas para o interpretador:
Interativa: so digitados na linha de comando e enviados um-a-um para o interpretador No-interativa: so utilizado arquivos criados pelos usurios contendo vrios comandos (scripts)

1.3 Termos Importantes


Processo
um conceito bsico do sistema. Toda vez que se executa um programa/comando gerado um processo no sistema. Todo gerenciamento feito sobre este processo. Os processos so, portanto, comandos/programas em execuo. Todo processo identificado por um nmero chamado process id (PID). Este process ID nico no sistema durante a execuo do processo, portanto pode e deve ser usado para identificao do processo em caso de necessidade.

O shell bash possui vrias caractersticas. Por exemplo completar comandos atravs da tecla TAB.

- Utilizando o TAB

- Visualizando processos do sistema operacional (Top)

1.3 Termos Importantes


Kernel
como chamado o ncleo do sistema Unix e Linux. Este ncleo faz o gerenciamento direto dos dispositivos de E/S (device drivers), gerenciamento de memria e controle do uso da CPU pelos vrios processos do sistema.

1.3 Termos Importantes


Comandos (cont)
Formato geral de um comando: comando[opes][argumentos] Onde:
Comando Comando ou programa a ser executado Opes Modificadores do comando (opcional) Argumentos Define o objeto a ser afetado pelo comando (opcional)

Comando
Um comando Unix/Linux nada mais que um arquivo (programa executvel) guardado em um diretrio especfico do sistema. Portanto quando o usurio executa um comando, ele simplesmente est rodando um programa como qualquer outro do sistema.

1.3 Termos Importantes


Comandos - Consideraes
O Linux/Unix faz distino entre caracteres maisculos e minsculos
Ls diferente de ls

1.4 Usurios
Existem dois tipos de usurios: normal e super-usurio
Normal: acesso limitado ao sistema de acordo com as permisses configuradas Super-usurio ou root: possui poder supremo sobre toda a mquina. O esquema de permisses e segurana do Linux no se aplica ao root

Quase sempre as opes dos comandos so precedidas pelo caractere "-" (menos) ou "+" (mais) e podem entrar em qualquer ordem e posio na linha de comando, mas sempre antes dos argumentos (h poucas excees). Na maioria das vezes as opes so representadas por letras, podendo agrupar uma srie de letras em uma nica opo. Por exemplo, as opes "-w -l -c" do comando wc podem ser escritas como "-wlc"

1.5 Arquivos e Diretrios


Arquivos
Onde so gravados nossos dados Todo arquivo identificado por um nome
O Linux diferencia maisculas e minsculas para nome de arquivos e diretrios

1.5 Arquivos e Diretrios


Arquivos
Tamanho de Arquivos
Unidade de medida padro o bit 8 bits = 1 byte O tamanho de arquivos medido em bytes 1 byte representa uma letra Alm do byte existem as medidas:
Quilo: Kbytes Mega: Mbytes Giga: Gbytes 1K = 1024 bytes

Um arquivo oculto no Linux identificado por um . Para identificar tipos de arquivos pode ser utilizado extenses:
Texto: relatorio.txt Script: script.sh Pgina da Internet: index.html

1.5 Arquivos e Diretrios


Arquivos
Tipos
Texto:
seu contedo compreendido pelos usurios (Ex.: script, uma carta, etc)

1.5 Arquivos e Diretrios


Diretrios
Utilizado armazenar um conjunto de arquivos para melhorar a organizao e a localizao Como em arquivos, os nomes de diretrios so sensveis a maisculas e minsculas (case sensitive) No podem existir dois arquivos com o mesmo nome em um mesmo diretrio Os diretrios no Linux so especificados por uma barra /

Binrio:
seu contedo s pode ser entendido por computadores Gerado atravs de um arquivo de programa (texto) atravs de um processo chamado compilao. A compilao a converso de um programa em linguagem humana para a linguagem de mquina

1.5 Arquivos e Diretrios


Principais Diretrios
Os diretrios de um sistema de arquivos tm uma estrutura prdefinida, com poucas variaes. A seguir ilustramos os principais:
/: diretrio raiz do sistema. Contm todos os diretrios do sistema /home: raiz dos diretrios home dos usurios. /boot: arquivos de boot (kernel do sistema, etc) /var: arquivos variveis, reas de spool (impresso, e-mail, news), arquivos de log /etc: arquivos de configurao dos servios /usr: aplicaes voltadas aos usurios /tmp: arquivos temporrios /mnt: montagem de diretrios compartilhados temporrios /bin: aplicaes de base para o sistema /dev: arquivos de acesso aos dispositivos fsicos e conexes de rede /lib: bibliotecas bsicas do sistema

1.5 Arquivos e Diretrios


Diretrio home
Cada usurio possui um diretrio especial chamado home onde so armazenados:
arquivos e diretrios pessoais de trabalho e-mails j lidos (folders pessoais) arquivos de configurao individuais configurao das aplicaes usadas

O diretrio home do usurio o seu local de incio de sesso de trabalho (via shell ou interface grfica) O usurio possui plenos poderes de acesso ao seu diretrio home (e seus sub-diretrios), e normalmente no pode criar arquivos fora dele. O diretrio home de cada usurio normalmente inacessvel aos outros usurios, mas isso pode ser controlado pelo administrador do sistema (root).

- Acessando os diretrios do sistema

- Visualizando o diretrio home do usurio corrente

2 - Principais Comandos
2.1 Iniciando e Finalizando uma Sesso 2.2 Obtendo Help 2.3 Comandos Bsicos
Manipulao de Arquivos Manipulao de Diretrios Comandos Diversos

2.1 Iniciando e Finalizando uma Sesso


O acesso realizado atravs de uma conta cadastrada no sistema (username ou login) - at 8 caracteres Juntamente com a conta atribuda uma senha de acesso Uma vez acessada a conta o sistema apresentar um prompt indicando que ele est apto a receber comandos do usurio Normas com relao a senha:
No fornecer a senha para ningum No use palavras bvias Mude regularmente a senha No anote a senha, memorize

2.5 Permisses 2.6 Processos no Sistema Operacional

- Iniciando uma sesso no Linux (terminal)

2.1 Iniciando e Finalizando uma Sesso


Utilize o comando exit para encerrar uma sesso de trabalho, terminando a conexo com o usurio Dependendo do shell, a instruo Ctrl-D pode terminar a sesso corrente

Exerccios
1. Inicie uma sesso no terminal 2. Termine uma sesso com o comando exit. 3. Termine uma sesso com a instruo Ctrl-D

- Terminando uma sesso no Linux (terminal)

2.2 Obtendo Help


As pginas de manual acompanham todo sistema Linux/Unix Para acessar a pgina de manual digite:
man [seo] [comando/arquivo], onde:
Seo: seo do documento, se omitido abre na primeira seo Comando/arquivo: comando/arquivo que deseja pesquisar

2.2 Obtendo Help


Navegao no man
q - Sai da pgina de manual; PageDown ou f - Rola 25 linhas abaixo; PageUP ou w - Rola 25 linhas acima; SetaAcima ou k - Rola 1 linha acima; SetaAbaixo ou e - Rola 1 linha abaixo; r - Redesenha a tela (refresh); p ou g - Inicio da pgina; h - Ajuda sobre as opes da pgina de manual; s - Salva a pgina de manual em formato texto no arquivo especificado (por exemplo: /tmp/ls).

- Demonstrando man

2.3 Comandos Bsicos


Comandos para manipulao de diretrios Comandos para manipulao de arquivos Comandos diversos

2.3 Comandos Bsicos


Comandos para manipulao de diretrios
ls: lista o contedo do diretrio corrente (ou de um diretrio informado)
ls [opes] [caminho/arquivo] Onde:
-a: lista todos os arquivos (inclusive ocultos) de um diretrio -h: mostra o tamanho dos arquivos em Kbytes, Mbytes e Gbytes -l: usa formato longo para listagem de arquivos(permisses, data de modificao, proprietrio, grupo, etc)

2.3 Comandos Bsicos


Comandos para manipulao de diretrios
ls:Exemplos
ls - Lista os arquivos do diretrio atual ls /bin /sbin - Lista os arquivos do direrio /bin e /sbin ls -la /bin - Listagem completa (vertical) dos arquivos do diretrio /bin inclusive os ocultos

2.3 Comandos Bsicos


Comandos para manipulao de diretrios cd: entra em um diretrio
cd [diretrio] onde:
diretrio - diretrio que deseja entrar

2.3 Comandos Bsicos


Comandos para manipulao de diretrios cd: Exemplos:
Usando cd sem parmetros ou cd ~, voc retornar ao seu diretrio de usurio (diretrio home) cd /, retornar ao diretrio raiz cd -, retornar ao diretrio anteriormente acessado cd .., sobe um direto r io. cd ../[diretrio], sobe um direto r io e entra imediatamente no proximo (por exemplo, quando voc est em /usr/sbin, voc digita cd ../bin, o comando cd retorna um diretrio (/usr) e entra imediatamente no diretrio bin (/usr/bin)

2.3 Comandos Bsicos


Comandos para manipulao de diretrios pwd: Apresenta o nome e o caminho do diretrio atual
Utilizado para verificar em qual diretrio voc se encontra

2.3 Comandos Bsicos


Comandos para manipulao de diretrios mkdir: cria um diretrio no sistema. Um diretrio pode ser entendido como uma pasta, onde voc guarda seus papis (arquivos)
mkdir [opes] [caminho/diretrio] [caminho1/diretrio1] onde:
[caminho]: Caminho onde o diretrio ser criado [diretrio]: Nome do diretrio que ser criado [opes]: -v: Mostra uma mensagem para cada diretrio criado

2.3 Comandos Bsicos


Comandos para manipulao de diretrios mkdir: Consideraes
Para criar um novo diretrio, voc deve ter permisso de gravao. Por exemplo, para criar um diretrio em /tmp com o nome de teste voc deve usar o comando "mkdir/tmp/teste e ter permisso de gravao em /tmp Podem ser criados mais de um diretrio com um nico comando mkdir /tmp/teste /tmp/teste1 /tmp/teste2

2.3 Comandos Bsicos


Comandos para manipulao de diretrios rmdir: remove um diretrio no sistema
rmdir [caminho/diretrio] [caminho1/diretrio1] onde:
[caminho]: Caminho do diretrio a ser removido [diretrio]: Nome do diretrio a ser removido

2.3 Comandos Bsicos


Comandos para manipulao de diretrios rmdir: Consideraes
necessrio que voc esteja um nvel acima do diretrio a ser removido O diretrio a ser removido deve estar vazio e voc deve ter permisso de gravao Por exemplo, para remover o diretrio /tmp/teste voc deve estar no diretrio tmp e executar o comando rmdir teste

Exerccios - Diretrios
1. 2. 3. 4. 5. 6. 7. 8. V para o diretrio home do seu usurio Liste o diretrio que voc se encontra Crie o diretrio teste1 Crie o diretrio teste2 e teste3 com um mesmo comando Entre no diretrio teste1 Liste o diretrio que voc se encontra Suba um diretrio (..) e entre imediatamente no diretrio teste2 Liste o diretrio que voc se encontra

2.3 Comandos Bsicos


Comandos para manipulao de arquivos
cat: mostra o contedo de um arquivo texto ou binrio
cat [opes] [diretrio/arquivo] [diretrio1/arquivo1] onde:
[diretrio/arquivo]: localizao do arquivo que deseja ver o contedo [opes]: -n: Mostra o nmero das linhas -s: No mostra mais do que uma linha em branco entre um pargrafo e outro

2.3 Comandos Bsicos


Comandos para manipulao de arquivos rm: remove arquivos. Tambm pode ser utilizado para apagar diretrios
rm [opes] [caminho][diretrio/arquivo] [caminho1][diretrio1/arquivo1] onde:
[diretrio/arquivo]: arquivo que ser eliminado [opes]: -i: pergunta antes de remover -v: mostra os arquivos removidos -r: utilizado para remover arquivos em subdiretrios (tambm utilizado para remover subdiretrios) -f: remove os arquivo sem perguntar

2.3 Comandos Bsicos


Comandos para manipulao de arquivos
rm: Exemplos:
rm teste.txt - Apaga o arquivo teste.txt no diretrio atual rm *.txt - Apaga todos os arquivos do diretorio atual que terminam com .txt rm *.txt teste.novo - Apaga todos os arquivos do diretrio atual que terminam com .txt e tambm o arquivo teste.novo rm -rf /tmp/teste/* - Apaga todos os arquivos e sub-direto r ios do diretrio /tmp/teste mas mantm o subdiretrio /tmp/teste rm -rf /tmp/teste - Apaga todos os arquivos e subdiretorios do diretrio /tmp/teste, inclusive /tmp/teste

10

2.3 Comandos Bsicos


Comandos para manipulao de arquivos cp: copia arquivos
cp [opes][origem][destino] onde:
[origem]: arquivo que ser copiado [destino]: caminho e nome do arquivo que ser copiado [opes]: -i: pergunta antes de substituir um arquivo existente -v: lista os arquivos enquanto so copiados -R: copia arquivos dos diretrios e subdiretrios da origem para o destino -f: no pergunta, substitui o arquivo caso exista

2.3 Comandos Bsicos


Comandos para manipulao de arquivos cp: Exemplos:
cp teste.txt teste1.txt - Copia o arquivo teste.txt para teste1.txt. cp teste.txt /tmp - Copia o arquivo teste.txt para dentro do diretrio /tmp. cp * /tmp - Copia todos os arquivos do diretrio atual para /tmp. cp /bin/* . - Copia todos os arquivos do diretrio /bin para o diretrio em que nos encontramos no momento cp -R /bin /tmp - Copia o diretrio /bin e todos os arquivos/sub-diretrios existentes para o diretrio /tmp. cp -R /bin/* /tmp - Copia todos os arquivos do diretrio /bin (exceto o diretrio /bin) e todos os arquivos/sub-diretrios existentes dentro dele para /tmp.

2.3 Comandos Bsicos


Comandos para manipulao de arquivos
mv: move ou renomeia arquivos e diretrios
mv [opes][origem][destino] onde:
[origem]: arquivo/diretrio de origem [destino]: local onde ser movido o arquivo diretrio [opes]: -i: pergunta antes de substituir um arquivo existente -v: lista os arquivos enquanto so movidos -f: no pergunta, substitui o arquivo caso exista

2.3 Comandos Bsicos


Comandos para manipulao de arquivos mv: Exemplos:
mv teste.txt teste1.txt - Muda o nome do arquivo teste.txt para teste1.txt. mv teste.txt /tmp - Move o arquivo teste.txt para /tmp. Lembre-se que o arquivo de origem apagado apo s ser movido. mv teste.txt teste.new (supondo que teste.new j exista) Copia o arquivo teste.txt por cima de teste.new e apaga teste.txt aps terminar a cpia.

Exerccios - Arquivos
1. Crie um arquivo chamado /home/seu usurio/teste2/arquivo1.txt com o seguinte contedo:
Linha1 Linha2 Linha3 <b> Linha4 <b> <b> Linha5 <b> <b> <b> <b> <b> Linha6 <b> <b> <b> <b>

Exerccios - Arquivos
2. Mostre o contedo do arquivo arquivo1.txt com o comando cat 3. Mostre o contedo do arquivo arquivo1.txt com o comando cat apresentando o nmero das linhas 4. Mostre o contedo do arquivo arquivo1.txt com o comando cat apresentando no mais do que uma linha em branco entre os pargrafos 5. Copie o arquivo arquivo1.txt para o diretrio teste1 com o nome de arquivo2.txt

11

Exerccios - Arquivos
6. Copie o arquivo teste1/arquivo2.txt para /teste1/arquivo1.txt 7. Mova o arquivo teste1/arquivo2.txt para o diretrio teste3 8. Altere o nome do arquivo arquivo2.txt para arquivo3.txt 9. Remova o diretrio teste318) Remova o diretrio teste2 com todos os seus arquivos

2.3 Comandos Bsicos


Comandos Diversos
clear: limpa a tela e posiciona o cursor no canto superior esquerdo do vdeo
clear

2.3 Comandos Bsicos


Comandos Diversos
date: permite ver/modificar a hora e data do sistema (deve ser usurio root)
date MesDiaHoraMinuto[AnoSegundos] Para ver a data atual digite: date Para alterar a data para 25/12 e hora para 08:15 digite: date 12250815

2.3 Comandos Bsicos


Comandos Diversos
df: mostra o espao livre/ocupado de cada partio
df [opes] Onde:
[opes] -h: mostra espao livre ocupado em MB, KB, GB ao invs de blocos -k: lista em kbytes -m: lista em megabytes

Exemplos: df, df -h

2.3 Comandos Bsicos


Comandos Diversos
du: mostra o espao ocupado por arquivos e subdiretrios do diretrio atual
du [opes] Onde:
[opes] -h: mostra espao ocupado em MB, KB, GB ao invs de blocos -b: mostra o espao ocupado em bytes -c: faz uma totalizao de todo o espao listado -k: mostra espao ocupado em kbytes -m: mostra espao ocupado em megabytes

Exerccios - Diversos
Para cada comando apresentado abaixo apresente sua definio, sua sintaxe, suas principais opes e exemplos

Exemplos: du -h , du -hc

find grep more less tail time

uptime echo su uname free

12

2.4 Permisses
As permisses de acesso protegem o sistema de arquivos do Linux contra acessos indevidos (pessoas e programas) O princpio da segurana do sistema de arquivos controlar o acesso aos arquivos por proprietrios (dono), grupos e outros usurios

2.4 Permisso de Acesso a Arquivos


Proprietrio:
Usurio que criou o arquivo ou diretrio Somente o proprietrio pode modificar as permisses de acesso ao arquivo A identificao do proprietrio tambm conhecida de user id (UID)

Grupo:
Permite o agrupamento de usurios. Permisses de acesso podem ser definidas para grupos

2.4 Permisso de Acesso a Arquivos


Tipos de Permisso de Acesso
Trs permisses bsicas:
r - leitura: caso diretrio permite listar seu contedo (ls) w - gravao: caso diretrio permite a gravao de arquivos ou diretrios dentro do mesmo x - execuo: caso diretrio permite que seja acessado atravs do comando cd

2.4 Permisso de Acesso a Arquivos


Tipos de Permisso de Acesso
-rwxrwxrwx helder dba teste
Primeira letra define o tipo do arquivo: (d) diretrio, (l) link e (-) arquivo comum Segunda a quarta letra define permisso de acesso do proprietrio Quinta a stima letra define a permisso de acesso do grupo do arquivo. No caso o grupo dba tem acesso rwx Oitava a dcima letra define a permisso de acesso para os demais usurios. No caso todos os demais usurios possuem rwx

Para visualizar as permisses dos arquivos/diretrios utilize:


ls -la

2.4 Permisso de Acesso a Arquivos


Tipos de Permisso de Acesso
Exemplos - Arquivo
-rwxr-xr-- 1 helder dba 8192 nov 14 16:00 teste Onde:
um arquivo (-) O proprietrio (helder) tem acesso de leitura (r), escrita (w) e execuo (x) O grupo (dba) tem acesso de leitura e execuo mas no possui permisso de escrita Os demais usurio possuem acesso apenas para leitura

2.4 Permisso de Acesso a Arquivos


Tipos de Permisso de Acesso
Exemplos - Diretrio
drwxr-x--- 2 helder dba 1024 nov 14 16:00 teste Onde:
um diretrio (d) O proprietrio (helder) tem acesso para listar arquivos (r), gravar arquivos (w) e entrar no diretrio - cd (x) O grupo (dba) tem acesso para listar arquivos e entrar no diretrio mas no possui permisso de gravar arquivos Os demais usurio no podem acessar o diretrio

13

2.4 Permisso de Acesso a Arquivos


chmod
chmod: muda a permisso de acesso a um arquivo ou diretrio
chmod [opes] [permisses] [dir/user] Onde:
[opes] -v: mostra todos os arquivos que esto sendo processados -c: mostra apenas arquivos que tenham sua permisso alterada -R: muda as permisses no diretrio atual e subdiretrios [permisses] ugoa+-=rwx
ugoa: usurio (u), grupo (g), outros (o) e todos (a) +-: + adiciona permisso, - retira a permisso r leitura, w gravao, x execuo

2.4 Permisso de Acesso a Arquivos chmod


Exemplos
chmod g+r *
: Permite que todos os usurios que pertenam ao grupo tenham permisso de leitura em todos os arquivos do diretrio atual : Retira a permisso de leitura para os outros usurios

chmod o-r teste.txt chmod uo+x teste.txt

: Inclui permisso de execuo do arquivo teste.txt para o dono e os outros usurios do arquivo

2.4 Permisso de Acesso a Arquivos Chmod (octal)


chmod 664 arquivo.txt
Pode ser lido e gravado pelo seu dono (numero 6 na primeira coluna) Pode tambm ser lido e gravado pelos usurios que compem o grupo-dono (numero 6 na segunda coluna) Pode ser lido por todos os outros usurios do sistema (numero 4 na ultima coluna)
Nmero 0 1 2 3 4 5 6 7 Signicado Nenhuma permisso Permisso para executar Permisso para gravar Permisso para gravar e executar Permisso para ler Permisso para ler e executar Permisso para ler e gravar Permisso para ler, gravar e executar

Exerccios
1. 2. 3. 4. 5. Crie um arquivo texto chamado permissao.txt no diretrio home do seu usurio Liste este arquivo mostrando as suas permisses Altere as permisses deste arquivo para que o grupo tenha permisso de escrita Altere as permisses deste aquivo para que os outros usurios tenham permisso de leitura Defina as permisses apresentadas abaixo: drwxr-x--- 2 helder dba teste1 -rwxrwxr-- 2 helder dba arquivo1.txt

2.5 Processos no Sistema Operacional


Identificadores dos Processos
PID: Process Identifier PPID: Parent Process Identifier

2.5 Processos no Sistema Operacional


Sinais de Processos
Meios utilizados na comunicao com processos ou para que o sistema possa interferir em seu funcionamento
STOP: interrompe um processo CONT: executa processo aps interrupo TERM: Termina o processo KILL: mata o processo (-9)

Proprietrios dos Processos


UID: User Identifier GID: Group Identifier

O comando kill pode ser utilizado para enviar qualquer sinal (isolado envia TERM)
Exemplo: Kill - sinal PID

kill -STOP 4220 Kill -CONT 4220 Kill -STOP -1 (todos os processos)

14

2.5 Processos no Sistema Operacional Prioridade entre Processos


nice:executa um programa processo com prioridade modificada
-20 a 19 - quanto menor maior a prioridade Uso no muito comum, pois o Linux faz isto automaticamente
nice -n prioridade processo nice -n -5 ntpd

2.5 Processos no Sistema Operacional


Prioridade entre Processos
renice: altera a prioridade de processos ativos
renice prioridade opo processo/destino Onde opo:
-u: a alterao ocorrer no processo do usurio informado -g: a alterao ocorrer nos processos do grupo informado -p: a alterao ocorrer no processo cujo PID for informado

renice +19 -u helder Neste caso foram alteradas as prioridades dos processos do usurio helder

2.5 Processos no Sistema Operacional


Verificando Processos
O comando ps permite verificar quais processos esto em execuo e quais seus UID e PID correspondentes

Exerccios
Pesquise e descreva o funcionamento do comando top para anlise de processos

ps opo
Onde:
a: mostra todos os processos existentes e: exibe as variveis de ambiente relacionadas aos processos m: mostra a quantidade de memria utilizada pelos processos l: exibe mais campos no resultado u: exibe usurio que iniciou o processo x: exibe os processos que no esto vinculados ao console

Exemplo

ps aux

15

Você também pode gostar