106
S.O – Kernel do Linux Histórico UNIX & Linux GNU, Licença GPL Open Source & Padronização Fundamentos do Sistema

Apresentacao Linux

Embed Size (px)

DESCRIPTION

Sistema Operacional Linux

Citation preview

Page 1: Apresentacao Linux

S.O – Kernel do LinuxHistórico UNIX & Linux

GNU, Licença GPLOpen Source & Padronização

Fundamentos do Sistema

Page 2: Apresentacao Linux

Conteúdo

Sistema operacional

Kernel do Sistema

Histórico – Unix

Kernel do Linux

Movimento GNU e a licença GPL

Movimento Open Source

Padronização

Page 3: Apresentacao Linux

Sistema Operacional

Os computadores modernos são construídos com milhões de circuitos

Várias peças diferentes de vários fabricantes

Para trabalhar com cada uma delas, é necessário usar um protocolo diferente

Impossível conhecer todos

Padronizar!!!

Page 4: Apresentacao Linux

Kernel do Sistema

Kernel é uma peça do sistema operacional, que serve para isolar os programas executados do hardware onde ele roda

O kernel gerencia os recursos disponíveis no seu computador:Memória, processador, discos, CD, vídeo, teclado, mouse, modem, placa de rede, ...

Page 5: Apresentacao Linux

Histórico - Unix

Sistema desenvolvido no fim da década de 60 nos Laboratórios Bell (AT&T) por Ken Thompson e Dennis Ritchie

Nos meados da década de 70 o Unix ainda não era visto como um produto comercial

Muitas universidades americanas adotaram o Unix, e o aprimoraram

Page 6: Apresentacao Linux

O Linux teve sua primeira versão oficial (v-0.02) anunciada em 5 de outubro de 1991, na Internet.

Desenvolvido por Linus Torvalds, um universitário finlandês, o Linux era a princípio um software de emulação de terminal para acessar o mainframe da universidade

A base para o desenvolvimento do Linux foi o sistema minix, que também era um sistema dotipo Unix

Histórico - Unix

Page 7: Apresentacao Linux

Linus escreveu o kernel do sistema, que é o núcleo central sobre o qual os programas são executados

Após escrever o kernel, vários softwares do projeto GNU foram compilados para o Linux

Foi distribuído sob a GPL desde o início

Histórico - Unix

Page 8: Apresentacao Linux

O kernel do Linux tem versões com 3 números:1.2.172.3.1152.4.182.6.1

O primeiro número é a major version, ou seja, a versão principal

O segundo número, se for par, é uma versão estável e mais testada, se for ímpar é uma versão instável, de desenvolvimento

O terceiro número é como um número de série dentro daquela

família

2 4 192 4 19

Histórico - Unix

Page 9: Apresentacao Linux

Kernel do Linux

Informações atualizadas sobre o kernel podem ser encontras em http://www.kernel.org/

O responsável por aceitar modificações na família 2.7 ainda é o próprio Linus Torvalds

O responsável pela família 2.4 até 2006 foi o brasileiro Marcelo Tosatti, da Antiga Conectiva hoje na Red Hat.

O responsável pela família 2.2 é Alan Cox

Page 10: Apresentacao Linux

Movimento GNU e a licença GPL

O movimento GNU foi criado em 1984 por Richard Stallman do grupo de Inteligência Artificial do MIT

Os preceito básicos visam garantir que o software seja livre:– Executar o software para qualquer propósito– Modificar o software para se adaptar às suas necessidades– Redistribuir cópias do software, gratuitamente ou não– Distribuir versões modificadas do software, para que a

comunidade se beneficie das modificações

Page 11: Apresentacao Linux

Movimento GNU e a licença GPL

A GPL (GNU Public License) foi elaborada com suporte de advogados, de modo a garantir os preceitos básicos

Utilizada a lei de copyright para garantir que um software, uma vez livre, não pode se tornar proprietário novamente

GNU!!!!!

Page 12: Apresentacao Linux

Movimento GNU e a licença GPL

Além do GNU, um outro projeto independente produziu um sistema operacional Unix-compatível: o BSD, desenvolvido na Universidade da Califórnia, Berkeley

As distribuições de Linux utilizadas hoje em dia contêm tanto programas do GNU quanto do BSD

Desde sua criação, o projeto GNU já produziu centenas (milhares?) de softwares: bibliotecas de rotinas, utilitários simples, utilitários complexos, sistemas operacionais, ambientes gráficos, etc...

Page 13: Apresentacao Linux

Movimento Open Source

Com o Linux, o paradigma de programação mudou de um grupo de especialistas desenvolvedores, para uma "anarquia" onde todos participam, mesmo que pouco

Sumarizado no documento A Catedral e o Bazar, de Eric Raymond

Não visa competir com o GNU, ao contrário, é baseado na GPL, porém com mais flexibilidade

Page 14: Apresentacao Linux

Padronização

Linux Standard Base (LSB)– Movimento de padronização do Linux– Conta com a participação de vários distribuidores Linux– Para hierarquia de diretórios, é adotado o FHS versão 2.2

Filesystem Hierarchy Standard (FHS)– Padronização da organização de diretórios e conteúdo– Permitirá predizer a localização dos arquivos em qualquer

distribuição

Page 15: Apresentacao Linux

Distribuições - Empacotamentos– Mandriva Ubuntu– RedHat CentOS– SuSE Kurumin– Caldera Etc...– Debian– Slackware

Outras distribuições

Distribuições

Page 16: Apresentacao Linux

Distribuições

Como o Linux é livre, qualquer pessoa pode criar uma distribuição de Linux, mais adequada à sua necessidade

Existem dezenas (ou mais) de distribuições de Linux disponíveis

O diferencial entre elas é: ferramentas adicionais, facilidade de instalação, facilidade de gerenciamento

O sistema de pacotes, que podem ser instalados e gerenciados de forma padronizada, criou linhagens de distribuições

Page 17: Apresentacao Linux

Distribuições –Conectiva/Mandriva

Principal distribuição Linux da América Latina

Usa pacotes RPM e sistema de atualização APT (Advanced Package Tool)

Foi distribuído pela primeira vez em 1997

Sediada em Curitiba, esta distribuição teve um grande esforço em traduzir os programas e grande parte da documentação do Linux para o português

Possui uma edição para servidores e outra para desktop . Em 2006 uniu com a Mandrake e fornou-sea Mandriva

Page 18: Apresentacao Linux

Distribuições - RedHat

O RedHat Linux surgiu em 1994

Inventou o formato de pacotes RPM (RedHat Package Manager), que foi depois utilizado em outras distribuições Linux

Hoje existem várias edições do RH Linux para desktop, pequenos escritórios, empresas de pequeno e médio porte até para grandes corporações

Page 19: Apresentacao Linux

Distribuições - SuSE

Distribuição sediada na Alemanha, o SuSE Linux surgiu em 1992

Traduções para diversos idiomas europeus

É o principal Linux da Europa e também utiliza pacotes RPM

Além de sua edição principal, a distribuição SuSE ainda conta com diversos produtos de negócios

                

Page 20: Apresentacao Linux

Distribuições - Slackware

• O Slackware teve o seu primeiro release em 1993

• É a distribuição que sempre buscou se aproximar o máximo possível do Unix

• Até 1994-1995 foi uma das distribuições Linux mais famosas, principalmente no Brasil

• Sua principal característica é a simplicidade e pouca sofisticação

Page 21: Apresentacao Linux

Distribuições - SCO

Antiga distribuição Caldera que teve o seu nome alterado para SCO em agosto de 2002.

Existe desde, pelo menos, 1996 e sempre teve um forte apelo comercial, pois foi uma das primeiras distribuições a estabelecer parcerias com grandes corporações

Usa pacotes RPM e sua distribuição está disponível nas edições Workstation e Server

Page 22: Apresentacao Linux

Distribuições - Debian

O Debian Linux começou em 1993 com a proposta de manter uma distribuição o mais livre possível

É a maior distribuição de Linux não associada a uma empresa

Usa pacotes no formato DEB disponibilizando um enorme número de pacotes

Desenvolveu o sistema APT (Advanced Package Tool), para atualização de pacotes pela Internet

Page 23: Apresentacao Linux

Distribuições – Turbolinux

• Fundada em 1992, fornece soluções para ambientes operacionais Linux

• Turbolinux é o fornecedor principal do sistema operacional Linux na Ásia e Pacífico

• Seus produtos incluem softwares multiplataforma e de sistema distribuído

Page 24: Apresentacao Linux

Outras distribuições

• Existem muitas outras distribuições Linux no mercado, tais como:–Ubuntu–Tech Linux–entre outras

• Porém, o objetivo deste material não é abordar cada uma delas

Page 25: Apresentacao Linux

Entrando e saindo do sistemaO administrador do sistema

Fundamentos do Sistema

Page 26: Apresentacao Linux

Conteúdo

• Entrar e sair do sistema

• Desligar o sistema

• O administrador do sistema (root)

Page 27: Apresentacao Linux

Entrando e Saindo do Sistema

• O sistema oferece um prompt parecido com–Login: [usuário] (Ex: nome=joselito)–Password: [senha](Ex: senha=1semnocao)

• Naturalmente a senha não aparece

• Recomenda-se que o login, ou nome de usuário, tenha no máximo 8 letras

• Apenas os primeiros 8 caracteres da senha são significativos

Page 28: Apresentacao Linux

• Para sair, no prompt do shell, pode-se usar o comando:–logout

• ou–exit

• ou–^D (Control-D)

Entrando e Saindo do Sistema

Page 29: Apresentacao Linux

Desligando o Sistema

• Procedimento de desligamento do sistema:–login: root–Password: ******–# shutdown -h now

• O comando shutdown(8) também serve para reiniciar o computador (rebootar)–# shutdown -r now

Page 30: Apresentacao Linux

O administrador do sistema (root)

• root é o nome do usuário administrador do sistema

• Sua identificação no sistema é igual a zero

• Tem acesso a todos os arquivos do sistema

• Responsável pela manutenção do sistema:–Adição e remoção de usuários–Instalação e remoção de software–Zelar pela segurança do sistema–Manter os serviços de rede

Page 31: Apresentacao Linux

Estrutura de diretórios

Fundamentos do Sistema

Page 32: Apresentacao Linux

Capítulo 04 – Conteúdo• Estrutura de diretórios

–/–/bin–/boot–/dev–/etc–/home–/lib–/sbin–/tmp–/usr–/var

Page 33: Apresentacao Linux

Estrutura de diretórios• / (também chamado de raiz)

– Não há drives, tudo fica dentro do diretório raiz /• /bin

– Comandos essenciais– Necessário para completar boot e ter um ambiente mínimo

• /boot– Kernel(s) do Linux (vmlinuz) para boot– Arquivos estáticos do loader

• /dev– Arquivos de acesso aos dispositivos do sistema– Dispositivos do tipo caractere e bloco.

Page 34: Apresentacao Linux

Estrutura de diretórios• /etc

– Configuração de partições e sistemas de arquivos– Configuração para o processo init(8)– Inicialização dos shells para todo o sistema– Configuração de rede (protocolos, endereços IP, nomes,

serviços conhecidos)– Arquivo de usuários e grupos ( /etc/passwd, /etc/group )

– Configuração do sistema de log ( /etc/syslog.conf )• /home

– Por convenção, é onde ficam os diretórios dos usuários

Page 35: Apresentacao Linux

Estrutura de diretórios

• /lib– Bibliotecas dinâmicas para os comandos em /bin e /sbin– Módulos do kernel

• /sbin– Comandos de sistema essenciais– Geralmente usado pelo root– Também necessário para ambiente mínimo

• /tmp– Arquivos temporários, usados durante a execução de um

programa

Page 36: Apresentacao Linux

Estrutura de diretórios

• /usr– Hierarquia secundária com bin, sbin, lib, etc, ...

• /var– Dados variáveis– Arquivos de log do sistema e específicos– Caixas de mensagens de e-mail– Fila de impressora

– Na página de manual hier(7) há uma descrição completa da hierarquia de sistema de arquivos do Linux

Page 37: Apresentacao Linux

Primeiros Comandos

Fundamentos do Sistema

Page 38: Apresentacao Linux

Conteúdo

• Primeiros Comandos–Limpar a tela do terminal–Listar arquivos e diretórios–Alternar entre diretórios–Utilizar a ajuda–Criar e remover diretórios–Copiar, mover e excluir diretórios

Page 39: Apresentacao Linux

Limpando a tela e listando arquivos

• Para limpar a tela do terminal utiliza-se o comando clear(1) ou então CTRL+L

• O comando ls(1) serve para listar os arquivos de um diretório–Se o diretório não for especificado, mostra a

listagem do diretório atual

Page 40: Apresentacao Linux

Alternar entre diretórios

• O comando cd serve para mudar o diretório atual.

• O comando cd não tem uma página de manual própria, pois faz parte do shell–Para mais informações veja bash(1)

• Para conferir o diretório atual utilize o comando pwd(1)

Page 41: Apresentacao Linux

Utilizar a ajuda (man)• As páginas de manual são organizadas em seções:

– Programas para Usuários– Chamadas de Sistema– Chamadas de Bibliotecas– Arquivos Especiais– Formatos de Arquivos– Jogos– Miscelânea– Administração do Sistema

• É comum escrever comandos da forma man(1), que significa que estamos referenciando o comando man da seção 1 das páginas de manual

Page 42: Apresentacao Linux

Utilizar a ajuda• O comando help mostra informações de ajuda sobre o

comando especificado, sendo um comando do bash(1)

• O comando man formata e apresenta a página de manual (man page) de um comando ou arquivo– É uma referência rápida e disponível para consultar sintaxes,

opções, semântica, etc...

• Execute os comandos–$ man bash–$ man man–$ man csh–$ man login

Page 43: Apresentacao Linux

Utilizar a ajuda (whatis e apropos)

• Uma outra maneira de se conseguir ajuda é através do comando whatis(1), que procura por palavras na base de dados do whatis.

• Outra alternativa é utilizar o comando apropos(1), que também procura na base de dados do whatis.–A diferença no caso do apropos é que ele procura

por expressões informadas, enquanto que o whatis procura somente por palavras

Page 44: Apresentacao Linux

Criar e remover diretórios• O comando mkdir(1) cria um novo diretório• $ mkdir nome_do_diretório

• O comando rmdir(1) remove um diretório• $ rmdir nome_do_diretório

– Para remover um diretório com o comando rmdir, é necessário que o mesmo esteja vazio

• Para remover um diretório que não esteja vazio, pode ser utilizando o mesmo comando que remove arquivos, porém com os parâmetros –rf

• $ rm -rf nome_do_diretório– Esta prática, porém, não é muito recomendada, já que não

há como desfazer a remoção

Page 45: Apresentacao Linux

Copiar, mover e remover arquivos

• O comando cp(1) serve para copiar um arquivo para um novo nome ou um novo lugar–cp [local(is) de origem] [local de destino]–cp [arquivo] [novo nome]

• O comando mv(1) serve para mover um arquivo de lugar, ou renomeá-lo–mv [local(is) de origem] [local de destino]–mv [arquivo] [novo nome]

• O comando rm(1) serve para remover arquivos e/ou diretórios– ATENÇÃO!! Não há como desfazer a remoção de arquivos, por isso

use a opção -i para confirmar a remoção de cada arquivo

Page 46: Apresentacao Linux

Ligações ou Links

Fundamentos do Sistema

Page 47: Apresentacao Linux

Conteúdo

• Ligações–Absolutas (Hardlink)–Simbólicas (Softlink)

Page 48: Apresentacao Linux

Ligações absolutas• Criamos ligações com o comando ln(1)• É um nome para um arquivo

– um arquivo pode ter vários nomes– Deve estar no mesmo sistema de arquivos– Não pode ser usado com diretórios

• ln [origem]/[arquivo] [destino]/[link]• No comando ls -l é mostrado quantos links existem para

cada arquivo:– -drwx----- 3 root root 4096 Ago 19 15:48 Desktop– -rw-r--r-- 3 root root 6332 Ago 19 15:59 Sucesso.txt– -rw-r--r-- 3 root root 1546 Ago 19 15:58 arvore.txt– -rw-r--r-- 3 root root 1546 Ago 19 15:58 arv.txt– -rw-r--r-- 3 root root 270336 Ago 14 11:29 foto.gif

Page 49: Apresentacao Linux

Ligações simbólicas

• Uma ligação simbólica é um arquivo que contém o caminho para outro arquivo, ou seja, um atalho

• Uma ligação simbólica permite apontar para diferentes tipos de sistema de arquivos

• Geralmente cria-se ligações simbólicas da seguinte maneira:–ln -s [origem] [destino]–ln -s [arquivo] [link]

Page 50: Apresentacao Linux

Permissões e Propriedades de Arquivos

Fundamentos do Sistema

Page 51: Apresentacao Linux

Conteúdo

• Definir o proprietário do arquivo

• Definir permissões de acesso ao:– Usuário (dono) do arquivo– Grupo do arquivo– Outros usuários

• Permissões especiais:– SUID– SGID– Stick bit

Page 52: Apresentacao Linux

Definir o proprietário

• Todo arquivo pertence a algum dono e grupo

• O comando chown(1) permite alterar o dono de um ou mais arquivos– O mesmo se aplica ao grupo do arquivo

• Sua utilização é:–chown [dono]:[grupo] arquivo(s)

• Para alterar somente o grupo de arquivos pode-se utilizar o comando chgrp(1). A sinopse é:–chgrp [grupo] arquivo(s)

Page 53: Apresentacao Linux

Tipos de arquivos

• Do ponto de vista do sistema, existem 7 tipos de arquivos diferentes:

Caractere Tipo de Arquivo

- Arquivo regular

d Diretório ou pasta

l Ligação simbólica

b Dispositivo orientado a blocos

c Dispositivo orientado a caracteres

s Socket (comunicação entre processos)

p Pipe (comunicação entre processos)

Page 54: Apresentacao Linux

Definir permissões• O comando chmod(1) serve para mudar as permissões de

acesso à um arquivo–drwx------ 3 root root 4096Ago 19 15:48 Desktop

–-rw------- 1 root root 270336 Ago 14 11:29 foto.gif

–drwxrwxr-x 2 root root 4096Ago 22 13:44 textos

– u g o• A sintaxe na representação simbólica é:

–chmod go+rx arquivo(s)chmod u-w arq(s)–chmod u=rw,go=r arquivo(s) chmod a+x arq(s)

• Na representação octal é:–chmod 755 arquivo(s)

• O comando umask define as permissões padrão de arquivos criados pelos usuários

Page 55: Apresentacao Linux

Permissões especiais

• SUID bit (u+s ou 4000 no chmod)– O programa será executado com as permissões do dono do

arquivo ao invés das permissões do usuário que o chamou.• SGID bit (g+s ou 2000 no chmod)

– Este bit aplicado a um diretório, fará com que qualquer arquivo criado dentro do mesmo tenha o mesmo grupo do diretório.

• Sticky bit (+t ou 1000 no chmod)– Quando aplicado a um diretório, juntamente com as

permissões de leitura/escrita/execução para todos os usuários, somente os donos dos arquivos poderão removê-los.

• Na forma octal seria:–chmod 4664 arquivo(s)

Page 56: Apresentacao Linux

Metacaracteres

Fundamentos do Sistema

Page 57: Apresentacao Linux

Conteúdo

• Metacaracteres:–Uso do símbolo ?–Uso do símbolo *–Uso dos colchetes [ ]–Uso das chaves { }

Page 58: Apresentacao Linux

Metacaracteres

• Utilização:

–Listagem de arquivos

–Busca de arquivos

Page 59: Apresentacao Linux

Uso do símbolo ?

• Exemplos de uso do símbolo ?–$ ls /etc/cro?tab–$ ls /etc/rc.d/rc?.d–$ cp /etc/rc?.d /home/aluno

Page 60: Apresentacao Linux

Uso do símbolo *

• Exemplos de uso do símbolo *–$ ls /etc/smb*–$ ls /etc/wine.*–$ ls /etc/yp*.conf–$ cp /etc/*.conf /home/aluno

Page 61: Apresentacao Linux

Uso dos colchetes [ ]

• Exemplos de uso do símbolo [ ]–$ ls /lib/li[af]*–$ ls /lib/li[c-k]*–$ ls -d /etc/rc.d/rc[0-2].d–$ ls -d /etc/[abc]*

Page 62: Apresentacao Linux

Uso das chaves { }

• Exemplos de uso do símbolo { }–$ ls –d /etc/{conf, apt}*–$ ls –d /etc/*{conf, apt}*–$ ls /lib/lib{panel,proc}*–$ ls -R /*.{doc,txt}

Page 63: Apresentacao Linux

Paginação e Concatenação de Arquivos

Fundamentos do Sistema

Page 64: Apresentacao Linux

Conteúdo

• Concatenar arquivos–Uso do comando cat–Uso do comando tac

• Filtros de visualização em terminais–Uso do filtro more–Uso do filtro less

Page 65: Apresentacao Linux

Concatenar arquivos

• O comando cat(1) serve para concatenar arquivos e listar o resultado na saída padrão.

• Se for informado apenas um arquivo, então este apenas será mostrado na saída padrão.

• O comando tac(1) serve para concatenar arquivos e listar o resultado na saída padrão em reverso–É exatamente o inverso do comando cat

Page 66: Apresentacao Linux

Filtros de visualização em terminais

• Utilização do comando more(1)–$ more /etc/passwd–$ more –d /etc/services

• Utilização do comando less(1)–$ less /etc/passwd–$ less /etc/services

Page 67: Apresentacao Linux

Verificar o tempo de uso e o acesso ao sistema

Fundamentos do Sistema

Page 68: Apresentacao Linux

Conteúdo

• Verificar o tempo de uso e o acesso ao sistema:–Verificar os usuários que estão acessando o sistema–Verificar o tempo de uso do sistema

Page 69: Apresentacao Linux

Usuários acessando o sistema• O comando who(1) mostra uma lista

dos usuários que estão acessando o sistema no momento:–Nome de acesso–Linha do terminal–Tempo de acesso–Nome da máquina remota ou tela X

Para visualizar suas própriasinformações utilize a• opção -m ou então:

–$ who am i

Page 70: Apresentacao Linux

Acesso e tempo de uso do sistema• O comando w(1) mostra quem está acessando o

sistema e o que estão executando.

• As entradas que aparecem para cada usuário são:–Nome de acesso–Nome do terminal–Máquina remota–Tempo de acesso–Tempo inativo–JCPU (tempo utilizado por todos–os processos no terminal)–PCPU (tempo utilizado pelo processo atual)–Linha de comando do processo atual

Page 71: Apresentacao Linux

Tempo de funcionamento do sistema

• O comando uptime(1) diz há quanto tempo o sistema está funcionando

• As informações são mostradas da seguinte forma:–Hora atual–A quanto tempo o sistema está–funcionando–Quantos usuários estão–atualmente usando o sistema–Média de carga no sistema–para os últimos 1, 5 e 15 minutos

Page 72: Apresentacao Linux

Canalização e redirecionamento

Fundamentos do Sistema

Page 73: Apresentacao Linux

Conteúdo

• Canalização–Uso da barra vertical | ou pipe

• Redirecionamento–Uso do sinal >–Uso do sinal <–Uso do sinal >>–Uso do sinal <<

Page 74: Apresentacao Linux

Canalização

• Canalizar é colocar dados de um resultado para outro comando como entrada padrão.

• Utilização do símbolo pipe |–$ cat /etc/services | more–$ head -50 /etc/services | tail –v–$ cat /etc/services | less

Page 75: Apresentacao Linux

Redirecionamento

• Pode-se redirecionar resultados ou mensagens de erro para um arquivo

–Quando se deseja armazenar os resultados (saída padrão) em um arquivo, por exemplo:• $ ls /etc > arq1

–Ou quando se deseja adicionar mais resultados neste mesmo arquivo:• $ ls /etc/rc.d >> arq1

–Quando não se deseja visualizar os erros (saída de erros)• $ cat /etc/passwd /etc/shadow 2> /dev/null

Page 76: Apresentacao Linux

• Em alguns casos pode-se desejar redirecionar a entrada padrão–Para direcionar a entrada padrão para um comando

qualquer:• $ cat < arq1• $ cat < arq1 | more

–Para ler a entrada padrão junto com os comandos:–$ cat > $MOUNTDIR/etc/lilo.conf <<FIM–boot=$device–timeout=100–message=/boot/message–prompt–FIM

Redirecionamento

Page 77: Apresentacao Linux

Localizar arquivos

Fundamentos do Sistema

Page 78: Apresentacao Linux

Conteúdo

• Localizar arquivos:–Pesquisar arquivos na estrutura de diretórios–Pesquisar base de dados–Localizar arquivos e manuais–Ver o caminho completo de execução de comandos–Procurar strings dentro de arquivos

Page 79: Apresentacao Linux

Pesquisar a estrutura de diretóriosO comando find(1) pesquisa dentro da hierarquia de diretórios conforme opções especificadas

• Procura por nome do arquivo–$ find / -name bashrc

• Procura por usuário–$ find /home -user aluno

• Procura por permissão Procura por tipo–$ find / -perm –4000 $ find / -type d–$ find / -perm +4000 $ find / -type f

Page 80: Apresentacao Linux

Pesquisar em base de dados

• O comando locate(1) lista arquivos de uma base de dados cujos nomes coincidam com um padrão–$ locate clear–$ locate ls

• O comando updatedb(1) atualiza um banco de dados de nome de arquivos–$ updatedb

Page 81: Apresentacao Linux

Localizar arquivos, manuais e o path

• O comando whereis(1) localiza arquivos executáveis, fontes e suas respectivas páginas de manual–$ whereis clear–$ whereis ls

• O comando which(1) mostra o caminho completo de execução dos comandos do shell–$ which clear –$ which ls

Page 82: Apresentacao Linux

Procurar texto dentro de arquivos

• O comando grep(1) lista linhas que combinem com um padrão coincidente

• Procura por textos simples ou expressões regulares dentro de um ou mais arquivos

• Procura por ftp no arquivo /etc/services–$ grep ftp /etc/services

• Utilizando canalização–$ cat /etc/services | grep ftp

Page 83: Apresentacao Linux

Comandos úteis

Fundamentos do Sistema

Page 84: Apresentacao Linux

Conteúdo

• Comandos úteis–Ler e gravar da entrada para a saída padrão–Listar o conteúdo de arquivos em vários formatos–Visualizar o início e o final de arquivos–Ordenar linhas–Editar arquivos através do prompt–Contar linhas, palavras e caracteres–Remover e exibir seções de linhas–Formatar arquivos e converter para impressão–Combinar linhas e dividir arquivos–Checar diferenças entre arquivos

Page 85: Apresentacao Linux

Ler e gravar de stdin para stdout

• O comando tee(1) copia a entrada padrão para a saída padrão e um ou mais arquivos.

• Funciona como uma conexão em T de um sistema de tubulação:

–comando1 | tee Arquivo | comando21º Comando 2º Comandotee

Arquivo

Page 86: Apresentacao Linux

Listar arquivos em vários formatos• O comando od(1) lista arquivos nos formatos

decimal, octal, hexadecimal e outros• O padrão é listar os deslocamentos em formato

octal e os dados do arquivo em números octais de dois bytes

• Por exemplo, o comando:–$ od lista

• Onde lista tem como conteúdo a palavra abacaxi, retornaria como resultado:–0000000 061141 061541 074141 005151 0000010

Page 87: Apresentacao Linux

Visualizar o início e o final de arquivos

• O comando head(1) lista por padrão as dez primeiras linhas de arquivos texto–$ head arquivo

• Pode-se especificar a quantidade de linhas a visualizar–$ head -3 arquivo

• Inversamente proporcional ao comando head, existe o comando tail(1), que lista as dez últimas linhas de arquivos texto–$ tail arquivo

• Pode-se especificar a quantidade de linhas a visualizar–$ tail -3 arquivo

Page 88: Apresentacao Linux

Ordenar linhas

• O comando sort(1) ordena linhas de arquivos texto–$ sort [opção] arquivo–$ sort lista-de-compras

• Para verificar um arquivo, pode-se utilizar a opção -c do sort, que retornará um erro caso este arquivo não esteja ordenado–$ sort -c arquivo

Page 89: Apresentacao Linux

Editar arquivos através do prompt

• O comando expand(1) converte tabulações em espaços–$ expand arqTab | tee arqEspaço | grep arara

• O comando tr(1) altera ou apaga caracteres–Troca minúsculas por maiúsculas

• $ ls -l | tr a-z A-Z

–Troca r por a, u por v e a por e• $ cat arq | tr rua ave

–Remove os espaços de arq1 salvando em arq2• $ tr -d '[:space:]' < arq1 > arq2

–Remove o dois pontos de arq1 salvando em arq2• $ tr -d : < arq1 > arq2

Page 90: Apresentacao Linux

Contar linhas, palavras e caracteres

• O comando nl(1) lista o conteúdo de arquivos, numerando suas linhas–$ nl arquivo

• O comando wc(1) conta o número de linhas, palavras e caracteres de um arquivo–$ wc arquivo

Page 91: Apresentacao Linux

Remover e exibir seções de linhas

• O comando cut(1), exibe determinadas colunas (seções) de um arquivo–$ cut –c 5 arquivo

• O comando paste(1), exibe as linhas de um arquivo–$ paste arquivo

Page 92: Apresentacao Linux

Formatar arquivos para impressão

• O comando fmt(1), formata arquivos texto para exibição na saída padrão–$ fmt -w 30 arquivo.txt

• O comando pr(1), converte arquivos texto para impressão–$ pr -2 arquivo.txt

Page 93: Apresentacao Linux

Combinar linhas e dividir arquivos

• O comando join(1), exibe na saída padrão a combinação das linhas de dois arquivos–$ join arquivo1 arquivo2 | tee arquivo3

• O comando split(1), divide um arquivo em vários arquivos menores–$ split arquivo [prefixo]

Page 94: Apresentacao Linux

Checar diferenças entre arquivos

• O comando diff(1), encontra diferença entre dois arquivos–$ diff arquivo1 arquivo2

Page 95: Apresentacao Linux

Pacotes RPM e atualização APT

Fundamentos do Sistema

Page 96: Apresentacao Linux

Conteúdo

• Pacotes RPM–Instalar pacotes–Atualizar pacotes–Consultar e Verificar pacotes–Remover pacotes

• Sistema APT–Instalar e configurar o APT–Instalar, atualizar e remover pacotes–Atualizar, checar e limpar o cache

Page 97: Apresentacao Linux

Pacotes RPM

• O formato RPM (Redhat Package Manager) foi lançado como um padrão aberto pela RedHat, bem como a ferramenta principal de manipulação dos pacotes, o utilitário rpm(8) da linha de comando.

• O rpm é uma ferramenta simples, porém poderosa, para gerenciar os pacotes instalados no sistema.

• Pacotes são arquivos cujos nomes parecem com:–programa-1.0-0.i386.rpm

Page 98: Apresentacao Linux

Instalar pacotes

• Para instalar um software é só utilizar o comando:–# rpm -i programa-1.0-0.i386.rpm

• Para instalar e mostrar detalhes da instalação–# rpm -iv programa-1.0-0.i386.rpm

• Para instalar exibindo # a medida que os arquivos são descompactados–# rpm -ivh programa-1.0-0.i386.rpm

Page 99: Apresentacao Linux

Atualizar pacotes

• Para atualizar um software, deve-se utilizar o comando com outras opções–# rpm -U [opções de instalação] programa.rpm

–# rpm -Uvh programa-1.0-0.i386.rpm

• Às vezes o pacote não pode ser instalado ou atualizado porque ele requer que outro pacote seja instalado primeiro, ou seja, possui dependências

Page 100: Apresentacao Linux

Consultar e verificar pacotes

• Para verificar se um pacote está instalado ou não, utiliza-se o comando:–# rpm -q programa

• Para listar todos os pacotes instalados:–# rpm -qa

• Para fazer a verificação, pode-se utilizar:–# rpm -V | -y | --verify [opções de verificação]

Page 101: Apresentacao Linux

Remover pacotes

• Para remover um software, utiliza-se o comando–# rpm -e programa

• Às vezes o software não pode ser desinstalado porque outros pacotes o utilizam, ou seja, possui dependências

Page 102: Apresentacao Linux

Sistema APT

• O APT (Advanced Package Tool) é um conjunto de ferramentas de gerenciamento de pacotes–apt-get(8)–apt-cdrom(8)–apt-cache(8)–apt-config(8)

• É uma forma automatizada de gerenciar os pacotes da distribuição

• Gerencia pacotes no formato RPM e DEB

Page 103: Apresentacao Linux

Instalar e configurar o APT

• O APT primeiramente deve ser instalado no sistema como seria qualquer outro pacote–rpm –ivh apt-X.X.xx-Xcl.i386.rpm

• Os arquivos de configuração do APT ficam em /etc/apt

• O arquivo /etc/apt/sources.list, contém as fontes para saber de onde o APT obterá os pacotes

Page 104: Apresentacao Linux

Instalar, atualizar e remover pacotes

• Para instalar ou atualizar pacotes utiliza-se:–# apt-get install nome_pacote

• Se o pacote já estiver instalado, o apt-get avisa que o mesmo será atualizado

• Para atualizar todo o sistema:–# apt-get dist-upgrade

• Para remover pacotes utiliza-se:–# apt-get remove nome_do_pacote–O apt-get mostra as dependências que serão

removidas

Page 105: Apresentacao Linux

Atualizar, checar e limpar o cache• Para atualizar a base de dados utiliza-se:

–apt-get update

• Para verificar a integridade da base de dados utiliza-se:–apt-get check

• Para limpar os pacotes em cache:–apt-get clean

• Para limpar somente os pacotes que não estão sendo copiados ou utilizados–apt-get autoclean

Page 106: Apresentacao Linux

Créditos

• Líder do projeto: Rodrigo Stulzer Lopes (Conectiva)• Coordenador do Projeto: Alexei Znamensky (IBTA)• Conteudistas: Alexei Znamensky (IBTA)• Febrônio Bomfim Alves (IBTA)• André Medeiros (IBTA)

• Revisão Técnica: Roberto Teixeira (Conectiva)• Lisiane Sztoltz (Conectiva)• Carlos Bochnia (Conectiva)• Tulio Munhos (Conectiva)

• Revisão Pedagógica: Francisco Borges (IBTA)

• Adaptação: Mauricio Rabello (Certificado Conectiva 2004)/Credson Isaac 2013