sistemas de informação - brunotoledoifmg.combrunotoledoifmg.com/so/aulas/aula 11 - linux.pdf ·...

133
Sistemas de Informação Sistemas Operacionais

Upload: truongkiet

Post on 12-Sep-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Sistemas de Informação

Sistemas Operacionais

Page 2: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

LINUX

SUMÁRIO

9. LINUX

9.1 Unix;

9.2 Linux;

9.3 Sistema de Arquivos;

9.4 Contas;

9.5 Controle de Acesso;

9.6 Comandos Básicos;

9.7 Diretório;

9.8 Arquivos;

9.9 Processos.

Page 3: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.1 Unix

Unix é um sistema operacional originalmente criado por Ken Thompson,

Dennis Ritchie, Douglas McIlroy e Peter Weiner, que trabalhavam nos

Laboratórios Bell (Bell Labs) da AT&T.

A marca UNIX é uma propriedade do The Open Group, um consórcio

formado por empresas de informática. Unix é um sistema operacional de:

Propósito geral, ou seja, foi feito para várias finalidades;

Multiusuário, em que vários usuários podem usar o sistema ao mesmo

tempo;

Multitarefa, na qual vários programas podem rodar ao mesmo tempo;

Portável para várias plataformas de hardware.

Page 4: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.1 Unix

O uso de UNIX se baseia na noção de sessão de trabalho. Cada usuário é

designado por um nome de login, ou simplesmente login, com uma senha

secreta associada. Uma sessão de trabalho típica consiste das seguintes

etapas:

O usuário identifica-se, fornecendo seu nome de login e sua senha ao

sistema;

A sessão de trabalho inicia, com o lançamento do shell (modo texto) ou do

ambiente (modo gráfico);

Uso do sistema (lançamento de comandos e aplicações);

Fim da sessão (operação de logout ou logoff).

O UNIX pode gerenciar diversas sessões simultâneas de usuários distintos

na mesma máquina. Cada um terá uma visão independente e transparente

dos recursos disponíveis, sem conflitos ou interferências.

Page 5: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.1 Unix

Desenvolvido no fim da década de 60, início dos anos 70. Embora estas

características sejam comuns nos sistemas atuais, para a época era muito

avançadas.

Tanto que os sistemas da Microsoft, em particular a família Windows, e os

sistemas da Apple, Mac OS, só ganharam a multitarefa em meados dos anos

90.

Ou seja, os sistemas Unix tem, pelo menos, 20 anos a mais de tecnologia,

desenvolvimento e amadurecimento que seus sistemas concorrentes.

Page 6: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.1.1 Filosofia Unix

1. Escreva programas que realizam apenas uma tarefa e que o façam bem

feita;

2. Escreva programas que trabalhem juntos;

3. Escreva programas que trabalhem com texto pois está é uma interface

universal.

Page 7: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.1.2 Principais Características

Ambiente multiusuário por padrão;

Sistema baseado em processos;

Orientado a arquivos;

Árvore de arquivos padronizada;

Sensível a caixa.

Page 8: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.1.3 Os sistemas unix-like livres

Em 1983, um desenvolvedor de software, chamado Richard

Stallman, fundou a Free Software Foundation;

Anuncia o projeto GNU, que tinha a intenção de desenvolver e

compartilhar softwares;

Em 1992, Linus Torvalds lança o kernel Linux, que se juntando as

ferramentas GNU, formou o sistema operacional GNU/Linux.

Page 9: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.1.3 Os sistemas unix-like livres

Frequentemente abreviado para "rms" (Manhattan, 16 de março de

1953) Richard Stallman é um famoso hacker, fundador do movimento

free software, do projeto GNU, e da Free Software Foundation (FSF)

("Fundação para o Software Livre").

Page 10: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.1.3 Os sistemas unix-like livres

Um aclamado programador, seus maiores feitos incluem Emacs (e o GNU

Emacs, mais tarde), o GNU Compiler Collection e o GNU Debugger.

É também autor da GNU General Public License (GNU GPL ou GPL), a

licença livre mais usada no mundo, que consolidou o conceito de copyleft.

Desde a metade dos anos 1990, Stallman tem dedicado a maior parte de seu

tempo ao ativismo político, defendendo software livre e lutando contra a

patente de softwares e a expansão da lei de copyright.

Em 1971, ainda calouro na Universidade Harvard - onde se graduou em

Física, em 1974 - Stallman era programador do laboratório de IA do MIT e

tornou-se um líder na comunidade hacker.

Page 11: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.1.4 Projeto GNU

GNU General Public License (Licença Pública Geral), GNU GPL ou

simplesmente GPL, é a designação da licença para software livre

idealizada por Richard Stallman no final da década de 1980, no

âmbito do projeto GNU da Free Software Foundation (FSF).

Page 12: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.1.4 Projeto GNU

Em termos gerais, a GPL baseia-se em 4 liberdades:

A liberdade de executar o programa, para qualquer propósito (liberdade nº 0).

A liberdade de estudar como o programa funciona e adaptá-lo para as suas

necessidades (liberdade nº 1). O acesso ao código-fonte é um pré-requisito

para esta liberdade.

A liberdade de redistribuir cópias de modo que você possa ajudar ao seu

próximo (liberdade nº 2).

A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de

modo que toda a comunidade se beneficie deles (liberdade nº 3). O acesso ao

código-fonte é um pré-requisito para esta liberdade.

Page 13: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.1.4 Projeto GNU

A GPL além de garantir liberdades impõe obrigações a qualquer

pessoa que efetue mudanças no programa, que são:

O programa derivado deve ser distribuído junto com o código-fonte;

Deve existir um aviso, em destaque, em cada arquivo modificado,

de que os dados originais foram alterados;

Deve existir um aviso de que o trabalho distribuído deriva total ou

parcialmente do programa original;

O(s) autor(es) do programa deve(m) ser citado(s).

Page 14: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.2 Linux

O Linux é o núcleo do sistema operacional escrito pelo estudante de

ciência da computação o finlandês Linus Torvalds em 1991.

Foi originado do UNIX.

Daí a origem do nome: LINUX = LINUS + UNIX

Page 15: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.2 Linux

É um sistema operacional de código aberto distribuído de forma

gratuita, isto porque o código-fonte do sistema está sob a licença GPL

e dentro do aviso de copyright escrito por Linus.

Há informações detalhadas que garantem que nem o próprio Linus

tem poderes para fechar o sistema para uso exclusivamente

comercial.

Page 16: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.2.1 Requisitos para rodar o Linux

Uma característica muito importante do Linux, é que você não precisa

ter um computador poderoso para poder rodá-lo.

O requerimento mínimo para rodar o Linux Ubuntu é de:

Processador: Pentium 4 de 1.5 Ghz;

HD: Pelo menos 10 GB de espaço livre em disco;

Memória RAM: 1 GB.

Algumas versões do Linux utilizam processadores com menor

capacidade da citada, além de 128 MB de RAM e menos de 1 GB

espaço no HD. Mas neste caso, somente será possível utilizá-lo em

modo texto, ou seja, sem recursos gráficos. Para isso, ele exige a

mesma capacidade de hardware que o Windows ou o Mac.

Page 17: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

17

Capítulo 9 - Linux

Page 18: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

Page 19: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

19

Capítulo 9 - Linux

Page 20: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

Page 21: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

21

Capítulo 9 - Linux

Page 22: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3 Sistema de Arquivos

O Linux organiza o seu sistema de arquivos em uma árvore

hierarquizada, resultando em uma estrutura única que agrega todas

as informações relativas ao sistema de arquivos.

Cada nodo da árvore pode representar um arquivo, um dispositivo de

entrada e saída, ou ainda um diretório.

O Linux faz distinção entre nome maiúsculos e minúsculos.

Normalmente um nome de arquivo é composto de nome e uma

extensão, separada por ponto no Linux, o tamanho da extensão, se

houver, fica a critério do usuário, e uma arquivo pode até ter duas ou

mais extensões.

Page 23: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3 Sistema de Arquivos

Não há limite de números de caracteres utilizados para dar nome a

arquivos.

O Sistema Operacional Linux, olha o arquivo como uma sequência de

byte, sem nenhuma estrutura, isto dá uma flexibilidade espantosa ao

sistema de arquivo.

Os programas de usuários, podem colocar o que desejarem nos

arquivos e identificá-los da forma que lhe for mais conveniente, o Unix

não influência em NADA nesta processo de identificação.

Page 24: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

Árvore de Arquivos:

Page 25: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3 Sistema de Arquivos

Árvore de Arquivos:

/

O diretório raiz, que é específico para cada máquina. Geralmente

armazenado localmente, contém os arquivos para a carga do sistema

(boot), de forma a permitir a inclusão dos outros sistemas de arquivos

(outras hierarquias de diretórios) na árvore de diretórios.

/bin

Contém programas (executáveis) que são necessários durante o boot

do sistema mas que também podem ser usados pelos usuários.

Page 26: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3 Sistema de Arquivos

/boot

É onde ficam os arquivos utilizados pelo sistema durante o boot, como

imagens do kernel e etc.

/dev

Os arquivos deste diretório são também conhecidos como “device drives”

que guardam informações de dispositivos físicos do sistema, como os discos

rígidos, por exemplo.

Page 27: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3 Sistema de Arquivos

/etc

Este diretório é um dos mais importantes. Contém uma miscelânea de dados

de configuração, como por exemplo roteiros (scripts) de inicialização do

sistema em seus vários níveis e outros como a tabela de sistemas de

arquivo, configuração da inicialização do sistema para cada nível,

configurações de login para todos os usuários, configuração da fila de

impressão, e um número considerável de arquivos para configuração de rede

e outros aspectos do sistema, incluindo a interface gráfica.

/home

Contém os diretórios pessoais dos usuários comuns. Quando este diretório

se torna excessivamente grande, ele pode ser subdividido para facilitar sua

manutenção. Por exemplo: /home/professores, /home/estudantes.

Page 28: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3 Sistema de Arquivos

/lib

Guarda bibliotecas compartilhadas necessárias por programas e pelo

sistema, bem como módulos do kernel. O nome lib vem de library, ou

biblioteca.

/media

É um ponto de montagem usado por dispositivos removíveis, como cd-rom,

pen drives, e etc. Sempre que você espeta um pen drive, ele é montado aqui.

/mnt

É também um ponto de montagem, porém destinado a uso do administrador

do sistema para montagens temporárias esporádicas.

Page 29: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3 Sistema de Arquivos

/opt

Diretório reservado para todos os softwares que não fazem parte da

instalação padrão.

/proc

É um diretório cujos dados são armazenados na memória e não em disco.

Ele guarda informações úteis ao sistema, como parâmetros do kernel e

estatísticas do processador.

/root

Diretório pessoal do usuário root.

Page 30: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3 Sistema de Arquivos

/sbin

Executáveis e ferramentas para a administração do sistema (para uso do

superusuário).

/sys

Contém arquivos do kernel, de firmware e outros relacionados ao sistema.

/tmp

É o diretório temporário do Linux. Tudo que está aqui é apagado quando o

sistema é desligado. Normalmente quando um programa está para ser

instalado, uma série de arquivos é copiada para este diretório para serem

usados durante a instalação.

Page 31: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3 Sistema de Arquivos

/usr

É onde ficam algumas informações importantes que dizem respeito ao

sistema e os usuários. Temas do gerenciador de janelas, temas de ícones,

chamadas para os executáveis presentes no /bin e etc.

/var

É onde ficam guardados arquivos de log e bancos de dados dos programas

instalados.

Page 32: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3.1 Nomenclatura

Exemplo: DISCO RÍGIDO IDE

Windows: C, D, …

Linux: hda1, hda2, ...

OBS: sd para dispositivos SCSI e SATA.

Page 33: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3.2 Identificação de discos rígidos no GNU/Linux

Page 34: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3.2 Identificação de discos rígidos no GNU/Linux

/dev/fd0 - Primeira unidade de disquetes.

/dev/fd1 - Segunda unidade de disquetes.

/dev/sda - Primeiro disco rígido na primeira controladora SATA ou SCSI.

/dev/sda1 - Primeira partição do primeiro disco rígido SATA ou.

/dev/sdb - Segundo disco rígido na primeira controladora SATA ou SCSI.

/dev/sdb1 - Primeira partição do segundo disco rígido SATA ou SCSI.

/dev/sr0 - Primeiro CD-ROM SATA ou SCSI.

/dev/sr1 - Segundo CD-ROM SATA ou SCSI.

Page 35: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3.2 Identificação de discos rígidos no GNU/Linux

/dev/hda - Primeiro disco rígido na primeira controladora IDE do micro

(primary master).

/dev/hda1 - Primeira partição do primeiro disco rígido IDE.

/dev/hdb - Segundo disco rígido na primeira controladora IDE do micro

(primary slave).

/dev/hdb1 - Primeira partição do segundo disco rígido IDE.

/dev/xda - Primeiro disco rígido XT.

/dev/xdb - Segundo disco rígido XT.

Page 36: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3.2 Identificação de discos rígidos no GNU/Linux

Pode ter até 4 partições.

Toma o lugar de uma

partição primária e não

recebe um sistema de

arquivo. Não pode ter

mais do que uma em

um disco.

São simples partições

alojadas dentro de uma

partição estendida. Pode

receber sistemas de

arquivos. Seu principal

motivo é permitir ter

mais do que 4 partições

em um disco rígido.

Page 37: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3.2 Identificação de discos rígidos no GNU/Linux

Outro ponto tão importante quanto definir o esquema de

particionamento de disco, é a escolha do filesystem.

Nesse ponto temos algumas opções, como:

ext2: considerado como o filesystem original do Linux. Sistema de

arquivos utilizado na pré história do Linux. Usado como substituto para o

sistema de arquivos do Unix.

Tinha o problema de verificar todo o sistema de arquivos quando ocorria uma

queda de energia e se o disco fosse muito grande, demorava muito para

restaurar o sistema. Foi criticado, tendo bloqueio de seu uso nas grandes

corporações. Não possui Journaling, o que torna as checagens de disco

bem lentas.

Page 38: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3.2 Identificação de discos rígidos no GNU/Linux

Journaling: dá ao sistema operacional permissão para realizar um log de

todas as mudanças no sistema de arquivo antes de realizar a escrita no

disco.

Normalmente este log é um log circular alocado em uma área especial do

sistema de arquivos.

Este tipo de sistema de arquivos tem a oferecer uma melhor probabilidade

de não sofrer corrupção de dados no caso de o sistema travar ou faltar

energia, e uma recuperação mais rápida, pois não necessita verificar todo

o disco, somente os arquivos que pertenciam a um log que não foi

fechado devidamente.

Page 39: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3.2 Identificação de discos rígidos no GNU/Linux

ext3 - Esse sistema de arquivos implementou o uso de Journaling do

Linux. Ou seja, todos os dados que entram na fila de escrita são anotados

e escritos no Journaling antes da operação, e quando concluídos são

removidos do Journaling.

O Journaling armazena informações sobre a operação de escrita que está

para ocorrer. Caso ocorra uma queda de energia, ou outro fato que venha a

interromper o sistema operacional no meio de uma operação de escrita,

quando ele for iniciado, o sistema de arquivos verifica as informações que

ficaram no Journaling e somente as áreas afetadas por essas operações

marcadas que serão verificadas pelo utilitário FSCK (File System Check).

ext4 - Foi dado um upgrade no ext3. Usa também o Journaling. Foi

melhorado o processo de gravação e escrita.

Page 40: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3.2 Identificação de discos rígidos no GNU/Linux

reiserfs: é um sistema de arquivos com uma performance muito boa e

que supera do ext2 e ext3 em termos de desempenho quando tratando

de pequenos arquivos (abaixo de 4 kb).

Muito rápido quando se trabalho com arquivos pequenos. Ele utiliza um

algoritmo interno para ordenar os nomes de arquivos pelo sistema. Também

conta com o Journaling, só que tem uma limitação (não permite o

gerenciamento de cotas em disco).

jfs: sistema de arquivos da IBM, que visa servidores, ou aplicações com

grande necessidade de espaço em disco rígido.

xfs: é um filesystem com Journaling. Mais avançado que o reiserfs e

jfs. Já é um sistema de arquivos de 64 bits. É o único que permite

redimensionamento em tempo de execução.

Page 41: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3.3 Boot loader

Ao final do processo de instalação, o sistema irá solicitar qual

software controlará o sistema de inicialização. Esse software será

instalado na MBR.

A tarefa desse programa é determinar qual SO será carregado e

carregá-lo na memória RAM.

Os dois mais utilizados são:

LILO (Linux Loader);

GRUB (Grand Unified Bootloader).

O Ubuntu, por padrão, utiliza o GRUB.

Page 42: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.3.3 Boot loader

Page 43: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.4 Contas

id -u (Mostra a identificação do usuário). Se for 0 (zero) é o root.

Sistemas baseados no Red Hat a identificação do usuário comum é a

partir de 1000 e cada novo usuário criado incrementa 1 (um).

Exemplo: 1000, 1001, 1002, assim por diante.

Page 44: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.4 Contas

Conta de Administrador:

sudo passwd root

Em seguida aparecem as seguintes mensagens:

[sudo] password for [usuário]: (digite a senha criada na instalação)

Digite a nova senha Unix: (digite a senha que será do root)

Regidite a nova senha Unix: (repita a senha que será do root)

Page 45: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.4.1 Criando Contas

Usuário Comum:

useradd

(dependendo do seu sistema (distribuição do Linux), o comando

pode ser também adduser), que é aplicado da seguinte forma:

useradd [opções] usuário

EXEMPLO: useradd bruno

OBS: Não é obrigatório colocar as opções.

Page 46: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.4.1 Criando Contas

Após a criação dos usuários, você poderá utilizar mais de um

terminal. Para isso, use o ctrl alt f2 para abrir o segundo terminal.

O terminal tem o nome de TTY e é seguido de um número para a

identificação. TTY1 é o primeiro terminal, TTY2 é o segundo terminal,

assim por diante.

Para utilizar mais terminais use o ctrl alt f3, ctrl alt f4, etc.

Page 47: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.4.2 Alterando Contas

Se você pode criar e apagar contas de usuários, pode também

alterá-las. Isso é feito facilmente com o comando usermod, cujo

funcionamento é semelhante ao comando adduser.

usermod -l novo_nome usuário

altera o nome do login do usuário. No exemplo a seguir, o usuário

bruno teve seu nome alterado para toledo

usermod -l toledo bruno

Page 48: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.4.3 Excluindo Contas

Para apagar um usuário digite o comando userdel seguido do

nome do usuário. Por exemplo:

userdel bruno

Se além de eliminar esse usuário do sistema você quiser que sua

pasta "home" seja apagada (junto com todo o seu conteúdo), basta

digitar o comando userdel seguido do parâmetro -r e do nome do

usuário:

userdel -r bruno

Page 49: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.4.4 Grupo de Usuários

Possuem a finalidade de adicionar um novo grupo ao sistema. No

comando addgroup, uma mensagem informando o GID (Group

Identification) do grupo é retornada após a finalização do comando.

Sintaxe:

addgroup nomegrupo

groupadd nomegrupo

Page 50: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.4.5 Groupmod

Modifica parâmetros de um grupo existente.

Sintaxe:

groupmod [opções] nomegruponovo grupoantigo

Parâmetros:

-n nome altera o nome do grupo

-g altera a GID do grupo

-0 quando usado com –g, permite repetir o número de

GID

Page 51: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.4.6 Adicionando usuário em um grupo

O exemplo mostra o usuário windows adicionado no grupo

computador.

usermod -G computador windows

Page 52: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.4.7 groupdel e delgroup

Excluem grupos do sistema.

Sintaxe:

groupdel nomegrupo

delgroup nomegrupo

Obs.: O comando delgroup assim como o adduser leva o usuário

a um modo interativo.

Page 53: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.4.8 passwd

Altera ou define a senha de um usuário existente no sistema.

Sintaxe:

passwd [opções] usuario

Page 54: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.4.9 gpasswd

Altera ou define a senha para um grupo do sistema.

Sintaxe:

gpasswd [opções] nomegrupo

Page 55: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5 Controle de Acesso

A segurança do sistema de arquivos é um requerimento fundamental para

qualquer sistema operacional multiusuários.

Os arquivos do sistema, tais como o Kernel, os arquivos de configuração e

os programas precisam ser protegidos contra acidentes e contra a

manipulação feita por pessoas não autorizadas.

Os arquivos dos usuários precisam ser protegidos contra modificações feitas

por outros usuários e, em alguns casos, precisam ser mantidos

completamente privados.

Em geral, é preciso implementar alguma forma de controle de acesso para

se permitir as operações seguras.

Page 56: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5 Controle de Acesso

O controle de acesso ao sistema de arquivos nativo do Linux é implementado

usando-se um conjunto de propriedades, mantidas separadamente para

cada arquivo.

Essas propriedades são chamadas coletivamente de modo de acesso, ou

simplesmente, modo, de um arquivo.

O modo é uma parte do inode do arquivo. O modo de controla o acesso por

três classes de usuários: Usuários (user), Grupo (group) e Outros (other).

Page 57: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5 Controle de Acesso

Inode: estrutura responsável por conter informações básicas sobre

seus arquivos e pastas, como permissões de acesso, identificação

dos donos dos arquivos, data e hora do último acesso e alterações,

tamanho e o mais importante, os famosos ponteiros para o arquivo

em si.

De modo geral, o INODE é a identidade de um arquivo ou diretório, é

uma identificação única para ele.

Page 58: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5 Controle de Acesso

Usuário (User)

O usuário que é o proprietário do arquivo.

Grupo (Group)

O grupo que é o proprietário do arquivo.

Outros (Other)

Todos os outros usuários do sistema.

Page 59: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5 Controle de Acesso

Quando um novo arquivo é criado, essas propriedades são

automaticamente setadas. Geralmente, o proprietário é o usuário

que criou o arquivo.

O grupo do arquivo normalmente é definido como o grupo padrão

do seu criador. A propriedade de grupo adiciona flexibilidade em

situações nas quais uma equipe compartilha arquivos.

Os outros usuários são aqueles que não são membros do grupo do

arquivo e também não é o seu proprietário.

Para cada uma dessas três classes de usuários, o modo de acesso

define três tipos de permissões, que se aplicam diferentemente

para arquivos e diretórios.

Page 60: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Permissão Abreviatura Permissão de arquivo Permissão de diretório

Leitura

(read )

r Examinar o conteúdo

do arquivo

Listar o conteúdo do diretório

Escrita

(write)

w Escrever/ou modificar

o arquivo

Criar e remover arquivos no

diretório

Execução

(execute)

x Rodar o arquivo

como um programa

Acessar o diretório (comando

cd)

Essas três permissões se aplicam às três classes diferentes:

usuário, grupos e outros.

r w x r w x r w x

0 0 0 0 0 0 0 0 0

usuário grupo outros

Capítulo 9 - Linux

Page 61: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5 Controle de Acesso

Todas as permissões são binárias (concedida ou negada). Quando

exibidas pelo comando ls, as permissões usam as abreviaturas (r,

w e x) para o estado verdadeiro e “ – “ para o estado falso.

Page 62: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5 Controle de Acesso

As permissões de acesso podem ser representadas em uma

string de 12 bits.

É comum referir-se os bits em três conjuntos de três bits.

O primeiro conjunto refere-se às permissões de usuário;

O segunda conjunto, às permissões de grupo;

O terceiro conjunto, às permissões de outros.

Além desses três conjuntos, existe um outro conjunto formado por

SUID, SGID e Sticky.

Page 63: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.1 Representação

d rwx rwx rwx

A 1ª letra – Mostra se o arquivo é ou não um diretório;

2 a 4 letra – Permissões para o usuário dono do arquivo;

5 a 7 letra – Permissões para o grupo dono do arquivo;

8 a 10 letra – Permissões para outros usuários.

Page 64: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.2 Permissões - Valores

Permissão se dá através de dono, grupo e outros:

d rwx rwx rwx

Onde: r = 4 w =2 x = 1

Page 65: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.3 Modificando os bits de modo

Como visto, cada grupo de permissão é formado por três bits. Para

alterarmos as permissões de cada grupo, utilizamos um octal referente a

combinação de bits que queremos ativar para o grupo.

4 2 1 4 2 1 4 2 1

0 0 0 0 0 0 0 0 0

r w x r w x r w x

octal

Exemplo: Definir a permissão de leitura e escrita para o usuário, leitura

para o grupo e outros.

4 2 1 4 2 1 4 2 1

1 1 0 1 0 0 1 0 0

r w x r w x r w x

Valor octal

644

Page 66: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.3 Modificando os bits de modo

Permissão Valor octal Equivalente binário

- 0 0

--x 1 001

-w- 2 010

-wx 3 011

r-- 4 100

r-x 5 101

rw- 6 110

rwx 7 111

Page 67: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.4 Exemplos de Permissões

Veja abaixo uma lista com as permissões mais utilizadas:

--------- 000 Ninguém tem permissões;

r-------- 400 Dono Lê;

r--r--r-- 444 Todos Lêem;

rw------- 600 Dono lê e grava;

rw-r--r-- 644 Dono lê e grava e os outros lêem;

rw-rw-r-- 664 Dono e o grupo lêem e gravam e os outros lêem;

rwx------ 700 Somente o dono tem todas as permissões;

rwxr-x--- 750 Dono com todas as permissões, o grupo lê e executa;

rwxr-xr-x 755 Dono com todas as permissões, o outros lêem e executam;

rwxrwxrwx 777 Todos com permissões liberadas.

Page 68: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.5 Símbolos

u => usuáriog => grupoo => outrosa => todos

r => leituraw => gravaçãox => execução

Page 69: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.6 Comando “chmod”

Modifica o modo de acesso dos arquivos. Normalmente utilizamos

duas formas distintas para fazer isso:

modo simbólico

modo octal

Sintaxe:

chmod [opções] modo arquivo

Page 70: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.6 Comando “chmod”

Opções:

-C semelhante ao modo verbose, mas só relata as modificações.

-R usa o modo recursivo.

-v usa o comportamento verbose, relatando todas as mudanças.

Page 71: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.6 Comando “chmod”

Exemplo 01:

Definir o modo do arquivo aula.txt para rw-r--r-- usando octal

chmod 644 aula.txt

Exemplo 02:

Definir o modo do arquivo aula.txt para rw-r--r– usando octal com o

método verbose ativado

chmod –v 644 aula.txt

Page 72: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.7 Comando “chmod” - Adicionar e Remover Permissão

Para poder combinar os símbolos destas duas listas anteriores, usamos osoperadores:

+ (adição) => adicionar permissão

- (subtração) => remover permissão

= (igualdade) => definir permissão

Exemplo:

chmod u+w nome_do_arquivo.txt

Page 73: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.7 Comando “chmod” - Adicionar e Remover Permissão

chmod u+w nome_do_arquivo.txt

O “u” indica que a permissão será dada a um usuário;

O sinal de adição (+) indica que está sendo adicionada a

permissão;

O “w” indica que a permissão que está sendo adicionada é a de

gravação.

Page 74: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.7 Comando “chmod” - Adicionar e Remover Permissão

Caso você queira dar permissão de leitura e execução ao seu grupo, o

comando será:

Exemplo:

chmod g+rx nome_do_arquivo.txt

Page 75: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.7 Comando “chmod” - Adicionar e Remover Permissão

Caso você queira dar permissão de leitura, gravação e execução ao seu

grupo e ao dono do arquivo, o comando será:

Exemplo:

chmod ug+rwx nome_do_arquivo.txt

Page 76: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.7 Comando “chmod” - Adicionar e Remover Permissão

Você pode copiar permissões de uma categoria para outra;

Vamos copiar todas as permissões do “dono” do arquivo para a categoria

“outros”.

Exemplo:

chmod o=u nome_do_arquivo.txt

Page 77: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.8 Comando “chown”

O comando chown executado pelo root permite alterar o proprietário ou

grupo do arquivo ou diretório, alterando o dono do arquivo ou grupo.

Sintaxe:

chown [opções] usuário:grupo

Opções:

-C semelhante ao modo verbose, mas só relata as modificações

-R usa o modo recursivo

-v usa o comportamento verbose, relatando todas as mudanças

Page 78: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.8 Comando “chown”

Exemplo 01:

Por exemplo, vamos alterar o proprietário do arquivo curriculum para

um usuário chamado renata (já existente no sistema):

chown renata curriculum.txt

Exemplo 02:

Podemos também alterar o grupo do arquivo juntamente com o

usuário. Por exemplo, vamos alterar o usuário do arquivo curriculum

para ana e seu grupo para marketing ao mesmo tempo:

chown ana:marketing curriculum.txt

Page 79: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.5.9 Monitoramento de Acesso

w - mostra quem está logado no sistema e o que esta fazendo. Se não for

especificado um usuário ao comando, será exibido informações de todos

usuários logados.

who (Quem) - é semelhante ao comando w mostra quais usuários estão

logados no sistema, com informações básicas.

whoami (Quem sou eu?) - comando que mostra apenas os

usuários logados no sistema.

Page 80: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.6 Comandos Básicos

O comando mount é utilizado para montar um dispositivo na hierarquia do

sistema de arquivos do Linux.

Sintaxe:

mount [opções] [dispositivo] [ponto_de_montagem]

Page 81: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.6 Comandos Básicos

Opções:

-a Monta todos os dispositivos especificados no arquivo /etc/fstab que

não têm a opção noauto selecionada.

-r Monta o sistema de arquivos do dispositivo como somente leitura.

-w Monta o sistema de arquivos do dispositivo como leitura e

gravação.

-o Especifica as opções de montagem.

-t Especifica o tipo do sistema de arquivos do dispositivo.

Page 82: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.6 Comandos Básicos

Alguns tipos:

ext2 - Partições Linux.

ext3 - Partições Linux.

reiserfs - Para partições reiserfs.

vfat - Para partições Windows Fat.

ntfs - Para partições Windows NTFS.

iso9660 - Para montar unidades de cdrom.

OBS.: A montagem e desmontagem de dispositivos só pode ser

feita pelo usuário root ou por outros usuários que tenham

direitos administrativos no sistema.

Page 83: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.6 Comandos Básicos

Do ponto de vista de segurança, isso é uma característica excelente

pois evita acessos não-autorizados do sistema.

Mas no ponto de vista prático, pode ser um problema pois os

dispositivos que deveriam ser acessados por usuários comuns, como

CDs, disquetes, pendrives, são bloqueados para montagem por estes

últimos.

Page 84: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.6 Comandos Básicos

Para desmontar um dispositivo ou partição utilizamos o comando

umount, seguido do seu ponto de desmontagem no código digitado.

Desmonta uma unidade montada com o comando mount.

Sintaxe:

umount [ponto_de_montagem]

Page 85: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.6.1 Programas no Linux Ubuntu ou Debian

Exemplo para INSTALAR um programa

apt-get install firefox

aptitude install firefox

Exemplo para REMOVER um programa

apt-get remove firefox

aptitude remove firefox

Page 86: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.6.2 Programas no Linux Fedora ou Red-Rat

Exemplo para INSTALAR um programa

yum install firefox

Exemplo para REMOVER um programa

yum remove firefox

Page 87: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.7 Diretório

A primeira coisa com que você precisa se habituar é que no Linux os

discos e partições.

Enquanto no Windows temos as unidades A: , C: ou D: por exemplo,

no Linux temos os /dev/sda, /dev/sdb.

No Linux tudo faz parte de um único diretório, que chamamos de

diretório raiz ou simplesmente a representação "/“ em nosso HD.

Page 88: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.7.1 Comandos de Manipulação

cd Entra em um diretório

Exemplo: cd bruno (Entrou no diretório com nome bruno)

O comando cd pode ter os seguintes complementos:

Page 89: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.7.1 Comandos de Manipulação

mkdir Cria um diretório

rmdir Exclui um diretório

rm -rf Exclui um diretório e todo o seu conteúdo

Obs: Para criar um diretório com nome composto basta colocar entre

aspas “ ”

Exemplo: mkdir “Sistemas Operacionais”

Page 90: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.7.1 Comandos de Manipulação

mkdir -p docs/{img/{fotos,musicas,escola},textos/{artigos,

redacao},tmp}

A regra aqui é a seguinte:

Para cada pasta que conterá subpastas use "nome/{ }" dentro

das chaves coloque os nomes separados por vírgula e não

esqueça de usar o parâmetro '-p' no começo do comando!

Page 91: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.7.1 Comandos de Manipulação

pwd Exibe o local do diretório atual

ls Listar o conteúdo do diretório

ls -alh Mostra o conteúdo detalhado do diretório

Dica: Para executar mais de um comando ao mesmo tempo

basta separá-lo por ; Ex: pwd ; ls

Page 92: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.7.1 Comandos de Manipulação

cp Copia diretórios

cp -r Copia recursivamente, copia todos os arquivos e

subdiretórios do diretório especificado.

Copia arquivos.

cp [opções] [origem] [destino]

Page 93: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.7.1 Comandos de Manipulação

Crie um diretório com o nome X e um com nome Y em seguida,

copie o diretório X para dentro de Y.

Resposta:

mkdir X Y

cp -r X Y

Page 94: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.7.1 Comandos de Manipulação

mv Move ou renomeia diretórios

Move ou renomeia arquivos e diretórios.

mv [opções] [origem] [destino]

Page 95: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.7.1 Comandos de Manipulação

Exemplo 01:

mv teste1 teste2

Muda o nome do arquivo teste1 para teste2

OBS: mv teste1 teste2 -v

Muda o nome do arquivo teste1 para teste2, e mostra na tela

Exemplo 02:

mv teste /tmp

Move o arquivo teste para /tmp. Lembre-se que o arquivo de origem é

apagado após ser movido.

Page 96: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.7.1 Comandos de Manipulação

-i (interactive) Pergunta antes de substituir um arquivo existente.

-f (force) Não pergunta, substitui todos os arquivos caso já exista.

-r Copia arquivos dos diretórios e subdiretórios da origem para

o destino. É recomendável usar -R ao invés de -r.

-R (recursive) Copia arquivos e sub-diretórios (como a opção -r).

-v (verbose) Mostra os arquivos enquanto estão sendo copiados.

-b Cria um backup dos arquivos de destino, se eles forem

sobrescritos;

-u Só move os arquivos novos. Se o arquivo que está sendo

movido já estiver presente no diretório de destino, ele é

ignorado.

Page 97: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.8 Arquivos

A principal função de um sistema de arquivos é manter uma

estrutura organizada onde possamos armazenar os arquivos.

Estes arquivos podem ser de vários tipos e conteúdos como

documentos, programas, arquivos binários e texto puro.

Page 98: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.8.1 Manipulação de Arquivos

Criar um arquivo txt:

touch bruno.txt cria um arquivo bruno.txt vazio

> bruno.txt mais rápido que o touch para criar arquivos

Obs: O comando touch atualiza a data de acesso de um

arquivo existente, e caso não exista, é criado um arquivo vazio.

Page 99: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.8.1 Manipulação de Arquivos

cp -r Copia diretórios, ou cp para copiar arquivos

mv Move ou renomeia arquivos

Copia arquivos

cp [opções] [origem] [destino]

Move ou renomeia arquivos e diretórios

mv [opções] [origem] [destino]

Page 100: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.8.1 Manipulação de Arquivos

rm Remoção de arquivos

Remove arquivos

rm [opções] [origem] [destino]

Exemplo:

Remover o arquivo bruno.txt

rm bruno.txt

Page 101: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.8.1 Manipulação de Arquivos

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 diretório

/tmp

cp * /tmp - Copia todos os arquivos do diretório atual para /tmp

cp /bin/* - Copia todos os arquivos do diretório /bin para o diretório

em que nos encontramos no momento.

cp -R /bin/* /tmp - Copia todos os arquivos do diretório /bin (exceto o

diretório /bin) e todos os arquivos/sub-diretórios existentes dentro dele

para /tmp.

cp -R /bin /tmp - Copia todos os arquivos e o diretório /bin para /tmp.

Page 102: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.8.1 Manipulação de Arquivos

Abrir um arquivo criado: Digitar o gedit arquivo.extensão

Exemplo:

gedit texto.txt

Obs: Em alguns casos terá que configurar o editor gedit do seu Linux

para que o comando funcione corretamente.

Page 103: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.8.1 Manipulação de Arquivos

wc

Conta o número de palavras, bytes e linhas em um arquivo ou

entrada padrão. Se as opções forem omitidas, o wc mostra a

quantidade de linhas, palavras, e bytes.

Page 104: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.8.1 Manipulação de Arquivos

Exemplos:

wc aula.txt

Mostra a quantidade de linhas, palavras e letras (bytes) no arquivo aula.txt.

wc -w aula.txt

Mostra a quantidade de palavras.

wc -l aula.txt

Mostra a quantidade de linhas.

wc -l -w aula.txt

Mostra a quantidade de linhas e palavras no arquivo criado.

Page 105: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.8.1 Manipulação de Arquivos

cat arq para exibir o conteúdo do arquivo chamado “arq”.

Exemplo: cat aula.txt

Se desejar que as linhas do arquivo sejam enumeradas use a

opção “-n” junto ao comando, desta forma “cat -n arq”.

OBS: Para exibir o contéudo de maneira inversa, basta utilizar o

comando tac arq

Exemplo: tac aula.txt

Page 106: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.8.1 Manipulação de Arquivos

O “cat arq arq1 arq2 > arq_final” para concatenar os

arquivos “arq”, “arq1” e “arq2” e colocar o resultado em outro

arquivo chamado “arq_final”. Notar que neste comando é feito

uso do caractere “>” chamado de redirecionador de saída.

Exemplo: cat aula1.txt aula2.txt aula3.txt > aula_final.txt

O “cat arq3 >> arq_final” para inserir o conteúdo do

arquivo “arq3” ao final do arquivo “arq_final”.

Exemplo: cat aula.txt >> aula_teste.txt

Page 107: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.8.2 Comando gzip

Compactar e Descompactar Arquivos

gzip arq compacta arq e renomeia-o para arq.gz

Exemplo: gzip aula.txt

gzip -d descompacta arq

Exemplo: gzip -d aula.txt.gz

Page 108: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.8.2 Comando gzip

Opções:

-c - extrai um arquivo para a saída padrão;

-d - descompacta um arquivo comprimido;

-l - lista o conteúdo de um arquivo compactado;

-v - exibe detalhes sobre o procedimento;

-r - compacta pastas;

-t - testa a integridade de um arquivo compactado.

Ainda no que se refere às opções de parâmetros, é possível utilizar

uma numeração de 1 a 9 para indicar o nível de compactação.

Quanto maior o número, maior será a compactação do arquivo.

Page 109: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.8.2 Comando gzip

Exemplos:

gzip -1 aula.txt

Este procedimento faz com que o arquivo aula.txt seja compactado

considerando o nível mais baixo de compreensão.

Page 110: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9 Processos

O gerenciamento e o controle de processos é uma operação

essencial para o funcionamento do sistema.

Na maioria dos casos, os processos se ativarão, executarão e

terminarão sem qualquer intervenção do usuário, porque eles são

gerenciados automaticamente pelo kernel.

Entretanto, haverá situações em que um processo será terminado por

algum motivo desconhecido e precisará ser reiniciado, ou por outro

lado, um processo poderá “se rebelar” e consumir recursos do

sistema excessivamente, tornando necessário que ele seja terminado.

Page 111: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9 Processos

Todo programa, seja um comando, aplicativo ou script, que esteja

executando no seu sistema é um processo.

O seu shell é um processo e todo comando que você executa a partir do

shell inicia um ou mais dos seus próprios processos (conhecidos como

processos-filhos). Os atributos e conceitos associados com esses

processos incluem:

Page 112: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9 Processos

PID

Número inteiro único que identifica um processo. É atribuído no

momento de inicialização do processo.

UID e GID

Os processos precisam ter privilégios associados, e o UID e o GID de

um processo são associadas como o usuário que iniciou. Isso limita o

acesso que o processo terá aos objetos do sistema e arquivos.

Processo Pai

É o processo pai de um processo. Ao iniciarmos o Linux, o primeiro

processo a ser executado é o init, que recebe PID 1. Todos os demais

processos serão filhos desse processo.

Page 113: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9 Processos

PID pai

É o PID do processo pai. Caso o pai de um processo seja terminado

(morto), o PID parente será o PID 1.

Ambiente

Cada processo armazena uma lista de variáveis e dos seus valores

associados. Coletivamente, essa lista é conhecida como o ambiente

do processo e as variáveis são chamadas de variáveis de ambiente.

Os sub-processos herdam as suas configurações de ambiente do

processo pai, a não ser que um ambiente alternativo seja

especificado durante o momento de inicialização do processo.

Diretório atual de trabalho

Local onde o processo lerá e escreverá em arquivos. Cada processo

possui um diretório padrão, mas esse diretório pode ser alterado

durante a inicialização do processo.

Page 114: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.1 Comando ps

Exibe a lista de processos em execução

ps [opções]

Opções mais frequentes:

-a: Mostra os processos que são de propriedade de outros usuários e

que estejam vinculados a um terminal.

-l: Formato longo, inclui a prioridade, o PID pai e outras

informações.

-u: Formato do usuário, o qual inclui nomes dos usuários e a hora de

início dos processos.

-x: Inclui processos que não tenham terminais (ttys) de controle. Essa

opção é utilizada para ver processos daemons e outros que não

tenham sido iniciados através de um terminal.

-U usuario: Exibe processos de um determinado usuário.

Page 115: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

Page 116: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

9.9.1 Comando ps

USER - nome do usuário dono do processo;

UID - número de identificação do usuário dono do processo;

PID - número de identificação do processo;

PPID - número de identificação do processo pai;

%CPU - porcentagem do processamento usado;

%MEM - porcentagem da memória usada;

VSZ - indica o tamanho virtual do processo;

RSS - sigla de Resident Set Size, indica a quantidade de memória usada (em KB);

TTY - indica o identificador do terminal do processo;

START - hora em que o processo foi iniciado;

Capítulo 9 - Linux

Page 117: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

9.9.1 Comando ps

TIME - tempo de processamento já consumido pelo processo;

COMMAND - nome do comando que executa aquele processo;

PRI - valor da prioridade do processo;

NI - valor preciso da prioridade (geralmente igual aos valores de PRI);

WCHAN - mostra a função do kernel onde o processo se encontra em modo suspenso;

STAT - indica o estado atual do processo, sendo representado por uma letra: R

(executável); D (em espera no disco); S (suspenso); T (interrompido); Z (Zumbi). Essas

letras podem ser combinadas e ainda acrescidas de: W (processo paginado em disco);

< (processo com prioridade maior que o convencional); N (processo com prioridade

menor que o convencional); L (processo com alguns recursos bloqueados no kernel).

Capítulo 9 - Linux

Page 118: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

Page 119: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.1 Comando ps

O comando top oferece uma saída semelhante ao ps, porém em uma

exibição continuamente atualizada.

Sintaxe:

top [opções]

Opções:

-b: executa em modo lote. Isso é útil para enviar a saída para

outros programas ou para um script.

-d tempo: específica o tempo de atualização da tela. O padrão é

cinco segundos.

-i: Ignora processos ociosos.

-n num: executa em número de ciclos pré-definido terminando

logo em seguida. Sem esse parâmetro, o top é

executado por tempo indeterminado.

Page 120: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.1 Comando ps

Opções interativas:

h: gera uma tela de ajuda.

k: termina um processo.

n: modifica o número de processos a serem exibidos.

q: sai do programa.

r: modifica a prioridade de um processo. Será pedido o

seu PID e o seu valor nice.

s: modifica o tempo de atualização da tela.

Page 121: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.2 Sinais Interativos

Cada processo sendo executado no seu sistema monitora sinais, que

são simples mensagens enviadas ao processo pelo kernel ou por um

usuário.

Cada sinal é representado por um número inteiro pré-definidos e

conhecidos pelos usuários.

Por exemplo, se um processo trava, podemos pressionar as teclas

ctrl+c ou q para abortá-lo. Essa ação é na verdade um sinal dizendo

a ele para interromper sua execução.

Page 122: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.2 Sinais Interativos

Existem mais de 32 sinais definidos, sendo os mais comuns listados na

tabela a seguir:

Nome do sinal

Número Significado e uso

HUP 1Hung up (desconectar). Este sinal é enviadoautomaticamente quando você faz logout.

INT 2 Interromper; pára a execução. CTRL+C

KILL 9Terminar; pára imediatamente o processo. Enviareste sinal é uma medida drástica, uma vez que elenão pode ser ignorado pelo processo.

TERM 15 Termina um processo de uma forma mais elegante

TSTP 20 Pára a execução, deixando o pronto para continuar

CONT 18 Continua a execução.

Page 123: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.3 Comando “kill”

Termina (mata) um processo em execução

Sintaxe:

kill sinal processo

Exemplo:

kill -9 2140

Page 124: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.4 Comando bg

Processo Background ou processo de segundo plano, é um termo oriundo

dos estudos referentes a Sistemas Operacionais, que designa os processos

que ocorrem em que não há interação com o usuário.

Este comando coloca um processo em background.

Podemos também colocar um processo em background utilizando o símbolo

“&” após o comando que inicia o processo.

Exemplo: nano &

Outra forma de enviarmos um processo em execução para background é

utilizando as teclas ctrl+z durante a execução do processo.

Page 125: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.5 Comando jobs

Serve para visualizar os processos que estão parados ou executando em

segundo plano (background).

Quando um processo está nessa condição, significa sua execução é feita

pelo kernel sem que esteja vinculada a um terminal. Em outras palavras, um

processo em segundo plano é aquele que é executado enquanto o usuário

faz outra coisa no sistema.

Uma dica para saber se o processo está em background é verificar a

existência do caractere & no final da linha. Se o processo estiver parado,

geralmente a palavra "stopped" aparece na linha, do contrário, a palavra

"running" é exibida.

Page 126: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.5 Comando jobs

Sintaxe:

jobs [opções]

Opções:

-l: lista os processos através do PID;

-r: lista apenas os processos em execução;

-s: lista apenas os processos parados.

Se na linha de um processo aparecer o sinal positivo (+), significa que este é o

processo mais recente a ser paralisado ou a estar em segundo plano. Se o sinal

for negativo (-), o processo foi o penúltimo. Note também que no início da linha

um número é mostrado entre colchetes. Muitos confundem esse valor com o PID

do processo, mas, na verdade, trata-se do número de ordem usado pelo jobs.

Page 127: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.5 Comando jobs

Retorna uma tarefa que está em background para foreground.

Sintaxe:

fg [jobspec]

Page 128: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.6 Estado dos Processos

Quando um processo é criado, isso não significa que ele será imediatamente

executado. Além disso, determinados processos podem ser

temporariamente paralisados para que o processador possa executar um

processo prioritário. Isso quer dizer que os processos, em certos momentos,

podem estar em situações de execução diferentes. O Linux trabalha,

essencialmente, com quatro tipos de situação, isto é, estados:

Executável: o processo pode ser executado imediatamente;

Dormente: o processo precisa aguardar algo para ser executado. Só depois

dessa "coisa" acontecer é que ele passa para o estado executável;

Zumbi: o processo é considerado "morto", mas, por alguma razão, ainda

existe;

Parado: o processo está "congelado", ou seja, não pode ser executado.

Page 129: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.7 Prioridades de execução dos processos

Uma das características do Linux é que o administrador tem a capacidade

de priorizar a execução dos processos.

Isso é útil quando um servidor com alta carga de trabalho necessita rodar

determinados processos especiais ou quando um processo começa a

apresentar problemas e você não deseja encerrá-lo para poder examiná-lo

melhor.

Normalmente o administrador não precisa se preocupar com a prioridade de

execução, porque o kernel lida com ela automaticamente.

O nível de prioridade de cada processo é constante e dinamicamente

aumentado ou diminuído pelo kernel de acordo com uma série de

parâmetros.

Page 130: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.7 Prioridades de execução dos processos

A prioridade de um processo pode ser visualizada utilizando o comando ps -l

ou top.

Quando visualizamos as prioridades com o comando ls, percebemos que a

maioria dos processos possuem valor igual a 80. Isso significa que sua

prioridade é 0. A coluna NI exibe o número real da prioridade de um

processo. Quanto mais baixo for esse número, maior é a prioridade do

processo.

Processos com alta prioridade recebem mais tempo da CPU enquanto os

com menores prioridades, menos tempo para sua execução.

Page 131: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.8 Comando “nice”

O comando nice é utilizado para atribuir um número de prioridade ao

processo.

Por padrão, os processos do usuário são criados com o número nice 0

(zero).

Os números nice variam de -20 a +19. Números positivos diminuem a

prioridade relativa a outros processos enquanto números negativos

aumentam essa prioridade.

Exemplo:

Se um utilitário com longo tempo de execução estiver em execução e

não quiser que isso implique em perda de desempenho na máquina,

um número nice positivo diminuirá a prioridade da tarefa e melhorará

o desempenho.

Page 132: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.8 Comando “nice”

Sintaxe:

nice [-n valor] [comando]

Obs.: somente o usuário administrador pode atribuir valores

negativos para processos.

Exemplo:

nice -n -10 vi /etc/passwd

Page 133: Sistemas de Informação - brunotoledoifmg.combrunotoledoifmg.com/SO/Aulas/Aula 11 - Linux.pdf · Capítulo 9 - Linux 9.1 Unix O uso de UNIX se baseia na noção de sessão de trabalho

Capítulo 9 - Linux

9.9.8 Comando “nice”

Modifica a prioridade de um processo em execução.

Sintaxe:

renice [+ | - ] valor [opções] [processo]

Opções:

-u especifica usuário que terá seus processos modificados

-p especifica o PID do processo

Exemplos:

renice 20 501

renice -10 -u paulo