Você está na página 1de 103

Sistema Operacional

Linux

Professor Ricardo Aguiar Gastone

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Histórico

• Sistema operacional criado em 1991


• Linus Torvalds na universidade de Helsinky na Finlândia
• Semelhante ao UNIX
• Mas o Unix era muito robusto e rodava em computadores de grande porte, os
servidores!!
• Poucos tinham acesso a computadores de grande porte para o aprendizado do
UNIX
• A ideia era permitir a utilização do UNIX em computadores de menor porte
como os computadores pessoais.
• Linus escreveu uma mensagem em uma lista de discussão encorajando outros
programadores e usuários do UNIX a desenvolver um SO semelhante ao UNIX
mas para computadores pessoais.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Histórico

• Linus enviou o código fonte do S.O. que ele estava


desenvolvendo para outros programadores entenderem o
código e modificar o projeto.
• E ai surgiu o Linux, um sistema operacional Unix-like, ou seja,
semelhante ao UNIX, mas com capacidade de rodar em
computadores pessoais.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comunidade Linux

• Garantem a manutenção e evolução do Linux


• Criam novos aplicativos, drivers, programam melhorias
• Os usuários (programadores) realizam mudanças e enviam
para a comunidade de desenvolvedores avaliar a relevância da
mudança para adicionar ou não na próxima versão do Linux.
• A comunidade não cria somente coisas novas mas mantem
modificações constantes em seu Kernel.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Kernel Linux

• Kernel, é o centro, o núcleo do SO


que entra em contato direto com a
CPU (processador) e com o os
demais componentes de hardware.
• Se o Kernel foi mal feito então
haverá vários problemas
• O Kernel do Linux é um conjunto de
subprogramas, revistos e alterados
por milhares de pessoas no mundo
sempre com intuito de melhora-lo

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Kernel Linux

• Mas o que garante que, sendo o Kernel alterado por várias pessoas, ele
não se torne uma “colcha de retalhos” de códigos que gerem
incompatibilidades e problemas?
• O que garante que algum desenvolvedor, dentre esses milhares, não
colocaria um código malicioso no código fonte do Linux para fazê-lo
intencionalmente perigoso?
• Resposta: A comunidade tem direito de alterar o Kernel do Linux, mas
todas as alterações são analisadas e julgadas pertinentes ou não por alguns
“gurus”, os Mantenedores do Kernel ou Guardiães do Kernel.
• Eles decidem o que entra ou não na próxima versão do Kernel do Linux

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Kernel Linux

• Para que o SO possa ser utilizável não basta apenas o Kernel,


são necessários os Shell, as interfaces gráficas, os utilitários,
aplicativos, etc.
• Algumas empresas e programadores obtém o Kernel do Linux e
juntam a ele outro programas, ou aplicativos, ou
customizações em cima do kernel e relançam o Linux com
outros nomes, chamados Distribuições Linux

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Distribuições Linux

• Uma Distribuição do Linux é criada quando uma pessoa ou


instituição pega o Kernel do Linux, une esse programa a outros,
criados por ele ou por outrem, formando um produto, dando-
lhe nome e oferecendo suporte a ele
• Note que diversas distribuições são semelhantes entre si,
afinal, têm o mesmo centro, e muitas vezes, os mesmos
programas auxiliares, como aplicativos de escritório e jogos,
• Portanto, a escolha por essa ou aquela distribuição é um
processo pessoal

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Distribuições Linux

• Mandrake, Conectiva, Red Hat, Slackware, Kurumim, Ubuntu,


Mandriva, Fedora, Debian, SUSE, Turbo Linux, Kubuntu, Linux
Mint, OpenSUSE, Gentoo, Dreamlinux, Scientific Linux.
• Livre ou sem custo
– Ubuntu, Debian, OpenSUSE
• Corporativa ou com custo
– Red Hat, Mandriva, Suse

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

• Linux é um Sistema Operacional


– Software básico, software de sistema, voltado para gerenciamento de
hardware
– Gerencia processos
– Gerencia memória
– Gerencia dispositivos
– Gerencia arquivos
• Multiusuário
• Multitarefa preemptiva

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

• Unix-like, semelhante ao S.O. Unix


• Open Source, Código aberto, software livre!!!
• Você pode ver o que o código fonte faz e adapta-lo as suas necessidades.
• Licensa GNU General Public License. Essa licença permite a distribuição e
até a venda de versões até mesmo modificadas do Linux, mas requer que
todas as cópias sejam lançadas dentro da mesma licença e acompanhadas
de acesso ao código fonte.
• Licensa copyleft – liberdade para realizar qualquer alteração!
• Distribuições sem custo, torna o Linux algo financeiramente convidativo
para as empresas

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

• Sistema multiusuário
• Sistema multitarefa
• Suporte a nomes extensos de arquivos (255 caracteres) e
diretórios (4096 caracteres)
– Ex: /home/Gastone/aula/material.pdf
• Case-sensitive: diferencia maiúsculo/minúsculo
– ex: casa.txt é diferente de Casa.txt.
– No Windows não tem essa diferenciação, CUIDADO!!

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

• Pode ser utilizado com uma interface gráfica, ficando similar ao


Windows
• Servidor gráfico: X Window System, X-Window, X11 ou
simplesmente X
– Servidor gráfico, sob o qual um Gerenciador de Janelas irá trabalhar
– Fornece as ferramentas necessárias para utilizar aplicações gráficas.
Sem elas, o Linux ainda estaria somente na linha de comando
– Responsável por informar à placa de vídeo tudo que ela deve
desenhar na tela

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

• Gerenciadores de Janelas = interfaces


gráficas
• O Gerenciador de Janelas fornece a
interface entre o X11 e o usuário
• O Linux não possui uma interface gráfica.
• Possui várias interfaces gráficas! Podemos
escolher aquela que queremos usar.
• Em uma única distribuição, pode haver
várias interfaces gráficas disponíveis
• GNOME, KDE, XFCE, LXDE, Window maker,
Fluxbox, Blanes, Blackbox, Afterstep,
Enlightenment, IceWM, FVWM, Kahakai,
ZappWM, dwm, SithWM, Whim, Karmen,
Sawfish, XIGE, Framer, Mavosxwm,
WindowLab, OpenBox

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

• Pode ser utilizado com interface


textual. Os usuários precisam
conhecer vários comandos;
• A aparência lembra a do prompt do
Windows, mas a diferença é que no
console do Linux podemos fazer
qualquer coisa com o sistema
• SHELL: É um programa que permite
ao usuário interagir com o sistema
operacional através de comandos
digitados do teclado

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

• Tipos de shell: bash, ash, csh, tcsh, sh


• O mais usado é o bash
• Os comandos podem ser enviados de duas maneiras para o interpretador:
– Interativa: Os comandos são digitados no teclado pelo usuário e passados ao
interpretador de comandos um a um. Neste modo o computador depende do
usuário para executar uma tarefa ou o próximo comando.
– Não-interativa: São usados arquivos de comandos (scripts) criados pelo usuário
para o computador executar os comandos na ordem encontrada no arquivo.
Neste modo, o computador executa os comandos do arquivo um por um, e
dependendo do término do comando, o script pode checar qual será próximo
comando que será executado e dar continuidade ao processamento.
• Bash possui a funçaão de auto-completar nomes pressionando a tecla TAB

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

• Trabalha em conjunto com outro


sistema operacional utilizando-se
do DUAL BOOT
• Instalar o Windows primeiro,
depois o Linux
• Gerenciadores de boot mais
comuns: LILO e GRUB
• Conectividade com outros tipos
de plataformas como: Windows,
Apple, DOS

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

• Trabalha com arquiteturas x86


(32 Bits) e x64 (64 Bits)
• Possui Kernel Monolítico
– Projetado para ter seu código no
mesmo espaço de endereços
– Todos os serviços do sistema rodam
junto ao processo principal do
kernel

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

• Suporte completo e nativo a diversos dispositivos de comunicação


via infravermelho, Bluetooth, Firewire, USB. Basta conectar e o seu
dispositivo é automaticamente reconhecido (Plug-and-Play).
• Suporte a dispositivos Plug-and-Play.
• Suporte nativo a pen drivers, dispositivos de armazenamento e
cartões de memória.
• Raramente são necessários drivers externos, exceto no caso de
dispositivos muito novos que não tenham o suporte ainda
adicionado no sistema.
professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

• Executa outros sistemas operacionais como Windows, MacOS,


DOS ou outro sistema Linux através de consagrados sistemas
de virtualização como Xen, vmware, virtual box ou emulação
como o DOSEMU, QEMU, WINE.
• Vários tipos de firewalls avançados de alta qualidade na
detecção de tráfego indesejável, dando ao administrador uma
excelente ferramenta de proteção e controle de sua rede.
• Suporta todos os protocolos atualmente utilizados em redes de
computadores

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

• Permite a montagem de um servidor de publicação Web, E-


mail, News, etc. com um baixo custo e alta performance
• O melhor servidor Web do mercado, o Apache, é distribuído
gratuitamente junto com a maioria das distribuições Linux.
• Pode ser executado em arquiteturas diferentes (Intel,
Macintosh, Alpha, Arm, AMD, etc)
• Empresas especializadas e consultores especializados no
suporte ao sistema espalhados por todo o mundo.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Características

• Distribuição UBUNTU – Requisitos Mínimos de Sistema


– Processador 2 GHz dual core ou melhor
– 4 GB de Memória RAM
– 25 GB de espaço livre em disco rígido/SSD
– Drive CD/DVD ou portas USB para instalação de outros arquivos
– Acesso a Internet (não é obrigatório)

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Super Usuário
• No Linux existem dois tipos de usuário: usuário administrador e usuário
comum
• O Linux pode trabalhar com diversos usuários, cada um com seu login e
sua respectiva senha. Porém, quando o Linux é instalado no computador, é
criada uma conta que dá direito a fazer qualquer coisa no sistema: o ROOT
ou Super-Usuário.
• O Root é o Administrador do Sistema. Com ele, só se trabalha para
configurações ou manutenção. Lembre-se: com o Root, você pode tudo!
• Portanto, se você é o proprietário da conta de super usuário, não use a
conta de root constantemente para fazer qualquer coisa.
• Ao invés disso, crie uma conta de usuário qualquer (sem privilégios
administrativos) para poder realizar as tarefas cotidianas.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Rodar Aplicativos Windows no Linux

• Todos os aplicativos do Windows não rodam no Linux e vice-


versa.
• Para rodar aplicativos Windows no Linux é necessário utilizar o
Wine.
• Ele é um pequeno programa para Linux que permite ao usuário
instalar qualquer aplicativo de Windows sem nenhuma
emulação complexa.
• Ou instalar uma maquina virtual, emulando o Windows no
Linux. Mas há muito consumo de memória.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Rodar Aplicativos Windows no Linux

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Gerenciadores de Arquivos

• Permitem de uma forma simples


e rápida, gerir os conteúdos de
um sistema, acessar arquivos ou
pastas. Similar ao Windows
Explorer ou Explorador de
Arquivos
• Dolphin, Konqueror, Gnome
Commander, Crusader, Nautilus

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Estrutura de Diretórios

• Unidades de Disco: Enquanto o Windows trabalha com letras para


defini as unidades de disco (Unidade C:, D:), no Linux, todos os
diretórios são subordinados a um grande diretório pai de todos: o
diretório (ou pasta) raiz, também conhecido como / (barra).
• Todo o sistema está organizado a partir do diretório chamado raiz,
representado por uma barra(/).
• Não existe unidades C: D: comuns no Windows, todos são
subordinados ao diretório raiz /
– Ex: Unidade C: , no Linux, /dev/hda. Unidade D:, no Linux, /dev/hdb

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Estrutura de Diretórios

• Em 1994 foi lançado o FHS (Filesystem Hierarchy Standard-


padrão para sistema de arquivos hierárquico) para estabelecer
uma padronização de diretórios para os sistemas Unix-like.
• De acordo com as especificações do FHS, resumidamente, esta
é a estrutura de diretórios que devemos encontrar em um
sistema Unix-like:

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Estrutura de Diretórios
e kernel

aplicativos e arquivos que são na maioria das vezes disponíveis ao


acesso de todos usuários

Mantem informação sobre o estado do sistema, incluindo


os processos atualmente executados

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Sistemas de Arquivos

• Um Sistema de Arquivos é um sistema utilizado para


armazenar, organizar e acessar dados em um computador de
forma efetiva.
• Um sistema de arquivos permite o armazenamento organizado
de arquivos, agregando características a cada arquivo como um
nome, permissões de acesso, atributos especiais e um índice,
que é uma lista informa onde cada arquivo está localizado no
disco permitindo o sistema operacional encontrar o arquivo
em seu local de armazenamento rapidamente.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Sistemas de Arquivos

• Os arquivos podem ser acessados por meio de interface gráfica


ou linha de comandos.
• As principais funções de um sistema de arquivos são:
– Gerenciamento de arquivos
– Navegação pela estrutura de diretórios
– Acesso a arquivos e pastas
– Recuperação de dados
– Armazenamento de dados

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Sistemas de Arquivos

• HFS+, Ext3, Ext4, JFS, JFFS, JFFS2, LogFS, NTFS, Reiser4,


ReiserFS, XFS
• Ext4 é o mais utilizado
• Journaling
– Toda mudança no sistema de arquivos é primeiro gravado em
formato de log no journal e só depois realmente gravado em disco.
– Evita que arquivos sejam corrompidos após queda de energia ou
travamentos inesperados.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Tipos de Arquivos no Linux

• ARQUIVOS COMUNS:
– Arquivos de Dados: contém dados de diversos tipos, os maiores exemplos
são os arquivos que manipulamos: textos, documentos, planilhas, figuras,
fotos, MP3, etc.
– Arquivo de texto ASCII:
• é um tipo específico de Arquivo de Dados, escritos por programas editores de texto.
• São arquivos muito simples e só contém texto (caracteres).
• Esses arquivos não admitem outro tipo de dado, como figuras ou tabelas.
• Não possíveis nem mesmo as formatações normais (negrito, itálico e sublinhado).
• Um arquivo do Word, por exemplo, não é um arquivo de texto ASCII.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Tipos de Arquivos no Linux

• ARQUIVOS COMUNS:
– Arquivos de Shell Script:
• são arquivos escritos como textos ASCII, ou seja, em programas editores de
texto.
• Seu conteúdo é formado por comandos que o Linux consegue interpretar.
• Esses arquivos são como “roteiros” com várias instruções que o Linux vai
executar.
• SUPER DICA: podem possuir a extensão .sh

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Tipos de Arquivos no Linux

• ARQUIVOS COMUNS:
– Arquivos binários (executáveis):
• são arquivos escritos em linguagem de máquina (zeros e uns) que podem ser
executados pela CPU do computador.
• Esses arquivos são, na verdade, chamados de programas ou arquivos
executáveis.
• Eles não são escritos para serem lidos pelo usuário, eles são criados para
serem compreendidos pelo Linux e executados por ele.
• Para criar tais arquivos, deve-se escrever um programa em alguma linguagem
(como C, por exemplo) e compilá-lo a fim de que se transforme no arquivo
binário.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Tipos de Arquivos no Linux

• LINKS (VÍNCULOS):
– uma ideia similar à dos atalhos no Windows.
– Um link é um arquivo que aponta para um outro arquivo qualquer
(de qualquer tipo, inclusive diretório).
– Um link pode apontar, inclusive, para outro link.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Tipos de Arquivos no Linux

• DIRETÓRIOS:
– os diretórios (pastas) são considerados arquivos no Linux.
– O sistema entende que um diretório é um arquivo especial, que tem
em seu conteúdo um apontador para todos os arquivos que se
mostram “dentro” do diretório.
– A ideia é a mesma de uma pasta no Windows: ou seja, um diretório é
uma “gaveta” onde podemos colocar outros arquivos (inclusive
outras pastas).

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Tipos de Arquivos no Linux
• Ambiente Gráfico

Pasta Arquivo de Binário Texto Link Link Script Texto Script


dados

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Tipos de Arquivos no Linux
• Ambiente Textual

• d: identifica diretório
• l: identifica link
• -: identifica arquivo de dados, arquivo de texto, script e binários

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Nomenclatura dos arquivos

• Arquivos no Linux não precisam ter


extensão, não existe essa
obrigatoriedade como ocorre no
Windows
• O Linux identifica o tipo do arquivo
pela analise do seu conteúdo, mas
especificamente pela análise do
cabeçalho do arquivo
• E extensão é mais utilizada para
facilitar a identificação do arquivo pelo
usuário
• É possível utilizar mais de uma
extensão!

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Regras na nomenclatura de arquivos

• Suporte a nomes extensos de arquivos (255 caracteres) e diretórios (4096


caracteres)
– Ex: /home/Gastone/aula/material.pdf
• Não pode haver dois ou mais arquivos com o mesmo nome e mesma
extensão dentro da mesma pasta (igual ao Windows)
• Case-sensitive: diferencia maiúsculo/minúsculo
– ex: casa.txt é diferente de Casa.txt.
– No Windows não tem essa diferenciação, CUIDADO!!
• São aceitos espaços no nome dos arquivos (igual ao Windows)
• Aceita alguns caracteres especiais proibidos no Windows (Ex.: *, ?, |, \, :, “)

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Regras nomenclatura de arquivos

• Arquivos ocultos, no Linux, têm seus nomes iniciados com um .


(ponto).

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Permissões dos arquivos

• Entre os vários recursos que tornam o Linux um sistema seguro


está a rigidez dele no tocante às permissões que um usuário
tem de utilizar um determinado arquivo
• As permissões de acesso podem ser configuradas para:
– Dono do Arquivo: o usuário que criou o arquivo. Obs: um arquivo
pode ter seu dono atribuído posteriormente
– Grupo: grupo de usuários ao qual o dono do arquivo pertence.
– Outros: privilégios de acesso dos outros usuários do computador,
aqueles que não pertencem ao grupo do dono do arquivo

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Permissões dos arquivos

• Permissões para 3 tipos de Operações:


– Ler: permite apenas ler o conteúdo de um arquivo, sem poder alterá-
lo (salvar).
– Escrever: permite modificar o conteúdo de um arquivo (salvá-lo).
Normalmente, esse direito está atrelado ao direito de ler o arquivo
(porque, na maioria dos casos, modificar o arquivo requer que se
abra ele primeiro)
– Executar: define que o arquivo em questão poderá ser executado
como um programa qualquer pelo usuário. Ex: arquivos binários e
shell scripts

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Permissões dos arquivos
• Ambiente Gráfico

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Permissões dos arquivos
• Ambiente Textual

Leitura (read)
Escrita (write)
Execução (execute)

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Permissões dos arquivos

• As permissões podem ser alteradas através de janelas do ambiente


gráfico ou através de comandos no ambiente textual
• Não adianta atribuir o privilégio de execução para um arquivo
qualquer de dados. Um arquivo só vai ser executado se ele possuir
um conteúdo que o permita isso (um binário ou um script).
• Arquivos de dados comuns, como uma foto ou uma música mp3,
não se beneficiam do privilégio de execução porque o Linux não vai
conseguir executá-los mesmo que o privilégio esteja ativado

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Permissões dos arquivos

• IMPORTANTE: Mesmo que um usuário qualquer defina limites


de acesso aos demais usuários do computador para um
determinado arquivo, o root pode fazer qualquer coisa com
aquele arquivo: ler, escrever e executar.
• O root pode até mesmo destituir o usuário da propriedade do
arquivo, fazendo com que o arquivo passe a ter outro dono!

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Extensões de arquivos

• Arquivos Executáveis
– out: formato binário usado nas primeiras versões do GNU/Linux
– pl: script em linguagem Perl
– py: script em linguagem Python
– sh: script de shell, usado para criar pequenos programas
• Arquivos de pacotes
– deb: usado pela Debian e distribuições derivadas da Debian
– dsc: arquivo de informação do código fonte de um pacote Debian
– ebuild: script usado pela Gentoo para compilar e instalar pacotes a partir do
código fonte
– rpm: arquivo usado pela Red Hat, Fedora, CentOS, SUSE, Mandriva e outros
– tgz: arquivo Tar.gz já compilados para Slackware

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Extensões de arquivos

• Códigos fontes e bibliotecas


– c: código em linguagem C
– cpp: código em linguagem C++
– diff: conjunto de instruções que definem as trocas a aplicar um patch
– h: cabeçalho de arquivos programados em C
– lo: arquivo temporário criado pela compilação de uma library
– o: arquivo temporário criado pela compilação de um programa
– so: bibliotecas compartilhadas equivalentes aos “dll” em windows

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Extensões de arquivos

• Arquivos compactados
– bz2: arquivo comprimido pelo Bzip2
– gz: arquivo gerado pelo programa Gzip que substituiu o obsoleto Compress
– rar: substituto natural do Arj, que permite uma maior compressão e dividir
arquivos grandes em vários menores
– tar: arquivo empacotado sem compressão, usado para num único ficheiro o
conteúdo de um pasta com vários arquivos
– tbz2 (tar.bz2): arquivo resultante da compressão em Bzip2 dum ficheiro Tar
– tgz (tar.gz): resultado da compressão em Gzip dum ficheiro Tar.
– z: arquivo comprimido com o programa Compress
– zip: formato de compressão mais usado na internet. Tem menos compressão que
o Bzip2.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Extensões de arquivos

• Arquivos do Sistema
– conf: arquivo de configuração de um programa
– ko: módulos do núcleo do kernel 2.6
– lock: indica o bloqueio de um serviço, processo ou programa
– log: arquivo de de informação gerado pelo núcleo do kernel, pelos programas e
pelos serviços instalados. É nele que ficam guardados os estados e erros que se
produzem pelos programas
– pid: arquivos indicadores de processos necessários para o correto
funcionamento dos serviços em execução
– socket: meio de comunicação entre dois programas situados em equipamentos
diferentes
– tmp: ficheiro temporário criado por um programa para armazenar informação

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
ENTENDENDO O SHELL

• Atalho de teclado: CTRL+ALT+T


• O prompt é apresentado assim,
normalmente:
– usuario@computador: diretório $
• Onde:
– usuario: login do usuário que está
logado
– computador: nome do computador
que se está usando
– diretório: nome do diretório atual (ou
seja, a pasta onde se está trabalhando
no momento).
• ~: usuário esta na sua pasta pessoal

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
ENTENDENDO O SHELL

• Às vezes, porém, o prompt apresenta informações variadas :


por exemplo, é possível encontrar o prompt apenas com um
sinal, que pode ser:
– $ se o usuário logado é um usuário comum
– # se o usuário logado é o root (administrador)
Usuário Comum

Usuário
administrador

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
FIM!!!!

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos no Linux

• Permitem interagir com o sistema operacional através de um


Shell (interpretador de comandos)
• É possível controlar TODOS os aspectos do sistema operacional
através de comandos.
• O usuário deve ter cuidado ao utilizar os comandos.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• ls: listar conteúdo de uma pasta

• ls –l: listar com detalhes

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• Significado dos detalhes do comando ls -l


Permissões

Tipo
Outros Tamanho
Arquivo
em bytes
Proprietário Nº Links
Grupo Nome
Grupo Prop. Proprietário Proprietário Data arquivo
criação/alteração

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• ls –la: lista com detalhes e arquivos ocultos

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• cd: acessar diretórios

• cd .: diretório atual

• cd ..: subir um nível

• cd ../..: subir dois níveis

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• cd, cd ~: acessar pasta do usuário diretamente

• cd -.: retorne para o diretório onde estava anteriormente

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• mkdir: criar diretório

• Criar diretório em uma subpasta

• rmdir: remove o diretório SE estiver vazio

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• rm: remove arquivos/pastas

• rm –r: remove pasta mesmo com conteúdo

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• cp: copiar arquivos

• mv: mover/renomear arquivos

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• touch: criar arquivo vazio

• cat: verifica conteúdo de arquivo

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• Cat > [NomeArquivo]: criar o arquivo e abre em modo de


edição

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos
• >: redireciona a saída de uma comando para um arquivo (sobrepõe)

• >>: idem acima, mas adiciona ao final do arquivo

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• Exemplo de redirecionador
– ls -l > saida.txt: redireciona a saída do comando ls para o um arquivo

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos
• tac: mostra conteúdo de arquivo do fim ao início

• file: mostra o tipo do arquivo

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• pwd: mostra o diretório corrente

• diff: compara o conteúdo entre dois arquivos de texto e mostra


as diferenças entre eles

• vi: editor de texto do ambiente textual

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos gerais

• head/tail: mostra o início/fim do arquivo

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• find: buscar arquivos no HD

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• grep: busca por padrões dentro de arquivos

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• tar: agrupa arquivos para backup ou


compactar
-c: create, para criar o arquivo
-v: verbose, mostrar informações da
geração
-f: file, para que um arquivo seja criado
-z: compacta no formato GZIP
-j: compacta no formato BZ2
-x: extract, para extrair o conteúdo
-C: extrair em outro local diferente de
onde se encontra o arquvo TAR

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• sort: classificar (ordenar)


conteúdo de um arquivo
-r: ordenar de forma reversa

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular resultados

• more/less: gerar paginação de resultados muito grandes na


tela.
• O comado more não permite navegar em paginas anteriores. Já
o less permite.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para usuários/grupos

• adduser/deluser: adicionar/remover usuário do sistema

• groupadd/groupdel: adicionar/remover grupo

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• chgrp (change group): alterar o grupo associado a um arquivo

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos

• chown (change owner): alterar o proprietário de um arquivo

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos
• chmod (change mode): alterar as permissões de um arquivo
• Permissões podem ser alteradas de forma simbólica (letras) ou
numérica (octal)
COM LETRAS (Simbólico)
LETRAS PERMISSÕES OPERADORES
u: user r: read +: adicionar permissão
g: group w: write -: remover permissão
o: other x: execute =: permissão exata
a: all (u,g,o)

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos
• Ex: chmod com letras

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos
Outros exemplos de chmod com letras
Permissão do Comando chmod Nova Explicação
arquivo arq1 aplicado Permissão

rw-r--r-- chmod a+x arq1 rwxr-xr-x Permissão de execução adicionada a todos


rw-r--r-- chmod g=u arq1 rw-rw-r-- Permissão do grupo fica igual ao do proprietário
r--r--r-- chmod ug=rw arq1 rw-rw-r-- Permissão do proprietário e do grupo exatamente
em leitura e escrita
rw------- chmod u+x, g=rx rwxr-x--- Permissão de execução adicionada ao proprietário,
arq1 grupo exatamente leitura e execução
rwxrw-rw- chmod o-w arq1 rwxrw-r-- Permissão de escrita removida do proprietário
r--r--r-- chmod a+wx arq1 rwxrwxrwx Permissão de escrita e execução adicionada para
todos

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos
• No modo numérico (octal) user, group e other receberão, cada um, um
número de 0 à 7. Cada número é um conjunto de permissões.
Com números (octal)
Binário

al
cim
De 4 2 1 Descrição
R (Leitura) W (Escrita) X (Execução)
0 0 0 0 Nenhuma permissão
1 0 0 1 Permissão apenas para Executar
2 0 1 0 Permissão apenas para Escrever
3 0 1 1 Permissão para Escrever e Executar
4 1 0 0 Permissão apenas para Ler
5 1 0 1 Permissão para Ler e Executar
6 1 1 0 Permissão para Ler e Escrever
7 1 1 1 Permissão Total (Ler, Escrever, Execução)

• Ex: chmod 764 arq1. Significa que USER=7, GROUP=6, OTHER=4


– Significa que para o arq1 o proprietário tem permissão total, grupo permissão de
leitura e escrita e outros somente leitura
professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para manipular arquivos
• Ex: chmod com números

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Outros comandos
• clear: limpar a tela de comandos • exit: sair do shell
• date: retorna data e hora do • logout: sair de uma sessão de
sistema usuário
• cal: mostra um calendário • uname: exibe a versão do Linux
• passwd: permite mudar a senha do • wc: contar o número total de linhas,
usuário logado palavras e caracteres em um
• man: informações sobre os arquivo
comandos • su: troca para o super-usuário (root)
• shutdown: desliga o computador • sudo: garante credenciais de
• gzip/gunzip: usuário root temporariamente,
compactar/descompactar arquivos mediante a informação de uma
• mount/umount: montagem e senha.
desmontagem de sistemas de • lpr: imprimir arquivo
arquivos • who/whoami: mostrar dados do
usuário logado
professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Combinando comandos
• | (pipe): redireciona a saída de um comando para outro comando

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Editor de texto para ambiente textual
• gedit: editor de
textos gráfico que
pode ser acionado
tanto pelo ambiente
textual quanto pelo
ambiente gráfico

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para processos, memória, disco

• free: exibe a memória livre, usada, • jobs: Lista processos que estão em
e os buffers da RAM background no shell
• ps: lista processos ativos • bg: Coloca um processo em
• kill: finalizar um processo ativo pelo background no shell
seu PID • fg: Coloca um processo em
• killall: finalizar processo ativo pelo execução no shell
seu nome • top: apresenta uma lista
• du: relatório de uso do disco. dinâmica(atualizando a tela) dos
Mostra o espaço ocupado por cada processos em execução
arquivo • ps: apresenta um quadro
• df: mostra espaço usado, livre e estático dos processos em execução
capacidade partições/HD. • lshw: informações sobre o
hardware
professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para instalação de pacotes
• Pacotes são arquivos que contém todos os componentes para
instalar e executar um programa.
• As vezes alguns pacotes possuem dependências de outros pacotes,
sendo necessário gerenciar quais dependências devem ser
atualizadas, removidas ou adicionadas.
• Para isso existe os gerenciadores de pacotes
• Dois comando podem ser utilizados para gerenciar pacotes: apt ou
apt-get
• Ambos se conectam a repositórios locais ou servidores remotos
que armazenam pacotes que poderão ser instalados

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comandos para instalação de pacotes

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Linux em redes de computadores
• Palavras chaves
– eth0: interface de rede do computador (placa de rede)
– hostname: nome de um computador em uma rede
– TCP/IP: conjunto de protocolos utilizados para transmissão de dados em
redes
– Roteamento: definição de rotas por onde os dados serão trafegados, entre
roteadores, de uma origem até um destino.
– Intranet/Internet: rede privada/rede publica
– Os arquivos para configuração de uma rede se encontram na pasta /etc
– DICA: qualquer serviço ou protocolo comumente utilizado no Windows
poderá ser configurado no Linux.
– Pode trabalhar no esquema cliente/servidor

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Arquivos para configuração de redes

• /etc/hosts: contém a relação entre o endereço IP e o nome de


computadores

• /etc/networks: contém a relação entre endereço IP e o nome


de ua rede

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Arquivos para configuração de redes

• /etc/network/interfaces: configurações da interface de rede

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Arquivos para configuração de redes

• /etc/resolv.conf: identifica os endereços dos servidores de DNS

• /etc/hostname: contém o nome do computador do usuário

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comando para redes de computadores

• ifconfig: configurar, controlar e • ip: novo comando padrão para


visualizar informações sobre a gerenciamento das interfaces de rede
interface de rede de sistemas Linux. Ele substitui todas
• ping: medir tempo de resposta da as funcionalidades de comandos como
conexão do computador do usuário o ifconfig, route e arp, partes do
com outros dispositivos da rede local pacote net-tools, que já foi
ou Internet descontinuado e por padrão nem é
• route: Exibir ou modificar a tabela de mais disponibilizado nas distribuições
roteamentos IP Linux
• mii-tool/ethtool: Consulta ou alteração • who: mostra o usuário conectado no
de propriedades da placa de rede computador
• nmtui: Configurar a placa de rede em • whoami: mostra o nome que o usuário
modo gráfico usou para se conectar ao sistema

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Comando para redes de computadores

• telnet/ssh: acesso remoto. Telnet • netstat: Exibe as portas de


sem criptografia, ssh com comunicação abertas
criptografia • ccp/rsync: Copiar arquivos através
• tcpdump: Monitorar todo o tráfego da rede para outros computadores
da interface de rede da rede interna ou Internet.
• traceroute/tracepath/mtr: Exibe as – A diferença entre ambos é que o rsync
rotas dos pacotes até seu destino consegue continuar a transferência de
um arquivo no caso de uma falha por
• nmap: Utilizado para exploração de desconexão, por exemplo. O scp não
redes. Verifica quais hosts estão na consegue.
rede, quais serviços são oferecidos • hostname: configurar um nome
por esses hosts, quais sistemas pelo qual uma máquina será
operacionais estão executando, conhecidas pelas outras máquinas
quais tipos de firewall, etc. da rede

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Principais comandos
• sudo /etc/init.d/networking restart • sudo ifconfig eth0 down
– Reiniciar a interface de rede – desativa uma interface
• ping 192.168.1.2 • sudo ifconfig eth0 192.148.3.2
– Testar o tempo de resposta para um – define um endereço de ip para uma interface
determinado computador • sudo ifconfig eth0 netmask 255.255.255.0
• ifconfig eth0 – define a máscara de uma subrede de uma
– Exibe informações de da interface eth0 interface
• sudo ifconfig eth0 up • sudo ifconfig eth0 broadcast 192.148.3.255
– ativa uma interface – define o endereço de broadcast de uma
interface.

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Segurança em redes linux

• iptables: é um conjunto de
ferramentas e medidas que
permite o controle e a definição
de regras de firewalls
• Permite a criação de regras para
aceitar, bloquear ou excluir
pacotes de dados
• Permite criação de regras para a
entrada, saída ou
encaminhamento de pacotes na
rede
professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Configurações no ambiente gráfico

• Clicar no botão mostrar


aplicativos
• Selecionar a opção
Configurações ou
• Clicar no ícone da Rede,
Conexão Cabeada,
Configurações da Rede
Cabeada

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Configurações no ambiente gráfico

• É possível:
– Configurar rede Wi-Fi
– Bluetooth
– Rede Cabeada
– VPN
– Proxy de rede

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Configurações no ambiente gráfico

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone
Ambiente gráfico x textual

professorgastone professorgastone@gmail.com
Diorgenes Max de Amorim Galvao - 66442443272 professorgastone

Você também pode gostar