43
XVIII Semana da Computação Minicurso de Linux Reginaldo de Matias

Minicurso linux

Embed Size (px)

Citation preview

Page 1: Minicurso linux

XVIII Semana da ComputaçãoMinicurso de Linux

Reginaldo de Matias

Page 2: Minicurso linux

Cronograma● A origem do Linux● Software Livre e Licença GNU● Principais distribuições (distros)● Árvore de Diretórios● Sistemas de Arquivos● Editor de texto Vim● Principais comandos● Usuários e Grupos● Permissões de acesso● Redirecionamento de Entrada e Saída (E/S)● Compactadores e Descompactadores● Gerenciamento de Pacotes● Gerenciamento de Janelas● Certificações

Page 3: Minicurso linux

A origem do LinuxO núcleo e kernel do Linux foi desenvolvido por Linus Torvalds do Departamento de Ciência da Computação da Universidade de Henlsink na Filândia. Linus Torvalds iniciou o projeto em particular, inspirado no sistema Minix, um pequeno sistema Unix desenvolvido pelo Tannenbaum. Resumiu-se em suas palavras: “um Minix melhor que o Minix”

Page 4: Minicurso linux

Software Livre e Licença GNUA GPL é licença com maior utilização por parte de projetos de software livre, em grande parte devido à sua adoção para o projeto GNU e o Kernel Linux. GNU/Linux Em termos gerais um software livre, se baseia-se nas 4 liberdades:- A liberdade de executar o programa para qualquer propósito (liberdade #0)-A liberdade de estudar como o programa funciona e adaptá-lo as suas necessidades (liberdade #1). O acesso ao código fonte é um pré-requisito para essa finalidade.-A liberdade de redistribuir, inclusive vender, cópias de modo que você possa ajudar ao seu próximo. (liberdade #2).-A liberdade de aperfeiçoar o programa, e liberar estas modificações, de modo que toda a comunidade se beneficie. (liberdade #3). O acesso ao código fonte é um pré-requisito para essa finalidade. “Software livre não é cerveja gratis”. (Richard Stallman)

Page 5: Minicurso linux

Principais distribuições (distros) [1/2]

Distribuição Linux é composta por uma coleção de pacotes de aplicativos mais o kernel (núcleo) do sistema operacional.Linux é apenas o nome do kernel do sistema operacional. Isto significa que todas as distribuições utilizam o mesmo kernel, mas podem incluir diversos pacotes de acordo com o objetivo do mantenedor.O Linux é um sistema operacional Unix-like, ou seja, seu comportamento é similar ao sistema operacional UNIX (multitarefa e multiusuário).Distros: Slackware, Debian, RedHat, CentOS, SUSE, openSUSE, Fedora, Ubuntu, Mint, Arch, Manjaro, Gentoo, Funtoo.

Page 6: Minicurso linux

Principais distribuições (distros) [2/2]

Page 7: Minicurso linux

Árvore de diretórios/bin Diretório dos binários principais dos usuários

/boot Diretório com os arquivos do sistema de boot

/dev Diretório com os arquivos de dispositivos

/etc Diretório com os arquivos de configuração do sistema

/home Diretório dos usuários comuns do sistema

/lib Diretório com as bibliotecas essenciais do sistema e módulos do kernel

/media Diretório de montagem de dispositivos

/mnt Diretório de montagem de dispositivos (mesmo do /media)

/opt Diretório usado para instalar pacotes não oficiais da distro ou por conta do usuário

/sbin Diretório com os arquivos binários usados para administração do sistema

/srv Diretório para dados de serviços oferecidos pelo sistema

/tmp Diretório para arquivos temporários

/usr Diretório com aplicativos e arquivos utilizados pelo usuários comuns do sistema

/var Diretório com arquivos de dados variáveis (spool, logs, cache, e-mail, squid)

/root Diretório home do root

/proc Diretório com informações sobre os processos do sistema

Page 8: Minicurso linux

Sistemas de ArquivosPrincipais sistemas de arquivosUm sistema de arquivos é um conjunto de estruturas lógicas que permite o sistema operacional controlar o acesso a um dispositivo de armazenamento como disco rígido, pendrive, cd-rom, etc. Diferentes sistemas operacionais pode usar diferentes sistemas de arquivos.O sistema de arquivos utilizado no Windows é NTFS e no GNU/Linux é ext4, dentre outros que tem suporte.Os sistemas de arquivos principais são: ext3, ext4, ReiserFSext3: O ext3 é a versão do ext2 com journing, que proporciona uma recuperação muito mais rápida, fazendo com que o ext3 seja considerado sistemas de arquivos bom e estável.ext4: O ext4 é o sucessor do ext3, foi criado uma série de extensões retrocompatíveis para remover os limites de armazenamento em 64 bits e outras melhorias adicionadas de desempenho.ReiserFS: O ReiserFS é o sistema de arquivos que supera o ext3 e ext4 em perfomance de desempenho em 10-15 vezes. Recomendado para uso em sistemas de arquivos grandes, com utilização de arquivos pequenos. Porém tem uma desvantagem nesse sistema de arquivos, não possui quota de disco para limitar o uso do espaço em disco.

Page 9: Minicurso linux

Editor de texto Vim [1/2]

O editor de texto Vim possui trabalha com dois modos de operação: interativo e inserçãoO modo interativo ESC e os atalhos de comandosO modo inserção i para começar a escrever

Atalho para copiar, recortar e copiar textoESCPosicione o cursor no início do texto que deseja copiar ou recortarTecle vUse as setas de direção, marque o textoTecle dPosicione o cursor no ponto que deseja colarTecle pPara copiar ao invés de recortar, utilize o y no lugar do d

Atalhos Descrição

0 Ir para o início da linha

$ Ir para o final da linha

g Ir para o início do arquivo

G Ir para o final do arquivo

:n Ir para linha enésima

:x Salva e sai do editor

Page 10: Minicurso linux

Editor de texto Vim [2/2]

Page 11: Minicurso linux

Principais comandos GNU/Linux [1/15]uname: comando que exibe as informações do sistema Linuxuname -a

echo: comando que exibe informações na saída padrão seguindo uma nova linha

echo “Use Linux!”

file: comando que informa qual tipo informado no parâmetro.

cd: comando usado para acessar e mudar de diretório corrente. Utilizando para navegar entre diretórios no terminal.

pwd: comando que retorna o diretório atual.

clear: comando para limpar dados do terminal

Page 12: Minicurso linux

Principais comandos GNU/Linux [2/15]

Opções Descrição

-i Torna o comando interativo

-r Copia recursivamente arquivos dentro dos subdiretórios da origem

-p Preserva atributos (dono, data, hora, permissões) do arquivo de origem no arquivo de destino

-v Modo verbose

cp: comando para copiar arquivos

cp [opções] origem destino

Page 13: Minicurso linux

Principais comandos GNU/Linux [3/15]

mv: comando que tem função de mover arquivo de origem para destino. Seu uso é quase igual ao comando cp.

mv [opções] origem destino

Opções Descrição

-i Modo interativo

-f Força sobreescrever o arquivo de destino

-v Modo verbose

Page 14: Minicurso linux

Principais comandos GNU/Linux [4/15]

ls: comando para listar arquivos que estão dentro do diretório corrente.

ls argumentos

Opções Descrição

-a Não esconde arquivos começados por .

-l Usa o formato lista em detalhes

Page 15: Minicurso linux

Principais comandos GNU/Linux [5/15]

mkdir: comando para criar um diretório.

mkdir [opções] nome-diretorio

Opções Descrições

-m Seta permissão equivalente ao chmod

-p Mantém integridade

-v Modo verbose

Page 16: Minicurso linux

Principais comandos GNU/Linux [6/15]

diff: comando que compara dois arquivos

diff [opções] arquivo1 arquivo2

Opções Descrição

-a Trata os arquivos como texto e os compara linha a linha

-i Ignora as diferenças entre maiúsculas e minúsculas

-q Exibe apenas as diferenças entre arquivos

Page 17: Minicurso linux

Principais comandos GNU/Linux [7/15]

du: comando que exibe informações sobre o espaço usado nos diretórios.

du [opções]

Opções Descrição

-k Exibe o espaço ocupado em Kbytes

-m Exibe o espaço ocupado em Mbytes

-h Exibe o equivalente das opções (-k, -m). Modo humano

Page 18: Minicurso linux

Principais comandos GNU/Linux [8/15]

df: comando que exibe informações sobre o espaço livre utilizado pelas partições do sistema.

df [opções]

Opções Descrição

-k Exibe o espaço ocupado em Kbytes

-m Exibe o espaço ocupado em Mbytes

-h Exibe o equivalente das opções (-k, -m). Modo humano

Page 19: Minicurso linux

Principais comandos GNU/Linux [9/15]

head: comando que exibe as primeiras linhas do arquivo.

head [opções] arquivo

Opções Descrição

-c [num[bkm]] Exibe os primeiros (num) bytes, Kbytes, Mbytes do arquivo

-n [num] Exibe as (num) primeiras linhas do arquivo

-v Exibe informações do comando

Page 20: Minicurso linux

Principais comandos GNU/Linux [10/15]

tail: comando que exibe as últimas linhas do arquivo.

tail [opções] arquivo

Opções Descrição

-c [num[bkm]] Exibe os primeiros (num) bytes, Kbytes, Mbytes do arquivo

-n [num] Exibe as (num) últimas linhas do arquivo

-f Continua indefinidamente ler caracteres ao final do arquivo

-v Exibe informações do comando

Page 21: Minicurso linux

Principais comandos GNU/Linux [11/15]

wc: comando que conta linhas, palavras e caracteres do arquivo.

wc [opções] arquivo

Opções Descrição

-c Conta caracteres

-l Conta linhas

-w Conta palavras

Page 22: Minicurso linux

Principais comandos GNU/Linux [12/15]

whereis: comando utilitário que lista a localização de programas binários, fontes e documentações.

whereis [opções] pacote

Opções Descrição

-b Lista apenas arquivos binários

-m Lista apenas arquivos de documentação

-s Lista apenas os arquivos fontes

Page 23: Minicurso linux

Principais comandos GNU/Linux [13/15]

whatis: comando utilitário que mostra um resumo sobre um ou mais comandos.

whatis [opções] comando

Opções Descrição

-h Exibe informações de auto ajuda

Page 24: Minicurso linux

Principais comandos GNU/Linux [14/15]

rm: comando que remove arquivos e diretórios. Pode usar o caracter * (curinga).

rm [opções] arquivo

Opções Descrição

-f Força ignorando arquivos inexistente

-i Modo interativo

-r, -R ou --recursive Modo recursivo

* Caracter curinga utilizado em expressão regular que significa tudo

Page 25: Minicurso linux

Principais comandos GNU/Linux [15/15]

cat: comando que exibe o que há dentro do arquivo. Concatena arquivo de entrada e saída.

cat [opções] arquivo

Opções Descrição

-b Exibe número de linhas não vazias

-n Exibe número de linhas de saída

-s Não exibe mais de uma linha em branco

Page 26: Minicurso linux

Hardlink (link simbólico)

ln: comando que cria um link simbólico de um diretório auxiliar para outro.

ln [opções] diretorio diretorio-aux

Opções Descrição

-s Cria um link simbólico

Page 27: Minicurso linux

Usuário e Grupos [1/4]

Criação de usuários

No GNU/Linux existe dois tipos de usuários

root: Administrador do Sistema. Indicado como # no terminal

seu usuário: Esse usuário é o regular e tem restrições, ou seja, apenas tem controle no seu /home/<seu-usuario>. Indicado como $ no terminal

Criar um usuário: # adduser nome-usuario

Page 28: Minicurso linux

Usuário e Grupos [2/4]

Alterar senha do usuário

passwd: Altera a senha de um usuário. Apenas seu usuário pode alterar a sua senha. Exceto o root que tem acesso total do sistema.

passwd [opções] usuario

Opção Descrição

-l Bloqueia conta de usuário

-u Desbloqueia conta de usuário

-d Elimina a senha do usuário

-n Define número mínimo de dias para expiração da conta

-x Define o número máximo de dias para expiração da conta

-w Define o número de dias com antecedência que o usuário será avisado da expiração da senha

-i Define o número de dias que o usuário receberá o aviso de expiração de senha

-S Exibe uma informação resumida do estado da senha da conta do usuário

Page 29: Minicurso linux

Usuário e Grupos [3/4]

Exclui uma conta de usuário

userdel: Exclui uma conta de usuário

userdel [opções] usuario

Opções Descrição

-f Força a remoção do usuário mesmo estando conectado no sistema

-r Remove o diretório /home/usuario

Page 30: Minicurso linux

Usuário e Grupos [4/4]

Criação de Grupos

addgroup: Este comando adiciona um grupo ao sistema. O grupo é criado sem usuários

Criar o grupo

addgroup nome-grupo

Adicionar usuário ao grupo criado

addgroup usuario grupo

Page 31: Minicurso linux

Permissões de Acesso [1/3]

Permissões de acesso a arquivos e diretórios

Permissões de acesso protege o sistema de arquivos Linux do acesso indevido de usuários não autorizados.

Usando seu usuário regular, tente apagar algum arquivo dentro da raiz /

O princípio de segurança no sistema GNU/Linux é definir os arquivos por donos, grupos e outros usuários.

Dono: Usuário que mantém a integridade do arquivo e diretório criado.

Grupo: Grupo de usuários que podem acessar os arquivos, mesmo sendo de outro dono.

Outros: Aqueles usuários que não são donos e não pertencem ao grupo de arquivo e diretório.

Page 32: Minicurso linux

Permissões de Acesso [2/3]

Tipo de permissão de acesso

Os tipos de permissões de acesso ao dono, grupo e outros usuários, é aplicado 3 permissões básicas: leitura, escrita e execução.

Permissão Mnemônico Arquivo Diretório

Leitura r Acesso ao conteúdo do arquivo Lista o conteúdo do diretório

Escrita w Acesso alterar o conteúdo do arquivo

Cria e remove arquivo no diretório

Execução x Acesso de execução do arquivo Acessar usando o cd no diretório

Page 33: Minicurso linux

Permissões de Acesso [3/3]

Manipulação de arquivos e diretórios em número octal

Número Descrição

0 Nenhuma permissão de acesso

1 Permissão de execução (x)

2 Permissão de gravação (w)

3 Permissão de gravação e execução (rw)

4 Permissão de leitura (r)

5 Permissão de leitura e execução (rx)

6 Permissão de leitura e gravação (rw)

7 Permissão de leitura, gravação e execução (rwx)

Page 34: Minicurso linux

Redirecionamento de Entrada e Saída

Operador Descrição

> Redireciona para saída

>> Redireciona para o fim do arquivo

< Redireciona para entrada

<< Redireciona para entrada e mantém aberta até que seja digitado algum caracter de EOF (fim do arquivo). Exemplo: Ctrl+D

>& Redireciona a saída com erros

| Redireciona a saída de um comando para entrada de outro comando

tee Redireciona o resultado para saída padrão e para o fim do arquivo. Precisa usar em conjunto o |

Page 35: Minicurso linux

Compactadores e Descompactadores [1/2]

Compactando e descompactando no formato .tar.gz

tar [opções] arquivo-compactado.tar.gz diretorio-origem

Opções Descrição

-c Cria um arquivo tar

-v Lista arquivos em modo verbose

-f Usa o arquivo especificado para gravação

-x Descompacta o arquivo pelo tar

Page 36: Minicurso linux

Compactadores e Descompactadores [2/2]

Compactando com ZIP

zip [opções] arquivo-compactado.zip diretorio-origem

Descompactando com UNZIP

unzip [opções] arquivo.zip OU unzip [opções] arquivo.zip -d diretorio-destino

Opções Descrição

-r Compacta arquivos e subdiretórios

-e Permite encriptar o conteúdo do arquivo .zip através de uma senha

-f Somente substitui um arquivo compactado existente dentro do arquivo .zip somente se a versão mais nova é a atual

F Repara um arquivo .zip danificado

Opções Descrição

-c Descompacta os arquivos para saída padrão

-f Descompacta somente os arquivos que existem no disco e os mais novos que os atuais

-l Lista arquivos existentes dentro do arquivo .zip

-P Permite descompactar arquivos .zip com senha

Page 37: Minicurso linux

Gerenciador de Pacotes [1/3]

Instalando pacotes na distro Debian e derivados

No arquivo /etc/apt/sources.list estão as referências dos repositórios que será consultado pelo APT

APT

DPKG

Comando Descrição

apt-get update Atualiza a lista de pacotes disponíveis no repositório

apt-get upgrade Atualiza os pacotes já instalados

apt-get install <pacote> Instala um pacote com as respectivas dependências

apt-get remove <pacote> Remove um pacote com as respectivas dependências

apt-get dist-upgrade Atualiza versão da distribuição

dpkg -i pacote.deb Instala um pacote.deb

dpkg -r pacote.deb Remove um pacote.deb

dpkg -c pacote.deb Consulta o conteúdo do pacote.deb

dpkg -l Lista os pacotes instalados

Page 38: Minicurso linux

Gerenciador de Pacotes [2/3]

Instalando pacotes na distro RHEL/CentOS e derivados

No arquivo /etc/yum.conf estão as referências dos repositórios que será consultado pelo YUM

YUM

RPM

Comando Descrição

yum check-update Verifica se há atualizações disponíveis

yum update Atualiza a lista de pacotes no repositório

yum install <pacote> Instala um pacote com as respectivas dependências

yum remove <pacote> Remove um pacote com as respectivas dependências

yum info <pacote> Exibe informações do pacote

rpm -i pacote.rpm Instala um pacote.rpm

rpm -r pacote.rpm Remove um pacote.rpm

rpm -U pacote.rpm Atualiza um pacote.rpm

rpm -ivh pacote.rpm Instala um pacote.rpm em modo verbose

Page 39: Minicurso linux

Gerenciamento de Pacotes [3/3]

Modo tradicional em qualquer distro

Após o download do código fonte do pacote, geralmente no formato .tar.gz

$ tar -xzvf pacote.tar.gz

Checar as dependências do pacote

$ ./configure

Senão ocorrer nenhum erro de dependências, segue para próximo passo

Compilar o pacote

$ make

Por fim a instalação do pacote

# make install

Page 40: Minicurso linux

Gerenciadores de Janelas (X11)

O gerenciador de janelas controla o posicionamento e aparência das janelas dentro do servidor X em uma interface gráfica.

Atualmente existe centenas de gerenciadores de janelas para Linux, entre as mais comuns são: Gnome, KDE, XFCE, LXDE, Mate (fork do Gnome2), Unity, Fluxbox, OpenBox.

No Linux é possível ter mais de um gerenciador de janelas (ambiente gráfico) instalados, marcando qual gerenciador de janelas que deseja usar no gerenciador de login.

Page 41: Minicurso linux

Certificações Linux [1/2]

LPI

A certificação LPI são divididos em 3 níveis

LPIC-1: Administrador Linux nível Júnior (exames 101 e 102)

LPIC-2: Administrador Linux nível Pleno (exames 201 e 202)

LPIC-3: Administrador Linux nível Sênior (Especialista) (exames 300, 303 ou 304)

Cada exame possui 60 questões, a pontuação é de 200 a 800, para conseguir êxito nos exames da LPI, o candidato deve obter maior do que 500 em cada exame.

Provas são eletrônicas pela Prometric e Vue

Ementa de cada exame da LPI

https://www.lpi.org/certification/get-certified-lpi/

Page 42: Minicurso linux

Certificações Linux [2/2]

Red Hat

Lista dos exames de certificação da Red Hat

https://www.redhat.com/pt-br/services/all-certifications-exams

Os exames são hand-ons, o que o torna os melhores indicadores de sua proficiência.

Como é realizado o exame da Red hat ?

O exame é realizado em uma estação de teste individual desenvolvida pela Red Hat.

Page 43: Minicurso linux

Referências

Guia foca: http://www.guiafoca.org/

Viva o Linux: https://www.vivaolinux.com.br

Mundo da Computação Integral: https://mundodacomputacaointegral.blogspot.com.br/