Apresentacao Linux
-
Upload
jose-hermano-cavalcanti-filho -
Category
Documents
-
view
215 -
download
0
description
Transcript of Apresentacao Linux
![Page 1: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/1.jpg)
S.O – Kernel do LinuxHistórico UNIX & Linux
GNU, Licença GPLOpen Source & Padronização
Fundamentos do Sistema
![Page 2: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/2.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/3.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/4.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/5.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/6.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/7.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/8.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/9.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/10.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/11.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/12.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/13.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/14.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/15.jpg)
Distribuições - Empacotamentos– Mandriva Ubuntu– RedHat CentOS– SuSE Kurumin– Caldera Etc...– Debian– Slackware
Outras distribuições
Distribuições
![Page 16: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/16.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/17.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/18.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/19.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/20.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/21.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/22.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/23.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/24.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/25.jpg)
Entrando e saindo do sistemaO administrador do sistema
Fundamentos do Sistema
![Page 26: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/26.jpg)
Conteúdo
• Entrar e sair do sistema
• Desligar o sistema
• O administrador do sistema (root)
![Page 27: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/27.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/28.jpg)
• 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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/29.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/30.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/31.jpg)
Estrutura de diretórios
Fundamentos do Sistema
![Page 32: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/32.jpg)
Capítulo 04 – Conteúdo• Estrutura de diretórios
–/–/bin–/boot–/dev–/etc–/home–/lib–/sbin–/tmp–/usr–/var
![Page 33: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/33.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/34.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/35.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/36.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/37.jpg)
Primeiros Comandos
Fundamentos do Sistema
![Page 38: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/38.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/39.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/40.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/41.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/42.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/43.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/44.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/45.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/46.jpg)
Ligações ou Links
Fundamentos do Sistema
![Page 47: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/47.jpg)
Conteúdo
• Ligações–Absolutas (Hardlink)–Simbólicas (Softlink)
![Page 48: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/48.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/49.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/50.jpg)
Permissões e Propriedades de Arquivos
Fundamentos do Sistema
![Page 51: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/51.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/52.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/53.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/54.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/55.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/56.jpg)
Metacaracteres
Fundamentos do Sistema
![Page 57: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/57.jpg)
Conteúdo
• Metacaracteres:–Uso do símbolo ?–Uso do símbolo *–Uso dos colchetes [ ]–Uso das chaves { }
![Page 58: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/58.jpg)
Metacaracteres
• Utilização:
–Listagem de arquivos
–Busca de arquivos
![Page 59: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/59.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/60.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/61.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/62.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/63.jpg)
Paginação e Concatenação de Arquivos
Fundamentos do Sistema
![Page 64: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/64.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/65.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/66.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/67.jpg)
Verificar o tempo de uso e o acesso ao sistema
Fundamentos do Sistema
![Page 68: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/68.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/69.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/70.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/71.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/72.jpg)
Canalização e redirecionamento
Fundamentos do Sistema
![Page 73: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/73.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/74.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/75.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/76.jpg)
• 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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/77.jpg)
Localizar arquivos
Fundamentos do Sistema
![Page 78: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/78.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/79.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/80.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/81.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/82.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/83.jpg)
Comandos úteis
Fundamentos do Sistema
![Page 84: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/84.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/85.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/86.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/87.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/88.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/89.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/90.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/91.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/92.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/93.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/94.jpg)
Checar diferenças entre arquivos
• O comando diff(1), encontra diferença entre dois arquivos–$ diff arquivo1 arquivo2
![Page 95: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/95.jpg)
Pacotes RPM e atualização APT
Fundamentos do Sistema
![Page 96: Apresentacao Linux](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/96.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/97.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/98.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/99.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/100.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/101.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/102.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/103.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/104.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/105.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022032202/55cf9286550346f57b97285d/html5/thumbnails/106.jpg)
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