Vous êtes sur la page 1sur 37

Linux - Módulo Básico

Juliana Camilo Inácio

Universidade do Oeste de Santa Catarina


Área de Ciências Exatas e Tecnológicas

juliana.inacio@unoesc.edu.br

15 de Setembro de 2018

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 1 / 37


Sumário

Tópicos que serão abordados no curso:

1 Instalação do sistema operacional e principais pacotes.


2 Conhecendo o terminal e introdução aos principais comandos.
3 Editor de texto VI.
4 Gerenciamento de usuários e grupos.
5 Permissão de acesso aos arquivos.

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 2 / 37


Introdução

O Linux possui diversas caracterı́sticas que o diferencia dos outros


sistemas operacionais e o aproxima do Unix;

Os principais motivos de sua escolha para determinadas aplicações


são a estabilidade e segurança;

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 3 / 37


Introdução

O Linux pode ser divido em três partes:


1 Hardware: que são os dispositivos fı́sicos, “o computador em si”, onde
o kernel é executado;
2 Kernel: que é o núcleo do sistema operacional, a parte mais próxima
do hardware. Composto de chamadas ao sistema, de acesso aos
dispositivos de entrada e saı́da e gerência dos recursos da máquina;
3 Shell: que é o nome genérico de uma classe de programas que
funciona como interpretador de comandos e linguagens de programação
script (interpretada) no Unix. O shell é a interface entre o usuário e o
kernel. O usuário decide qual shell deseja utilizar. O padrão do Linux é
o bash, mas existem outros tipos (Csh, Ksh, Tcsh).

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 4 / 37


Introdução

Figura: Partes do Linux.

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 5 / 37


Introdução

Caracterı́sticas do Linux:
Sistema operacional multitarefa: Vários programas (processos) são
executados “simultaneamente”.
Na verdade são executados seqüencialmente, o kernel escalona a
execução deles e reserva recursos de hardware (intervalo de tempo,
memória RAM, espaço no disco rı́gido).
Sistema operacional multiusuário: permite que mais de um usuário
acesso o computador simultaneamente.
Pode ser feito por terminais virtuais no mesmo computador ou por
acesso remoto, usando terminais fı́sicos.
Cada usuário possui propriedade de arquivo e autorizações relacionadas
a ele.
Tipos de usuário: root (superusuário), no prompt (terminal de
comando) usa #; comuns, no prompt usa $.

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 6 / 37


Introdução

Caracterı́sticas do Linux (continuação):

Memória virtual: Permite que programas maiores do que a memória


disponı́vel sejam executados. O SO mantém na memória as partes do
programa que estejam exclusivamente em uso, deixando o restante no
HD.

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 7 / 37


Introdução

Sistemas de arquivos no Linux:


As informações são organizadas em arquivos (Ex,: textos, imagens,
scripts, etc ...);
Nomes de arquivos com até 255 caracteres (permite mais de um “.”);
Diferencia letras maiúsculas e minúsculas;
Não permite os seguintes caracteres especiais em nomes de arquivos
(Ex.: !, @, #, $, %, &(, ), [, ], ”, ?, —, ;, ¡, ¿, ’, +, -, =, /)

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 8 / 37


Introdução

Tipos de arquivos:

Arquivo comum: Texto ASCII e não ASCII, arquivos de comando


(shell script) e binários executáveis;

Diretórios: São arquivos que contêm os nomes de arquivos que estão


armazenados como um grupo. Agrupamento arbitrário;
Links: Arquivo que faz referência a outro arquivo ou diretório;
Links Diretos (é uma espécie de backup);
Links Simbólicos (semelhante ao atalho do Windows);

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 9 / 37


Introdução

Estrutura de diretórios no Linux:

A árvore de diretório do Linux segue a FHS (Filesystem Hierarchy


System) que é um subpadrão do LSB (Linux Standard Base).

Ela é dividida em ramificações para permitir a utilização de vários


dispositivos

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 10 / 37


Introdução
Estrutura de diretórios no Linux:
/ – diretório raiz;
/boot – Kernel do Sistema;
/proc – Sistema de arquivos virtual de informação do kernel;
/dev – Arquivos de dispositivo de hardware;
/tmp – Arquivos temporários;
/etc – Arquivos de configuração do sistema;
/bin – Comandos essenciais do sistema;
/mnt – Ponto de montagem temporário para sistemas de arquivos;
/opt – Pacotes de software adicional;
/sbin – Comandos essenciais de adm. do sistema;
/var – Dados variáveis;
/home – Diretório do usuário.

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 11 / 37


Criação da máquina virtual

Figura: Criação da máquina virtual.

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 12 / 37


Criação da máquina virtual

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 13 / 37


Criação da máquina virtual

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 14 / 37


Criação da máquina virtual

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 15 / 37


Criação da máquina virtual

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 16 / 37


Criação da máquina virtual

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 17 / 37


Criação da máquina virtual

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 18 / 37


Criação da máquina virtual

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 19 / 37


Instalação do sistema operacional

Figura: Seleção do arquivo .iso para instalação do SO na VM.

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 20 / 37


Instalação do sistema operacional

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 21 / 37


Instalação do sistema operacional

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 22 / 37


Instalação do sistema operacional

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 23 / 37


Instalação do sistema operacional

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 24 / 37


Instalação do sistema operacional

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 25 / 37


Instalação do sistema operacional

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 26 / 37


Instalação do sistema operacional

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 27 / 37


Instalação do sistema operacional

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 28 / 37


Instalação do sistema operacional

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 29 / 37


Instalação de pacotes/programas
Histórico

Antigamente os usuários tinham que compilar cada programa que


quisessem usar em seus sistemas GNU/Linux.
Quando o Debian nasceu, uma nova forma de gerenciamento de
pacotes tornou-se necessária.
Para este sistema, foi dado o nome de DPKG.
Enquanto isso, a distribuição Red Hat decidiu criar seu próprio
sistema de gerenciamento de pacotes, o RPM.
Um novo dilema rapidamente tomou conta das mentes dos criadores
do GNU/Linux.
Eles precisavam de um método rápido, prático e eficiente para instalar
pacotes, que deveriam gerenciar automaticamente as dependências e
cuidar dos arquivos de configuração ao atualizá-los.
E novamente, o Debian mostrou o caminho e deu vida ao APT
(Advanced Packaging Tool).
Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 30 / 37
Instalação de pacotes/programas

O apt-get é uma ferramenta desenvolvida para ser usada em


servidores e outras aplicações importantes.

Isto significa que ele foi desenvolvido para ser o mais confiável
possı́vel e nunca realizar nenhuma modificação potencialemente
perigosa para o sistema, a menos que autorizado por você.

Quando aluguma coisa acontece, ele para e fica esperando sua


confirmação antes de fazer qualquer outra coisa.

O problema desta abordagem é que às vezes um defeito em algum


pacote ou um download corrompido pode fazer com que o APT fique
“travado”, sem concluir a instalação de um determinado pacote por
causa de um erro qualquer e sem aceitar instalar outros pacotes antes
que o problema inicial seja resolvido.

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 31 / 37


Instalação de pacotes/programas

O apt-get é um utilitário de manuseamento de pacotes do APT,


utilizado por linha de comando.

Aqui, veremos apenas algumas opções de uso do APT, mas


ressalta-se que existem mais possibilidades/comandos relacionados a
esta ferramenta de gerenciamento de pacotes.

A menos que seja fornecida a opção -h ou - -help, um dos comandos


a seguir (entre outros) tem que estar presente junto com o comando
apt-get.

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 32 / 37


Instalação de pacotes/programas

Comandos úteis com o apt-get:


update: usado para resincronizar os ficheiros de ı́ndices de pacotes a
partir de suas fontes. Deve ser utilizado antes de um upgrade. Para
usuários de Linux, aconselha-se atualizar com uma certa frequência os
pacotes instalados no seu sistema.
Exemplo: sudo apt-get update

upgrade: usado para instalar as versões mais recentes de todos os


pacotes atualmente instalados no sistema, a partir de fontes
enumeradas em /etc/apt/sources.list.
O upgrade não remove pacotes existentes;
Pacotes já instalados e com novas versões a serem atualizadas não
serão atualizados caso essa atualização interfira no estado de instalação
de outro pacote.
Exemplo: sudo apt-get upgrade

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 33 / 37


Instação de pacotes/programas

dist-upgrade: além da função do upgrade, este comando lida de


forma inteligente com as alterações de dependências com as novas
versões de pacotes.
Pode remover pacotes, portanto use com atenção.
Exemplo: sudo apt-get dist-upgrade.

install: é seguido por um ou mais nomes de pacotes para instalação


ou atualização de pacotes.
Se for acrescentado o sinal de “−” ao nome do pacote (sem espaços),
o pacote será removido, caso esteja instalado. (Exemplo: sudo apt-get
install −nome do pacote.)
Se for acrescentado o sinal de “+” junto ao nome do pacote, indica
que o pacote será instalado. (Exemplo: sudo apt-get install
+nome do pacote.)
Comando mais utilizado: sudo apt-get install nome do pacote.

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 34 / 37


Instação de pacotes/programas

remove: remove os pacotes especificados.


Se acrescentado um sinal de + ao nome do pacote, este será instalado
ao invés de removido. (Exemplo: sudo apt-get remove
+nome do pacote).
Os pacotes são removidos, mas seus ficheiros de configuração do
sistema permanecem. (Exemplo: sudo apt-get remove
nome do pacote)
purge: idêntico ao remove, exceto pelo fato de que além de remover
os pacotes, remove também os ficheiros de configuração. (Exemplo:
sudo apt-get purge nome do pacote)

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 35 / 37


Instação de pacotes/programas

apt-cache: executa uma variedade de operações relacionadas aos


pacotes APT. Aqui, estudaremos apenas a operação search. Para
mais detalhes sobre as demais operações man apt-cache.

apt-cache search: executa uma busca de texto completo em todas


as listas de pacotes disponı́veis. Procura nos nomes dos pacotes e nas
descrições por uma ocorrência de expressão regular. (Exemplo: sudo
apt-cache search texto ou expressão)

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 36 / 37


Descompactadores

Caso seja feito o download de algum pacote/software que você deseja


instalar, sem usar o apt-get, que esteja compactado, abaixo seguem alguns
exemplos de descompactadores.

gunzip nomedoarquivo.zip
unrar x nomedoarquivo.rar
tar -xvf nomedoarquivo.tar
tar -vzxf nomedoarquivo.tar.gz
bunzip nomedoarquivo.bz2
tar -jxvf nomedoarquivo.tar.bz2

Lembrando que para mais detalhes sobre estes comandos e opções


utilizadas, utilize o man ou o - -help.

Juliana (UNOESC) Linux - Módulo Básico 15 de Setembro de 2018 37 / 37