Você está na página 1de 88

SISTEMAS OPERACIONAIS

Profº Jones Artur Gonçalves


Linux

Profº Jones Artur Gonçalves


Sistema Operacional

O Sistema Operacional é o conjunto de programas


que fazem a interface do usuário e seus programas
com o computador.

No Linux o Kernel mais o conjunto de ferramentas


GNU compõem o Sistema Operacional.
O Linux

 O Dr. Andrew Tanenbaum motivado para fins


educacionais, criou o MINIX, é um dos principais
inspiradores de Linus Torvalds

 Linus Benedict Torvalds (28 de Dezembro de 1969) é o


criador do kernel do sistema operacional GNU/Linux,
muitas vezes chamado simplesmente de "Linux". Ele
estudou na Universidade de Helsinki. Vive atualmente em
Santa Clara, na Califórnia, com a sua mulher Tove e suas
três filhas. Ele é um empregado do Open Source
Development Lab (OSDL).
É gratuito!

O código fonte aberto permite que qualquer


pessoa veja como o sistema funciona.
O Linux é desenvolvido por milhares de pessoas
espalhadas pelo mundo.
O suporte ao sistema também se destaca como
sendo o mais eficiente e rápido do que
qualquer programa comercial disponível no
mercado.
Projeto GNU

Em 1984, Richard M. Stallman criou a "Free Software


Foundation" e lançou o projeto GNU. A licença do projeto
GNU, a Licença Pública Geral GNU (GNU General Public
License, GNU GPL ou GPL simplesmente), não somente
concede as quatro liberdades, mas também as protege.
Graças a essa proteção, a GPL é, hoje em dia, a licença mais
utilizada para Software Livre.
Projeto GNU

Richard M. Stallman

O Software Livre baseia-se sobre a


forma de quatro liberdades
Liberdade 1

Liberdade de executar o
programa, para qualquer fim,
da forma que se desejar.
Liberdade 2

Liberdade para modificar o


programa e adaptá-lo às suas
necessidades.
Liberdade 3

A liberdade de redistribuir
cópias de modo que você
possa ajudar ao seu próximo.
Liberdade 4

A liberdade de aperfeiçoar o
programa, e liberar os seus
aperfeiçoamentos, de modo que
toda a comunidade se beneficie
deles.
● Prestação de Serviços:
● Treinamento
● Desenvolvimento de Manuais
● Suporte Técnico
● Personalização de Programas
● Implementação de Soluções
Copie!

Seja Legal
Use Software Livre
Linux como Servidor

Web
Proxy
E-mail e WebMail
Arquivos
FTP
Telnet e SSH
DNS
Impressão
Banco de Dados
Listas de discussão
Aplicações
Hardware
Jogos (Counter Strike)
Linux como Desktop/ Estação

Menor manutenção
Diversas aplicações disponíveis
Recursos multimídia
Internet fácil e rápida
Compartilhamento limitado
Diversos ambientes gráficos
Aproveitamento de equipamento obsoleto
Economia com licenças
Diversos jogos
Soluções para Escritório
Utilizando o OpenOffice (BrOffice), poderá produzir:
textos, planilhas, apresentações,
desenhos e páginas Web. Além de poder abrir
documentos em outros formatos.
Outras soluções (free):
Koffice
Gnome Office
Recursos Multimídia
Assisitir filmes em diversos formatos
Reproduzir CD's de audio e MP3
Câmera digital
Gravação de CD e DVD
Entretenimento
Diversos jogos disponíveis gratuitamente
Grandes nomes sendo portados
Emuladores de Atari, MSX, PS, Nintendo e outros.
Recursos Gráficos
GIMP
Xpaint, XV, GTKSee
ZGV, XZGV
Tux Paint
GhostView
Acrobat Reader
Qcad
Soluções para Banco de Dados...
MySQL
PostgreSQL
Firebird/Interbase
Programando...
C/C++
Pascal
Cobol
Basic
Clipper
Perl
Python
TCL/TK
Java
Shell Script
HTML
PHP
Java Script
Como escolher a melhor distribuição?
Como escolher a melhor distribuição?

http://distrowatch.com/dwres.php?resource=major
Acessando pela primeira vez

Quando entrar pela


primeira vez no
GNU/Linux (ou qualquer
outro UNIX, a primeira
coisa que verá será a
palavra login: escrita na
tela.

# = root
$ = um usuário normal
A Conta root

A conta root não tem restrições


de acesso ao sistema e pode fazer
tudo o que quiser, é equivalente
ao usuário normal do DOS e
Windows. Use a conta root
somente para manutenções no
sistema e instalação de
programas, qualquer movimento
errado pode comprometer todo o
sistema.
O BASH

bash (Bourne Again Shell), o shell


(interpretador de comandos)
padrão do Linux. Já podemos então
utilizar a máquina digitando
comandos que serão interpretados
pelo bash e passados ao kernel para
execução .
Alternando Entre Consoles

Os sistemas Linux permitem que se trabalhe com mais de um


console na mesma máquina. Normalmente, por padrão temos
acesso a seis consoles texto, além de mais seis sessões do X
Window, sendo que estes parâmetros podem ser alterados no
sistema.
Tecla de Atalho Linux
Fx É referente as teclas de F1 a F7 do teclado
Passa para o Console virtual “x” (x é o número de 1 a 7, que pode
Alt + Fx
representar os consoles do Linux)
Ctrl+Alt+Fx Passa do console virtual window para o terminal console.
Alt + Passa para o console virtual anterior a janela ativa.
Alt + Passa do console virtual seguinte a janela ativa.
Instalando Pacotes
O método de instalação de pacotes/programas podem variar
conforme a distribuição utilizada. (Usando por exemplo, yum,
apt get, apt install, etc)

Segue um exemplo de um comando de instalação:

sudo apt install tree


Saída do Sistema (logout ou exit)

Para sair do sistema, existem duas formas de fazê-lo:


1. Exit
2. Logout

Atalho Ctrl + d.
Encerramento do Sistema

shutdown [-t segundos] [-rkhncfF] tempo [mensagem de alerta]


Tempo Momento que o computador será desligado. Você pode usar
HH:MM para definir a hora e minuto, MM para definir minutos, SS
para definir após quantos segundos, ou now para imediatamente
(equivalente a 0).
Mensagem: Mensagem que será mostrada a todos os usuários
alertando sobre o reinicio/desligamento do sistema.
Encerramento do Sistema

shutdown [-t segundos] [-rkhncfF] tempo [mensagem de alerta]


shutdown -h 20
shutdown -h 23:00
shutdown -r 20
shutdown -t 30 -r 20
shutdown – c
shutdown -h now
shutdown -r now
COMANDOS BÁSICOS

Comandos do Linux
whoami Disponibiliza o nome do usuário que esta logado atualmente.
who Exibe uma lista dos usuários que fizeram login no Linux (atualmente)
Função similar a de comando “who”, porém retorna informações
w mais detalhadas, tais como a hora atual, tempo de funcionamento do
sistema, número de usuários que acessaram até o momento.
last Mostra todos os usuários que fizeram login anteriormente
whatis Exibe uma descrição breve de um comando do Linux
help Exibe todas as opções de comando do Linux.
clear Limpar a tela.
Print Working Directory : exibe em que pasta o usuário esta no
pwd
momento.
COMANDOS BÁSICOS
O comando ls lista o conteúdo de um diretório. Quando usado
sem opções, lista todos os arquivos não ocultos do diretório, em
ordem alfabética, preenchendo tantas colunas quantas couber
na tela.
COMANDOS BÁSICOS
Opção Resultado
-a Lista todos os arquivos presentes nos diretórios, inclusive os ocultos.
-k Caso o tamanho do arquivo seja listado, mostra-o em Kbytes
-l Além do nome de cada arquivo, lista o tipo, permissões, número de ligações diretas,
nome do dono, nome
do grupo, tamanho em bytes e data (da modificação, a menos que outra data seja
selecionada). Para arquivos com uma data anterior a 6 meses ou com mais de 1 hora
no futuro, a data conterá o ano ao invés da hora e dia.
-t Ordena o conteúdo dos diretórios pela data ao invés da ordem alfabética, com os
arquivos mais recentes listados no início.
-u Ordena o conteúdo dos diretórios de acordo com a data de último acesso ao invés da
data de modificação. No formato longo de listagem, apresenta a data de último
acesso ao invés da data de modificação.
-R Lista o conteúdo de todos os diretórios recursivamente.
-X Ordena o conteúdo dos diretórios alfabeticamente pelo nome da extensão
(caracteres após o último `.').Arquivos sem extensão são listados no início.
-1 Lista um arquivo por linha.
--color Colore os nomes dos arquivos dependendo do tipo
| (pipe)

O pipe (ou duto) é utilizado como conexão de utilitários. É uma


maneira de redirecionar as entradas e saídas, de modo que a saída
de um comando torna-se a entrada do comando seguinte. Pode-se
usar vários pipes em uma mesma linha de comando, de maneira que
é possível combinar tantos comandos quantos forem necessários.
more

O comando more consiste de um filtro para uso na visualização de


arquivos em terminais. Este comando só pode paginar o texto para
frente (do início para o fim).
Opções:
-d O more irá solicitar instruções ao usuário através da mensagem
"[Pressione espaço para continuar, 'q‘ para finalizar.]" e irá apresentar
a mensagem "[Pressione 'h' para instruções.]" ao invés de emitir
sinal sonoro quando uma tecla ilegal for pressionada.
ls -al --color | more -d
less

O comando less é um comando similar ao more, porém ele permite paginar


para frente e para trás no texto.
Para movimentar dentro do texto, utilize as teclas Page Up, Page Down,
Home, End e as setas de direção. Se desejar recorrer à ajuda dentro do less,
basta pressionar a tecla h. Para sair, pressione a tecla q.
ls -al | less
cd
O comando cd (abreviatura de change directory) é utilizado para mudar o
diretório corrente. Permite mudar do diretório atual para outro especificado pelo
usuário. Se for usado sem argumentos, muda para o diretório pessoal do usuário.
A opção “cd -” volta ao diretório anterior, enquanto a opção ”cd ..” sobe um
nível no sistema de arquivos (árvore de diretórios).
O argumento do comando, ou seja, a especificação do diretório para onde se
quer mudar, pode ser relativo à posição em que se está ou baseado no diretório
raiz (/). Neste último caso, o nome do diretório desejado deve ser precedido de
uma "/".
Exemplos:
cd /etc/X11 (especificação baseada no diretório raiz)
cd ..
cd X11 (especificação relativa à posição em que se está [/etc])
cd -
cd
COMANDOS DE DATA E HORA

O comando date é utilizado para mostrar a data e a hora do


sistema. Exibe a data e hora corrente, desde que aplicado
sem parâmetros. Somente o superusuário pode, através do
uso de parâmetros associados ao comando date, alterar a
data e hora do sistema.
COMANDOS DE DATA E HORA
Se for dado algum argumento que não comece com “+”, o comando date acerta o
relógio do sistema com o tempo e data especificados pelo argumento. O
argumento deve consistir somente de dígitos, que tenham o seguinte
significado:
MM mês;
DD dia do mês;
hh hora;
mm minuto;
CC primeiros dois dígitos do ano (opcional);
YY últimos dois dígitos do ano (opcional);
ss segundos (opcional).
Exemplo : date MesDiaHoraMinuto[AnoSegundos]
COMANDOS DE DATA E HORA

Exemplos:
date
date 052216002012
date '+Hoje é %A, dia %d de %B'
date '+Agora são %T‘
 Altere a data de seu sistema para o ano de
2015
 Verifique e depois retorne para a data atual
COMANDOS DE DATA E HORA
Define o formato da listagem que será usada pelo comando date. Os seguintes
formatos são os mais usados:
%d - Dia do Mês (00-31).
%m - Mês do Ano (00-12).
%y - Ano (dois dígitos).
%Y - Ano (quatro dígitos).
%H - Hora (00-24).
%I - Hora (00-12).
%M - Minuto (00-59).
%j - Dia do ano (1-366).
%p - AM/PM (útil se utilizado com %d).
%r - Formato de 12 horas completo (hh:mm:ss AM/PM).
%T - Formato de 24 horas completo (hh:mm:ss).
%w - Dia da semana (0-6).
man

O comando man é utilizado para formatar e exibir as


páginas de manual on-line, que são textos descrevendo em
detalhes como usar um comando especificado.
Exemplos:
man ls
man more
EDITANDO TEXTOS
O pico é um dos mais simples editores, porém satisfaz aos iniciantes
justamente pela sua facilidade de uso, sendo ideal para pequenas edições em
arquivos de configuração, pequenos textos, etc.
O Emacs e o VI são dois poderosíssimos editores rivais, sendo que ambos
possuem versões em modo texto ecom front-end gráfico, para serem
utilizados sob o X Window. Apesar de toda uma rivalidade entre os
simpatizantes de cada um destes dois programas, ambos são excelentes
editores, sendo bastante avançados em relação ao pico e aos demais editores
encontrados no ambiente Linux.
Além destes existem outros editores, como Joe, Elvis, Ed, Jed, Nvi.
Editor Nano

Ele é o "irmão gêmeo" do Pico. A vantagem é que


você não precisa instalar um software que não vai
usar só para ter a funcionalidade de um editor de
textos amigável. Com muitos Kb a menos, o Nano
tem as mesmas funções do pico.
Editor Nano
Abrir e criar arquivos é fácil com o nano, simplesmente digite: nano nomedoarquivo

O nano é um editor sem modos, então você pode começar a inserir texto
imediatamente. Se você estiver editando um arquivo de configuração como
/etc/fstab use a opção -w, por exemplo: nano -w /etc/fstab

Salvando e saindo
Se você quiser salvar as mudanças que você fez, aperte Ctrl+O. Para sair do
nano, digite Ctrl+X. Se você pedir para o nano sair de um arquivo modificado,
ele irá perguntar se você quer salvá-lo. Aperte N se você não quiser, ou Y se
você quiser. Ele irá então pedir um nome de arquivo. Digite-o e aperte Enter.
Se você acidentalmente confirmou que você quer salvar o arquivo, mas na
verdade você não quer, você sempre pode cancelar apertando Ctrl+C quando
um nome de arquivo for pedido.
Editor Nano

Crie um arquivo de texto


com o nome de texto.txt
nano texto.txt, e dentro
dele digite linha a linha,
seu nome, endereço,
bairro, cidade.
Salve e em seguida
visualize com o
comando:
cat texto.txt
mkdir

Este comando é utilizado para a criação de diretórios. Sua sintaxe é:


mkdir [opções] <caminho>

As opções mais utilizadas são:


-p Cria todos os diretórios especificados no caminho;
-m Especifica as permissões de acesso do novo diretório.
Exemplos:
mkdir teste
mkdir /etc/init.d/teste
mkdir -p um dois tres
mkdir -m 777 modelos
rm
Este comando é utilizado para remover arquivos. Pode remover também
diretórios.
Sintaxe:
rm [opções] <arquivos>

Opções mais utilizadas:


-f Não solicita confirmação.
-i Solicita confirmação. (Caso sejam informados -f e -i, somente o último terá
efeito).
-r Remove as árvores de diretórios recursivamente.
-R Remove as árvores de diretórios recursivamente.
Exemplos:
rm /etc/init.d/teste
rm -ir teste
rm -rf um dois tres
cp

Comando utilizado para copiar arquivos e diretórios. Pode-se copiar um arquivo para um
destino informado, ou copiar arbitrariamente muitos arquivos para o diretório de destino.
Sintaxe:
cp [opções] <origem> <destino>
Principais opções:
-f Remove um arquivo de destino já existente.
-i Pergunta se deve regravar arquivos já existentes.
-R Copia diretórios recursivamente, preservando arquivos que não sejam diretórios.
Caso o último argumento denomine um diretório existente, este comando copiará cada
arquivo de destino naquele diretório (mantendo o mesmo nome). Caso dois arquivos
sejam informados, ele copiará o primeiro no segundo.
Exemplos:
cp /etc/fstab fstab
cp -R /etc/rc.d /root/etc
mv
Comando utilizado para mover e renomear arquivos e diretórios.
Sintaxe:
mv [opções] <origem> <destino>
Principais opções:
-f Remove os arquivos de destino, sem solicitar a confirmação pelo usuário.
-i Solicita confirmação para sobrescrever arquivos de destino.
-v Lista o nome de cada arquivo antes de removê-lo.
Caso o último argumento seja o nome de um diretório existente, este comando
moverá cada arquivo informado para o diretório, mantendo o nome original. Por
outro lado, caso somente dois arquivos sejam informados, altera o nome do
primeiro para o segundo.
Exemplos:
mv /etc/fstab /etc/fstab.bak
mv -v /etc/fstab.bak /etc/fstab
find

Comando utilizado para pesquisar arquivos em uma hierarquia de


diretórios.
O comando find pesquisa pelo nome do arquivo fornecido para
avaliação na árvore de diretórios (a partir de um caminho dado),
através de uma expressão avaliada da esquerda para a direita, de
acordo com as regras de precedência, até que o resultado seja
conhecido. Neste ponto find vai para o próximo nome de arquivo.
Sintaxe:
find [caminho] [expressão]
find

Encontrar arquivos que contenham “Avaliação” em qualquer parte do nome, independente da casa
(maiúsculas/minúsculas), no diretório atual e subdiretórios: $ find -iname '*avaliação*'
Encontra arquivos e diretórios modificados em /home há menos de 3 dias: find /home -mtime -3
Encontra arquivos que não são acessados há mais de 60 dias em /var: find /var -type f -atime +60
Encontrar diretórios em /var que se chamem exatamente “samba”: $ find /var -type d -name samba
Encontrar arquivos em /home cujo nome termine em “.tmp”: $ find /home -type f -name '*.tmp'
Mais exemplos:
find / -name login
find /bin -name login
find / -iname Netscape
find / -iname *Navigator
find
Para localizar os arquivos do sistemas que estão ocupando mais espaço. Isto pode
ser feito de várias maneiras, uma delas é com o comando find:

Este comando faz uma busca, a partir do diretório corrente, por arquivos
que possuam um tamanho superior a 1024k ou 1MB.
find
É possível também associar a saída do comando find ao comando ls para
sabermos exatamente o tamanho dos arquivos encontrados:
find
Também podemos fazer uma busca em todo o disco com o (“/”) por arquivos
maiores que 1kbyte, e dentre estes trazer somente aqueles com extensão TXT e
por fim apresentar suas localizações e tamanhos através do comando ls.

find / . –size +1k | find –iname ‘*.txt’ | xargs ls -l


sort

É complicado afirmar isto, mas eu não consigo pensar em


outro comando que seja tão utilizado quanto o sort
(ordenação). Eu já escrevi dezenas de scripts usando este
comando, sempre, é claro, em combinação com outros
comandos.
sort

Vejamos então alguns exemplos de aplicação. O comando sort, na


sua forma mais simples, serve para ordenar o conteúdo de um
arquivo. Tomemos o arquivo arq1.txt, que possui o seguinte
conteúdo:
sort
O comando abaixo, executado sobre o arquivo arq1.txt, gerará o
seguinte resultado:
sort

Podemos também ordenar o conteúdo de um arquivo de forma


reversa, para isto basta fornecer a diretiva -r:
sort

Outro recurso muito útil é a


combinação do conteúdo de dois
arquivos. Neste caso, o conteúdo
dos dois arquivos precisará estar
ordenado previamente conforme
nossa necessidade.
sort

A saída do comando sort, em


todos os exemplos
apresentados, tem sido
redirecionada para a tela.
Caso queiramos redirecionar
esta saída para um arquivo
para processamento
posterior, temos duas opções
equivalentes:
Metacaracteres

Metacaracteres são caracteres que representam o nome de um


grupo de arquivos.
Em seu diretório home crie:
doc1 doc2 sessao1 sessao2 sessao3
Metacaracteres

Asterisco (``*''): Substitui por 0 ou mais


caracteres quaisquer.
ls se*

ls *1
Metacaracteres

Intervalo de caracteres (``[ ]'')


ls sessao[12] lista arquivos terminados por 1 e 2
ls sessao[1-9] lista arquivos terminados por 1 até 9
Interrogação (``?''): Substitui por um caractere
qualquer.
ls doc?
PERMISSÕES DE ACESSO
PERMISSÕES DE ACESSO
PERMISSÕES DE ACESSO
chmod

O comando chmod é utilizado para alterar as permissões de


acesso aos arquivos para as novas definições informadas.
Pode ser utilizado de dois modos: utilizando uma representação
simbólica das mudanças a serem feitas ou utilizando um número
em formato octal que represente o padrão de bits das novas
permissões.
O formato do modo simbólico é “[ugoa...][[+-
=][rwxXstugo...]...][,...]”.
chmod
chmod
Exemplo: Temos um diretório qualquer chamado mp3 que eu
quero permissão total para o dono [eu], permissão de apenas
leitura para o meu grupo e nenhuma permissão para o resto do
mundo. O comando para executar essa ação é o CHMOD (em
minúsculo mesmo).

$ chmod 740 /mp3

(acompanhem na tabela acima, que o 7=rwx, 4=r e 0=nada)


chmod
Comando Número Permissão
chmod 000 ---------
chmod 400 r--------
Sintaxe:
chmod 444 r--r--r--
chmod [opções] modo arquivo... chmod 600 rw-------
Principais opções: chmod 620 -rw--w----
chmod 640 -rw-r-----
-v Descreve as permissões alteradas. chmod 644 rw-r--r--
-R Altera as permissões de diretórios e seus chmod 645 -rw-r--r-x
conteúdos de forma recursiva. chmod 646 -rw-r--rw-
chmod 650 -rw-r-x---
Exemplos: chmod 660 -rw-rw----
chmod -v 777 /home/seu_nome chmod 661 -rw-rw---x
chmod 662 -rw-rw--w-
chmod -v 400 /home/seu_nome chmod 663 -rw-rw--wx
chmod -v 400 /home/seu_nome chmod 664 -rw-rw-r--
chmod -v u+w, u+x /home/seu_nome chmod 666 rw-rw-r--
chmod 700 rwx------
chmod -v g+w /home/seu_nome chmod 750 rwxr-x---
chmod -v g-w /home/seu_nome chmod 755 rwxr-xr-x
chmod 777 rwxrwxrwx
Bibliografia Básica
1. TANENBAUM, A.; Sistemas Operacionais Modernos, Prentice Hall, 3ª ed., 2013.
2. MACHADO, Francis B.; MAIA, Luiz P.; Arquitetura de Sistemas Operacionais, LTC,
5ª ed., 2013.
3. SILBERSCHATZ, A., Galvin, P., Gagne, G.; Sistemas Operacionais: conceitos e
aplicações, Ed. Campus, 2001.

Bibliografia Complementar
1. MACHADO, Francis B.; MAIA, Luiz P.; Fundamentos de Sistemas Operacionais, LTC,
2011.
2. STALLINGS, William. Operating systems: internals and design principles. 4. ed.
New Jersey: Prentice-Hall, 2001.
3. STUART, Brian. L.; Princípios de sistemas operacionais: Projetos e aplicações,
Cengage learning, 2011.
4. ALVES, Maicon M.; Linux: Performance e monitoramento, Brasport, 2009.
5. Kerrisk, M.;The Linux Programming Interface, No Starch Press, 2010.
REFERÊNCIAS
FERREIRA, Rubem – LINUX – Guia do Administrador do sistema; editora Brasport (em
Português); (2006);
FLOSS
(Free/Libre and Open Source Software Survey)
http://www.infonomics.nl/FLOSS
The Economies of Online Cooperation:
Gift and Public Goods in Cyberspace
http://www.sscnet.ucla.edu/soc/faculty/kollock/papers/economies.htm/papers/economi
es.htm
Links
http://www.Dicas-L.unicamp.br/hotlinks
The Revenge of the Know-It-Alls
http://www.wired.com/wired/archive/8.07/egoboo.html
CIPSGA
http://www.cipsga.org.br
Tudo que você queria saber sobre GNU/Linux e tinha vergonha de Perguntar
http://www.dicas-l.unicamp.br/cursos/TudoSobreLinux-20040625.sxi
Linux – O Mito
http://paginas.terra.com.br/informatica/deviltux/LinuxoMito.pdf
Referências

Linux Chix Brasil


http://www.linuxchix.org.br
Viva o Linux
http://www.vivaolinux.com.br/
Guia do Hardware.net
http://www.guiadohardware.net/
BR-Linux.org
http://www.br-linux.org/
Software Livre.gov.br
http://www.softwarelivre.gov.br/
CIPSGA
http://www.cipsga.org.br/

Você também pode gostar