Escolar Documentos
Profissional Documentos
Cultura Documentos
Versão: 28/09/2022
Revisões:
• 12/12/2012. Anderson Luiz Alves (andersonalves@celepar.pr.gov.br). Versão Inicial.
• 04/12/2013. Anderson Luiz Alves (andersonalves@celepar.pr.gov.br). Alterado
exercício que tinha mais de uma resposta correta.
• 28/09/2022. Daniel Lenharo de Souza (dlenharo@celepar.pr.gov.br) e Andre Luiz
Pires Batista dos Santos (andrebatista@celeparpr.gov.br). Ajustado para nova
versão do Ubuntu.
Sumário
Introdução............................................................................................................................ 6
Partições e Sistema de Arquivos......................................................................................6
Partições......................................................................................................................6
Master Boot Record (MBR)..........................................................................................6
Partições Primárias......................................................................................................6
Partições Estendidas e Lógicas...................................................................................6
Sistema de Arquivos.................................................................................................... 6
Área de Troca (Swap)..................................................................................................7
Linux.................................................................................................................................7
Estrutura de Diretórios.................................................................................................7
Dispositivos..................................................................................................................9
Exercícios.......................................................................................................................10
Ubuntu................................................................................................................................ 15
Área de Trabalho............................................................................................................22
Pacotes Mínimos............................................................................................................26
Ambiente Gráfico................................................................................................................29
Barra de Aplicativos....................................................................................................... 29
Fechar, Minimizar, Maximizar.........................................................................................30
Tamanho do Texto..........................................................................................................31
Navegador de Arquivos..................................................................................................32
Localização................................................................................................................ 32
Modo de Exibição...................................................................................................... 33
Barra Lateral.............................................................................................................. 34
Abas...........................................................................................................................34
Arquivos Ocultos........................................................................................................34
Configuração de Vídeo...................................................................................................35
Configuração de Som.................................................................................................... 36
Impressoras................................................................................................................... 37
Terminal.............................................................................................................................. 39
Editores de modo texto.................................................................................................. 40
nano........................................................................................................................... 40
vim............................................................................................................................. 40
Comandos Mínimos....................................................................................................... 42
man............................................................................................................................ 42
ls................................................................................................................................ 42
pwd............................................................................................................................ 44
cd............................................................................................................................... 45
echo........................................................................................................................... 46
cat.............................................................................................................................. 46
less.............................................................................................................................47
clear........................................................................................................................... 47
reset........................................................................................................................... 47
Exercícios.......................................................................................................................48
Terminal (parte 2)............................................................................................................... 52
Redirecionadores........................................................................................................... 52
>................................................................................................................................. 52
2>............................................................................................................................... 52
<<............................................................................................................................... 53
|.................................................................................................................................. 53
Caracteres Especiais (wildcards)...................................................................................54
Asterisco *..................................................................................................................54
3
Interrogação ?............................................................................................................54
Colchetes [ ]............................................................................................................... 54
Chaves { }.................................................................................................................. 54
Aspas “ ” e Barra para Trás \ (backslash)..................................................................55
Comandos de Arquivos e Diretórios...............................................................................55
mkdir.......................................................................................................................... 55
rmdir...........................................................................................................................56
cp............................................................................................................................... 56
mv.............................................................................................................................. 57
rm............................................................................................................................... 57
ln................................................................................................................................ 58
find............................................................................................................................. 58
df................................................................................................................................ 59
du............................................................................................................................... 59
Exercícios.......................................................................................................................60
Terminal (parte 3)............................................................................................................... 64
Comandos de Texto....................................................................................................... 64
head........................................................................................................................... 64
tail.............................................................................................................................. 64
tac.............................................................................................................................. 65
sort............................................................................................................................. 65
nl................................................................................................................................ 66
grep............................................................................................................................66
Comandos de Informações e Sistema...........................................................................67
date............................................................................................................................ 67
uptime........................................................................................................................ 68
uname........................................................................................................................ 68
free............................................................................................................................. 68
lspci............................................................................................................................ 69
lsusb...........................................................................................................................69
dmesg........................................................................................................................ 69
which..........................................................................................................................69
file.............................................................................................................................. 70
type............................................................................................................................ 70
reboot.........................................................................................................................70
poweroff..................................................................................................................... 70
mount......................................................................................................................... 70
umount....................................................................................................................... 71
Comandos de Processos...............................................................................................71
top.............................................................................................................................. 71
ps............................................................................................................................... 72
kill............................................................................................................................... 72
killall........................................................................................................................... 72
time............................................................................................................................ 73
watch..........................................................................................................................73
Exercícios.......................................................................................................................74
Contas e Acesso................................................................................................................ 78
Comandos de Contas e Acesso.....................................................................................78
whoami.......................................................................................................................78
who............................................................................................................................ 78
exit............................................................................................................................. 78
su............................................................................................................................... 78
4
sudo........................................................................................................................... 79
groups........................................................................................................................ 79
id................................................................................................................................ 79
adduser...................................................................................................................... 79
deluser....................................................................................................................... 80
addgroup....................................................................................................................80
delgroup..................................................................................................................... 80
passwd.......................................................................................................................81
chmod........................................................................................................................ 81
chown.........................................................................................................................82
chgrp.......................................................................................................................... 82
Exercícios.......................................................................................................................84
Gerenciamento de Pacotes................................................................................................88
sources.list..................................................................................................................... 88
Comandos......................................................................................................................88
apt-get........................................................................................................................88
apt-cache................................................................................................................... 90
dpkg........................................................................................................................... 90
Exercícios.......................................................................................................................91
Rede................................................................................................................................... 93
Rede IPv4...................................................................................................................... 93
Endereço de IP.......................................................................................................... 93
Máscara de Rede.......................................................................................................93
Endereço de Rede.....................................................................................................94
Gateway.....................................................................................................................95
IPs Especiais............................................................................................................. 95
Portas.........................................................................................................................95
Serviços de Rede...........................................................................................................96
DNS........................................................................................................................... 96
DHCP.........................................................................................................................96
Proxy..........................................................................................................................96
Comandos de Rede....................................................................................................... 97
ifconfig........................................................................................................................97
route...........................................................................................................................97
ping............................................................................................................................ 98
nmap.......................................................................................................................... 98
Terminal Remoto............................................................................................................ 98
Servidor SSH............................................................................................................. 98
ssh............................................................................................................................. 99
scp........................................................................................................................... 100
rsync........................................................................................................................ 100
Exercícios.....................................................................................................................102
5
Introdução
Este treinamento tem por objetivo transmitir os conhecimentos mínimos necessários para
prestar suporte no sistema operacional Ubuntu.
Para um melhor aproveitamento do conteúdo é necessário que seja acompanhado na
prática tudo que for apresentado. Durante o treinamento será realizado a instalação do
sistema operacional Ubuntu, este será utilizado durante todo o treinamento.
Partições
Para organizar o espaço de armazenamento do computador, o espaço é dividido em
partes chamadas partições. Cada partição possui um sistema de arquivos, que define
como os dados serão organizados nessa área.
As partições geralmente são definidas durante a instalação do sistema operacional, mas
podem ser alteradas posteriormente.
O modelo de particionamento define como são organizadas as partições. Os sistemas
operacionais Linux e Windows utilizam o Modelo de Particionamento DOS.
Partições Primárias
São as partições definidas na tabela de partição presente na MBR, há uma limitação de
no máximo 4 partições primárias.
Sistema de Arquivos
Sistema de Arquivos é a estrutura em que os dados dos arquivos são organizados na
área de armazenamento. Este é responsável por organizar arquivos e diretórios, sabendo
6
onde está o arquivo na área de armazenamento, qual seu tamanho, data de modificação,
permissões de acesso, entre outras características.
Existem vários sistemas de arquivos, cada um com suas características específicas. O
principal sistema de arquivos utilizado no Windows é o ntfs. Para o Linux há vários
sistemas de arquivos, entre eles estão o ext4, ext3, xfs, reiserfs.
Linux
Linux é um sistema operacional livre com código fonte aberto. O termo livre não está
relacionado com custo, e sim com a liberdade de copiar, estudar, modificar e melhorar.
Ele é organizado em distribuições, sendo que cada distribuição possui um conjunto de
ferramentas para atender determinado público. Por ser livre também existe distribuições
baseadas em outras distribuições. Exemplos de distribuições: Debian, Slackware, Redhat,
Ubuntu.
Estrutura de Diretórios
No Windows os dispositivos de armazenamento são acessados por letras (C: , D: , etc…).
No Linux o diretório raiz é o / (barra), e todo o sistema é acessado a partir dele. Os
dispositivos de armazenamento são montados dentro de diretórios, isso significa que o
diretório / pode estar em uma partição e o subdiretório /home pode estar em outra.
/bin
Executáveis binários.
/sbin
Executáveis binários de sistema, geralmente necessita de permissões administrativas.
7
/lib
Bibliotecas de sistema, os arquivos .so são parecidos com os arquivos .dll do Windows.
/usr
Executáveis binários, bibliotecas e documentação de aplicativos. Possui diretórios
como /usr/bin, /usr/sbin, /usr/lib.
/etc
Arquivos de configurações.
/dev
Dispositivos conectado ao sistema, como dispositivos usb e disco rígido.
/proc
Informações sobre processos do sistema, programas em execução.
/var
Variáveis, como arquivos de banco de dados e logs de sistema.
/tmp
Arquivos temporários criados pelo sistema ou por usuários.
/boot
Arquivos relacionados a inicialização do sistema.
/srv
Dados de aplicativos de serviço do sistema.
/opt
Aplicativos opcionais, aplicativos externos que não fazem parte da distribuição Linux.
/mnt
Diretório para montar sistemas de arquivos temporariamente.
/media
Diretório para montar dispositivos removíveis, como CD/DVD.
8
/home
Diretório para armazenar os arquivos dos usuários.
/root
Diretório para armazenar arquivos do usuário root.
Dispositivos
O diretório /dev possui arquivos especiais para os dispositivos conectados ao sistema.
/dev/sda1
Dispositivo que representa a primeira partição do primeiro HD. As partições primárias
aparecem com número de 1 a 4, as partições lógicas aparecem a partir do 5.
/dev/sr0
Representa drive de CD/DVD, os próximos aparecem como /dev/sr1, /dev/sr2 e assim por
diante.
/dev/null
Dispositivo nulo, ignora tudo que é escrito nele. Uma utilidade é redirecionar a saída de
comandos de terminal para que não apareça na tela.
/dev/zero
Dispositivo que retorna bytes de valor zero.
/dev/random
Dispositivo que retorna bytes aleatórios. A entropia é obtida a partir de movimentos do
mouse, teclas digitadas e outras informações. Quando a entropia acaba, o dispositivo
espera até que mais dados estejam disponíveis.
/dev/urandom
Dispositivo que retorna bytes pseudo aleatórios sem precisar esperar por mais entropia.
9
Exercícios
1. Partição é:
a) Memória secundária.
b) Etapa responsável por carregar o sistema operacional.
c) Divisão da área de armazenamento.
d) Estrutura para organizar os arquivos e diretórios na área de armazenamento.
2. Partição Primária é:
a) Memória secundária.
b) Etapa responsável por carregar o sistema operacional.
c) Divisão da área de armazenamento, é estruturada por uma lista em que cada
partição tem a referência da próxima partição.
d) Divisão da área de armazenamento, definida na tabela de partição presente na
MBR.
e) Estrutura para organizar os arquivos e diretórios na área de armazenamento.
3. Partição Lógica é:
a) Memória secundária.
b) Etapa responsável por carregar o sistema operacional.
c) Divisão da área de armazenamento, é estruturada por uma lista em que cada
partição tem a referência da próxima partição.
d) Divisão da área de armazenamento, definida na tabela de partição presente na
MBR.
e) Estrutura para organizar os arquivos e diretórios na área de armazenamento.
4. MBR é:
a) Memória secundária.
b) Estrutura que contém o código de inicialização e características de partições.
c) Divisão da área de armazenamento.
d) Estrutura para organizar os arquivos e diretórios na área de armazenamento.
5. Sistema de Arquivos é:
a) Memória secundária.
b) Estrutura que contém o código de inicialização e características de partições.
c) Divisão da área de armazenamento.
d) Estrutura para organizar os arquivos e diretórios na área de armazenamento.
10
6. O principal Sistema de Arquivos utilizado pelo Windows é:
a) ext4
b) ext3
c) xfs
d) reiserfs
e) ntfs
7. Swap é:
a) Divisão da área de armazenamento.
b) Memória secundária.
c) Estrutura para organizar os arquivos e diretórios na área de armazenamento.
d) Etapa responsável por carregar o sistema operacional.
8. Diretório /bin:
a) Contém arquivos temporários.
b) Contém arquivos de inicialização do sistema.
c) Contém arquivos dos usuários.
d) Contém dispositivos conectados ao sistema.
e) Contém bibliotecas do sistema.
f) Contém executáveis binários.
g) Contém arquivos de configurações.
9. Diretório /lib:
a) Contém arquivos temporários.
b) Contém arquivos de inicialização do sistema.
c) Contém arquivos dos usuários.
d) Contém dispositivos conectados ao sistema.
e) Contém bibliotecas do sistema.
f) Contém executáveis binários.
g) Contém arquivos de configurações.
11
10. Diretório /etc:
a) Contém arquivos temporários.
b) Contém arquivos de inicialização do sistema.
c) Contém arquivos dos usuários.
d) Contém dispositivos conectados ao sistema.
e) Contém bibliotecas do sistema.
f) Contém executáveis binários.
g) Contém arquivos de configurações.
12
14. Diretório /home:
a) Contém arquivos temporários.
b) Contém arquivos de inicialização do sistema.
c) Contém arquivos dos usuários.
d) Contém dispositivos conectados ao sistema.
e) Contém bibliotecas do sistema.
f) Contém executáveis binários.
g) Contém arquivos de configurações.
15. /dev/sdb é:
a) Dispositivo de um drive de CD/DVD.
b) Dispositivo que retorna bytes de valor zero.
c) Dispositivo de um HD conectado ao sistema.
d) Dispositivo que retorna bytes aleatórios.
e) Dispositivo de uma Partição.
f) Dispositivo que ignora tudo que recebe.
16. /dev/sdb2 é:
a) Dispositivo de um drive de CD/DVD.
b) Dispositivo que retorna bytes de valor zero.
c) Dispositivo de um HD conectado ao sistema.
d) Dispositivo que retorna bytes aleatórios.
e) Dispositivo de uma Partição.
f) Dispositivo que ignora tudo que recebe.
17. /dev/sr0 é:
a) Dispositivo de um drive de CD/DVD.
b) Dispositivo que retorna bytes de valor zero.
c) Dispositivo de um HD conectado ao sistema.
d) Dispositivo que retorna bytes aleatórios.
e) Dispositivo de uma Partição.
f) Dispositivo que ignora tudo que recebe.
13
18. /dev/null é:
a) Dispositivo de um drive de CD/DVD.
b) Dispositivo que retorna bytes de valor zero.
c) Dispositivo de um HD conectado ao sistema.
d) Dispositivo que retorna bytes aleatórios.
e) Dispositivo de uma Partição.
f) Dispositivo que ignora tudo que recebe.
19. /dev/zero é:
a) Dispositivo de um drive de CD/DVD.
b) Dispositivo que retorna bytes de valor zero.
c) Dispositivo de um HD conectado ao sistema.
d) Dispositivo que retorna bytes aleatórios.
e) Dispositivo de uma Partição.
f) Dispositivo que ignora tudo que recebe.
20. /dev/random é:
a) Dispositivo de um drive de CD/DVD.
b) Dispositivo que retorna bytes de valor zero.
c) Dispositivo de um HD conectado ao sistema.
d) Dispositivo que retorna bytes aleatórios.
e) Dispositivo de uma Partição.
f) Dispositivo que ignora tudo que recebe.
14
Ubuntu
O Ubuntu é uma distribuição baseada no Linux Debian e possui o objetivo de ser um
Linux fácil de usar.
Novas versões são liberadas a cada 6 meses com atualizações de segurança por 18
meses (1 ano e meio). A cada 4 versões (2 anos) é lançado uma versão com suporte
estendido que é identificada pela sigla LTS (Long Term Support). As versões LTS
possuem atualizações de segurança por 3 anos para desktop e 5 anos para servidor.
A nomenclatura das versões do Ubuntu é composta pelo ano e mês de lançamento mais o
codinome. Quase todos codinomes estão em ordem alfabética para que seja fácil saber
qual versão é mais recente.
A versão escolhida para Celepar é o Ubuntu 20.04 LTS (Focal Fossa) 64bits. Utilize a
versão 32bits somente se o 64bits não for suportado pelo hardware do equipamento.
Diferente das outras LTS, essa versão possui atualizações de segurança por 5 anos tanto
para desktop quanto para servidor.
Obtenha o disco de instalação do Ubuntu 20.04 Desktop 64bits, a imagem .ISO está
disponível no endereço:
http://wiki.gga.celepar.parana/programas_free/iso/ubuntu
ou no site oficial:
http://www.ubuntu.com
Para instalar em uma máquina física a imagem .ISO precisa ser gravada em DVD como
imagem (não como arquivo).
Reinicie o computador e inicie pelo DVD. Dependendo da configuração do computador
será necessário alterar a ordem de boot na BIOS, e escolher para iniciar pelo drive de
DVD.
Assim que a instalação inicializar, selecione o idioma “Português do Brasil”.
15
Em Experimentar você pode explorar o sistema operacional Ubuntu direto do disco de
DVD sem ter que instalar no computador. Explore a vontade e depois inicie a instalação.
16
Na tela do tipo de instalação selecione “Opção avançada”. Essa opção permite configurar
as partições manualmente.
No linux os HDs aparecem como “/dev/sd”, sendo o “sda” o primeiro HD, “sdb” o segundo,
e assim por diante.
17
Usaremos 3 partições:
/
O barra é a Raiz, onde todo o sistema é instalado. (No Windows seria o drive C:)
Swap
Área de troca, usada como área temporária. (Seria o arquivo de paginação no Windows)
/home
Todos arquivos criados pelo usuário ficam a partir desse caminho. (Seria o “C:\Documents
and Settings” ou “C:\Users” no Windows)
Se for necessário reinstalar o sistema sem apagar os arquivos dos usuários, a partição
/home NÃO deverá ser formatada, devendo-se manter o sistema de arquivo e o tamanho
da partição inalterados.
Para apagar todas as partições selecione o “/dev/sda” e clique no botão “Nova tabela de
partição”, na mensagem de confirmação clique em “continuar” para apagar tudo.
Agora selecione o “espaço livre” do “/dev/sda” e clique no botão “Adicionar” para criar uma
nova partição.
18
Crie cada partição conforme o esquema a seguir:
19
Na tela de fuso horário, selecione “Sao Paulo” e clique em continuar.
Em “Layout do teclado”, selecione “Português (Brasil)” caso seu teclado seja padrão
ABNT (teclado com cedilha), e clique em continuar.
20
Na tela “Quem é você?”, nos campos seu nome, nome de usuário, senha e confirmação
de senha, digite a palavra “parana” minúsculo e sem acentuação.
21
Assim que o sistema iniciar, será apresentado a tela de login.
A sessão Ubuntu utiliza aceleração gráfica da placa de vídeo. O Ubuntu é mais “leve” em
computadores de menor capacidade.
Área de Trabalho
O ambiente gráfico padrão do Ubuntu 20.04 é o Gnome. Existe outras interfaces como
KDE, Xfce, mas aqui abordaremos a interface padrão dessa versão do Ubuntu.
22
Do lado esquerdo está a barra de aplicativos, ela é parecida com a barra de tarefas do
Windows7, mas está do lado esquerdo.
O primeiro botão lá em cima na barra de aplicativos é o Dash, ali você encontra todos os
aplicativos.
Ao centro você encontra a data e hora.
No canto superior direito você encontra rede, volume e o menu de configurações.
No menu de configurações tem configurações do sistema, monitores, atualizações,
impressoras, bloquear tela e desligar.
23
No canto superior esquerdo está a lista de aplicativos. Para encontrar um aplicativo digite
o nome do programa ou clique botão, na parte inferior da barra de aplicativo, para ver a
lista completa.
Calculadora.
Gedit: editor de texto simples, sem formatação, parecido com bloco de notas.
24
LibreOffice Ompress: editor de apresentação, parecido com o MS Powerpoint.
25
Pacotes Mínimos
Agora vamos instalar os pacotes mínimos, os detalhes sobre como funciona cada
comando será visto mais a frente.
Clique no botão Dash "atividades" no canto superior esquerdo, digite terminal e abra.
26
Vamos apagar a lista de repositórios externos e instalar a lista atualizada, execute os
comandos:
> /etc/apt/sources.list
wget http://ubuntu.celepar.parana/ubuntu-repositorios.deb
dpkg -i ubuntu-repositorios.deb
27
Caso apareça um erro dizendo que está sendo utilizado por outro processo, aguarde uns
minutos e tente novamente.
Na confirmação para instalar os pacotes responda s de sim (ou y se estiver em inglês).
Reinicie o computador.
28
Ambiente Gráfico
Barra de Aplicativos
Você pode organizar os atalhos da sua barra de aplicativos, é recomendado que se
remova os que não são utilizados e adicione os que são.
Para fixar permanentemente ou remover, aperte com o botão direito no ícone do aplicativo
na barra e selecione bloquear ou desbloquear.
29
Para alterar a ordem dos atalhos, clique e segure sobre o ícone até que ele solte, depois
movimente para cima ou para baixo.
30
Tamanho do Texto
Para alterar o tamanho do texto de todos os programas, clique no botão de configurações
no canto superior direito e escolha configurações de sistema.
31
Navegador de Arquivos
Localização
Para digitar um caminho específico entre no menu Ir e depois Localização, ou use a tecla
de atalho CTRL+L.
32
Modo de Exibição
Para alterar o modo de exibição, entre no menu Ver e escolha entre Ícones ou Lista.
Ícones (CTRL+1)
Lista (CTRL+2)
Através do menu Ver também é possível Ampliar (CTRL++), Reduzir (CTRL+-) ou voltar
os ícones ao Tamanho normal (CTRL+0).
33
Barra Lateral
No menu Ver / Barra lateral, é possível exibir/ocultar (F9) a barra lateral, ou alternar entre
Locais ou Árvore. No modo Locais é exibido os locais principais, como pasta pessoal,
mapeamentos de rede, entre outros. No modo árvore é possível navegar entre os
diretórios e subdiretórios.
Abas
Para abir uma nova aba, entre no menu Arquivo / Nova aba (CTRL+T). Para nova janela
use Arquivo / Nova janela (CTRL+N). Também é possível exibir um painel extra lado a
lado, através do menu Ver / Painel extra (F3).
Arquivos Ocultos
No Linux todos arquivos ou diretórios que inicie com um ponto é um arquivo oculto. Para
exibir os arquivos ocultos use o menu Ver / Mostrar arquivos ocultos ou a tecla de atalho
CTRL+H.
34
Configuração de Vídeo
A resolução da tela pode ser alterada em monitores, presente no botão de configurações
no canto superior direito. O ideal é que esteja configurado para a resolução nativa do
monitor, na maioria das vezes isso é detectado automaticamente.
35
Configuração de Som
O volume do sistema pode ser alterado no ícone do som, no canto superior direito perto
do relógio. Há outras configurações que podem ser acessadas através da opção
Configurações de som.
Na guia Saída existe uma lista de dispositivos de saída de som. O som é reproduzido no
dispositivo que estiver selecionado.
Em um notebook por exemplo, poderá existir a saída de som interna e uma interface
HDMI. Para escolher por onde o som será reproduzido é só selecionar o dispositivo de
saída desejado. O mesmo se aplica para os dispositivos de entrada.
36
Impressoras
Para ver a lista de impressoras, clique no botão de configurações no canto superior direito
e selecione Impressoras.
37
Caso seja uma Impressora de Rede por IP selecione AppSocket/JetDirect e digite o IP da
impressora. (Note que impressora por IP é diferente de impressora Compartilhada).
38
Terminal
O terminal é uma interface de comunicação entre o usuário e o sistema através de
comandos de texto. No Linux o terminal é uma ferramenta extremamente poderosa, que
pode ser usada para administração do sistema tanto localmente quanto remotamente.
Na maioria das distribuições Linux, os terminais modo texto podem ser acessados pelas
teclas de atalho CTRL+ALT+F1 até CTRL+ALT+F6. Geralmente o CTRL+ALT+F7 e
CTRL+ALT+F8 é o ambiente gráfico. No terminal modo texto também é possível alternar
entre os terminais segurando a tecla ALT e apertando tecla para ESQUERDA ou DIREITA.
Para acessar o terminal em um ambiente gráfico, entre no menu principal e localize
terminal.
Sendo:
usuário: nome do usuário que você está logado.
computador: nome do computador em que você está.
diretório: diretório atual, o símbolo ~ (til) significa diretório pessoal.
$ para usuário normal ou # para usuário root.
As teclas para CIMA e para BAIXO servem para visualizar os comandos que foram
executados.
A combinação CTRL+C é para cancelar o comando que está sendo executado.
Para copiar e colar no terminal gráfico utilize o botão direito do mouse ou as combinações
CTRL+SHIFT+C e CTRL+SHIFT+V.
O terminal permite autocompletar nome de diretórios e arquivos através da tecla TAB.
39
Editores de modo texto
nano
Editor em modo texto.
Sintaxe:
nano <arquivo>
Nano é um editor de modo texto simples. Para abrir o nano, execute no terminal o
comando “nano nomeArquivo”, sendo “nomeArquivo” o nome do arquivo que se deseja
criar ou editar.
Para recortar uma linha aperte CTRL+K, para colar aperte CTRL+U.
Para sair aperte CTRL+X, aparecerá a confirmação para salvar o arquivo.
Resumo:
CIMA, BAIXO, ESQUERDA, DIREITA, PAGE UP, PAGE DOWN, HOME, END = teclas de
navegação pelo texto.
CTRL+K = recortar linha.
CTRL+U = colar linha.
CTRL+X = sair.
vim
Editor em modo texto.
Sintaxe:
vim <arquivo>
Vim é um editor modo texto avançado, que possui diversas funcionalidades. Para abrir
execute no terminal o comando “vim nomeArquivo”, sendo “nomeArquivo” o nome do
arquivo que se deseja criar ou editar.
40
Inicialmente o vim está no modo comando, para editar o texto aperte INSERT, note que no
canto inferior do terminal aparecerá escrito “inserção”, nesse modo é possível editar o
texto. Apertando INSERT novamente o vim passará para o modo substituição, que
substitui o texto em vez de adicionar.
Resumo:
CIMA, BAIXO, ESQUERDA, DIREITA, PAGE UP, PAGE DOWN, HOME, END = teclas de
navegação pelo texto.
INSERT = modo edição e substituição.
ESC = sair do modo edição.
yy = copiar linha.
dd = recortar linha.
41
v = seleção visual com as teclas de navegação, y copiar, d recortar.
p = colar.
u = desfazer.
CTRL+r = refazer.
/ = procurar.
: = linha de comando.
:q! = sair sem salvar.
:wq! = sair salvando.
Comandos Mínimos
man
Manual.
Sintaxe:
man <comando ou arquivo>
Navegue pelo documento com as teclas direcionais para CIMA e para BAIXO, PAGE UP e
PAGE DOWN. A tecla HOME vai para o início e a END para o fim. Para procurar no
documento aperte a tecla / (barra para frente), digite a palavra desejada e pressione
ENTER. Pressione a tecla N para as próximas ocorrências, ou SHIFT+N para as
ocorrências anteriores. Aperte a tecla Q para sair.
Exemplos:
man ls
man interfaces
ls
(list)
Lista o conteúdo de um diretório.
Sintaxe:
ls [opções] [arquivo ou diretório]
42
Opções:
• -1 = Exibe um por linha.
• -l = Exibe lista longa, com tipo do arquivo, permissões, número de referências
(interno), dono, grupo, tamanho (interno), data e nome.
• -a = Exibe todos arquivos, inclusive ocultos.
• -d = Lista o diretório sem listar o conteúdo.
O comando ls possui diversos parâmetros, a lista completa pode ser obtida com: man ls
Sendo:
- tipo
rw-r--r-- permissões
1 referências
alacn dono
alacn grupo
6 tamanho
Out 18 11:21 data
doc.txt nome
O tipo significa:
- arquivo
d diretório
l link simbólico
b arquivo de bloco
c arquivo de caractere
p named pipe
s socket
? outro
43
sendo:
r leitura
w escrita
x execução
Exemplos:
Lista o conteúdo do diretório atual.
ls
Lista o conteúdo do diretório Documentos que está dentro do diretório atual. Note que o
Linux é sensível a maiúsculas e minúsculas, isso significa que Documentos com a letra D
maiúscula não é a mesma coisa que documentos com a letra d minúscula.
ls Documentos
pwd
(print working directory)
Exibe o caminho do diretório atual.
44
O símbolo ~ (til) significa o diretório pessoal do usuário atual, no caso do usuário “parana”
o diretório pessoal é “/home/parana”.
cd
(change directory)
Altera o diretório atual, entra em outro diretório.
Sintaxe:
cd <diretório>
45
Exemplos:
diretório atual: /home/parana
cd Documentos/
diretório atual: /home/parana/Documentos
cd manuais/
diretório atual: /home/parana/Documentos/manuais
cd ..
diretório atual: /home/parana/Documentos
cd ../Downloads/
diretório atual: /home/parana/Downloads
cd /home
diretório atual: /home
cd -
diretório atual: /home/parana/Downloads
cd
diretório atual: /home/parana/
echo
Escreve na tela.
Sintaxe:
echo <mensagem>
Exemplos:
echo alguma coisa
echo outra coisa
cat
Concatena arquivos e exibe na tela.
Sintaxe:
cat <arquivos>
46
Exemplos:
cat /etc/hostname
cat arquivo1.txt arquivo2.txt
less
Exibe o conteúdo de arquivos de forma paginada com a opção de rolagem para trás e
para frente.
Sintaxe:
less <arquivo>
Navegue pelo documento com as teclas direcionais para CIMA e para BAIXO, PAGE UP e
PAGE DOWN. A tecla HOME vai para o início e a END para o fim. Para procurar no
documento aperte a tecla / (barra para frente), digite a palavra desejada e pressione
ENTER. Pressione a tecla N para as próximas ocorrências, ou SHIFT+N para as
ocorrências anteriores. Aperte a tecla Q para sair.
Exemplos:
less /proc/cpuinfo
less /var/log/Xorg.0.log
clear
Limpa terminal.
reset
Reinicia terminal. Limpa a tela e retorna configurações (ex: cores das letras).
47
Exercícios
1. O comando man:
a) Escreve na tela.
b) Lista o conteúdo de um diretório.
c) Exibe o manual de um comando.
d) Exibe o caminho do diretório atual.
e) Exibe o conteúdo de um arquivo.
2. O comando ls:
a) Escreve na tela.
b) Lista o conteúdo de um diretório.
c) Exibe o manual de um comando.
d) Exibe o caminho do diretório atual.
e) Exibe o conteúdo de um arquivo.
3. O comando pwd:
a) Escreve na tela.
b) Lista o conteúdo de um diretório.
c) Exibe o manual de um comando.
d) Exibe o caminho do diretório atual.
e) Exibe o conteúdo de um arquivo.
4. O comando cd:
a) Escreve na tela.
b) Lista o conteúdo de um diretório.
c) Entra em um diretório.
d) Exibe o caminho do diretório atual.
e) Exibe o conteúdo de um arquivo.
5. O comando cat:
a) Exibe o manual de um comando.
b) Lista o conteúdo de um diretório.
c) Entra em um diretório.
d) Exibe o caminho do diretório atual.
e) Exibe o conteúdo de um arquivo.
48
6. O comando less:
a) Exibe o manual de um comando.
b) Lista o conteúdo de um diretório.
c) Entra em um diretório.
d) Exibe o caminho do diretório atual.
e) Exibe o conteúdo de um arquivo.
7. O comando clear:
a) Limpa tela.
b) Apaga um arquivo.
c) Apaga o cache do computador.
d) Apaga todos arquivos.
e) Apaga somente os arquivos temporários.
8. O comando reset:
a) Reinicia o computador.
b) Reinicia o terminal.
c) Reinicia o ambiente gráfico.
d) Reinicia a configuração dos arquivos de sistema.
e) Reinicia o cache do computador.
9. O comando nano:
a) Exibe o manual de um comando.
b) Lista o conteúdo de um diretório.
c) Entra em um diretório.
d) Exibe o caminho do diretório atual.
e) É um editor de texto.
49
11. Escrever a mensagem “ola” na tela:
a) ls ola
b) cat ola
c) man ola
d) echo ola
e) write ola
50
16. A permissão drwxr-xr-x:
a) É um arquivo com acesso de leitura para todos.
b) É um arquivo que somente o dono pode modificar.
c) É um diretório com acesso de leitura para todos.
d) É um diretório com acesso total para grupo.
e) É um diretório com acesso total para todos.
17. Exibir o conteúdo do arquivo horario.txt que está dentro do diretório Documentos do
usuário atual:
a) cd ~/Documentos ; cat horario.txt
b) echo ~/Documentos/horario.txt
c) less /horario.txt
d) ls /home/parana/Documentos/horario.txt
e) pwd ~/Documentos/horario.txt
19. Criar um arquivo de texto chamado treinamento.txt com a palavra aula em 5 linhas:
a) nano treinamento.txt aula aula aula aula aula
b) Executar “nano treinamento.txt”, apertar INSERT, digitar a palavra “aula”, apertar
CTRL+C e depois CTRL+V cinco vezes.
c) Executar “vim treinamento.txt”, apertar INSERT, digitar a palavra “aula”, apertar
ESC, apertar yy, apertar p 4 vezes, depois digitar :wq!
d) Executar “nano treinamento.txt”, apertar INSERT, digitar a palavra “aula”, apertar
CTRL+K, apertar CTRL+U cinco vezes, apertar CTRL+X, e responder sim.
e) echo treinamento.txt aula aula aula aula aula
51
Terminal (parte 2)
Redirecionadores
>
> Redireciona a saída do comando para um arquivo substituindo este arquivo.
>> Redireciona a saída do comando para um arquivo adicionando ao arquivo.
Exemplos:
Escreve “alguma coisa” no arquivo “msg.txt”.
echo alguma coisa > msg.txt
2>
Redireciona a saída de erro para um arquivo.
52
Exemplos:
Salva as mensagens de erro no arquivo “erros.txt”.
ls inexistente.txt 2> erros.txt
O dispositivo “/dev/null” ignora tudo que recebe, sendo assim as mensagens de erros não
serão exibidas.
ls inexistente.txt 2> /dev/null
<<
Recebe texto até encontrar o marcador de final.
Exemplos:
cat <<FIM
linha1
linha2
FIM
Retorna:
linha1
linha2
|
(pipe)
O pipe (barra vertical) redireciona a saída do comando para outro comando.
Exemplos:
Lista o conteúdo do diretório “/bin” e visualiza com o comando “less”.
ls /bin | less
53
Caracteres Especiais (wildcards)
Asterisco *
Asterisco representa vários caracteres.
Exemplos:
cat doc*.txt
Inclui: documento1.txt, doc2.txt, documento_fiscal.txt
Interrogação ?
Interrogação representa um único caractere.
Exemplos:
cat doc?.txt
Inclui: doc1.txt, doc2.txt, doca.txt
Colchetes [ ]
Colchetes define quais caracteres. Pode ser uma faixa de caracteres.
Exemplos:
cat doc[1-3].txt
Inclui: doc1.txt, doc2.txt, doc3.txt
cat d[ae]do.txt
Inclui: dado.txt, dedo.txt
cat local_[a-cxy].txt
Inclui: local_a.txt, local_b.txt, local_c.txt, local_x.txt, local_y.txt
Chaves { }
Inclui várias alternativas separadas por vírgula.
Exemplos:
echo {casa,sobrado,apartamento}.txt
Inclui: casa.txt, sobrado.txt, apartamento.txt
54
Aspas “ ” e Barra para Trás \ (backslash)
O caractere espaço é separador de parâmetros, para que o espaço seja tratado como
parte do nome é necessário colocar o nome do arquivo entre aspas simples ou dupla.
Outra forma de incluir o espaço é colocar o caractere de escape \ (barra para trás) antes
de cada espaço.
Nesse exemplo, em vez de ler o arquivo chamado “documento fiscal.txt”, seria lido dois
arquivos, o “documento” e o “fiscal.txt”:
cat documento fiscal.txt
Para que o espaço faça parte do nome do arquivo coloque entre aspas:
cat "documento fiscal.txt"
mkdir
(make directory)
Cria diretório.
Sintaxe:
mkdir [opções] <diretório>
Opções:
• -p = Cria caminho completo caso não exista.
Exemplos:
Cria diretório “manuais” no diretório atual.
mkdir manuais
55
rmdir
(remove directory)
Remove diretório vazio.
Sintaxe:
rmdir <diretório>
Exemplos:
Remove diretório manuais do diretório atual.
rmdir manuais
cp
(copy)
Copia arquivo.
Sintaxe:
cp [opções] <origem> <destino>
Opções:
• -r = Copia diretório recursivamente com todo seu o conteúdo.
Exemplos:
Copia arquivo “/proc/cpuinfo” para o diretório atual com o nome de “processador.txt”.
cp /proc/cpuinfo ./processador.txt
56
mv
(move)
Move ou renomeia arquivo ou diretório.
Sintaxe:
mv <origem> <destino>
Exemplos:
Move o arquivo “processador.txt” para dentro do diretório “Documentos” do diretório atual.
mv processador.txt Documentos/
rm
(remove)
Remove arquivo.
Sintaxe:
rm [opções] <arquivo>
Opções:
• -r = Remove diretório recursivamente (inclui todo o conteúdo).
• -f = Não pede confirmação para remover o arquivo.
Exemplos:
Remove arquivo “memoria.txt”.
rm Documentos/memoria.txt
57
ln
(link)
Cria links (atalhos).
Sintaxe:
ln -s <caminho> [destino]
Há dois tipos de links, o hard link e o link simbólico. O hard link é um novo nome para um
arquivo ou diretório, assim um arquivo ou diretório pode possuir mais de um nome mesmo
que em diretórios diferentes, a restrição é que precisa estar na mesma partição. O link
simbólico é um atalho para um caminho, não precisa estar na mesma partição, e é mais
usado que o hard link.
Para criar um link simbólico usa-se o comando “ln -s”, para criar um hard link usa-se “ln”
sem o parâmetro “-s”.
Com o comando “ls -l” é possível ver o destino dos links simbólicos.
Para remover um link use o comando “rm”.
Exemplos:
Cria atalho para “Documentos/importante”.
ln -s Documentos/importante
find
Procura arquivo ou diretório.
Sintaxe:
find [caminho] [expressão]
Expressões:
• -iname <nome> = Procura por nome, ignorando maiúsculas e minúsculas.
• -type <tipo> = Procura por tipo, sendo: d diretório; f arquivo; l link
• -size [sinal]<tamanho><sufixo> = Procura por tamanho. Sinal: + para maior que
o tamanho especificado e - para menor. Sufixo: k para kilobytes, M para megabytes
e G para gigabytes.
• -mtime [sinal]<dias> = Procura por data de modificação. Sinal: + para depois de,
e - para antes de.
• O símbolo ! (exclamação) representa negação, e pode ser usado antes de cada
expressão.
58
Exemplos:
Procura arquivo ou diretório que contenha a palavra trabalho no nome.
find -iname '*trabalho*'
df
(disk free)
Informa tamanho, espaço utilizado e disponível das partições.
Sintaxe:
df [opções] [caminho]
Opções:
• -h = Formato humano. Exibe o tamanho de forma legível em megabytes, gigabytes,
etc.
Exemplos:
df -h
du
(disk usage)
Estima o espaço utilizado de diretórios e arquivos.
Sintaxe:
du [opções] [caminho]
Opções:
• -h = Formato humano. Exibe o tamanho de forma legível em megabytes, gigabytes,
etc.
• -s = Exibe o total de cada argumento em vez de arquivo por arquivo.
Exemplos:
du -sh Documentos Downloads
59
Exercícios
1. O comando mkdir:
a) Remove diretório.
b) Copia arquivo.
c) Renomeia arquivo.
d) Copia diretório.
e) Cria diretório.
2. O comando rmdir:
a) Remove diretório.
b) Copia arquivo.
c) Renomeia arquivo.
d) Copia diretório.
e) Cria diretório.
3. O comando cp:
a) Remove arquivo.
b) Copia arquivo.
c) Renomeia arquivo.
d) Apaga diretório.
e) Cria diretório.
4. O comando mv:
a) Remove arquivo.
b) Copia arquivo.
c) Renomeia arquivo.
d) Copia diretório.
e) Cria diretório.
5. O comando rm:
a) Remove arquivo.
b) Copia arquivo.
c) Renomeia arquivo.
d) Copia diretório.
e) Cria diretório.
60
6. O comando ln:
a) Lista o conteúdo de um diretório.
b) Exibe uma lista detalhada de um diretório.
c) Escreve na tela.
d) Cria link simbólico.
e) Cria diretório.
7. O comando find:
a) Escreve na tela.
b) Exibe o conteúdo de um arquivo.
c) Cria arquivo.
d) Cria diretório.
e) Procura arquivo.
8. O comando df:
a) Exibe o tamanho de um diretório.
b) Exibe o tamanho de um arquivo.
c) Exibe o espaço utilizado das partições.
d) DF significa Disk Format, formata o disco.
e) DF significa Disk Find, procura um disco.
9. O comando du:
a) Exibe o tamanho de um arquivo ou diretório.
b) DU significa Disk Update, atualiza o disco.
c) DU significa Dump, faz um dump em um banco de dados.
d) Cria diretório.
e) Remove diretório.
61
11. Listar o conteúdo do diretório /home e adicionar no arquivo empresa.txt:
a) ls -l /home > empresa.txt
b) ls -l /home >> empresa.txt
c) ls -l /home 2> empresa.txt
d) cat /home > empresa.txt
e) echo /home >> empresa.txt
62
16. Procurar todos arquivos de extensão mp3 no /home:
a) find iname “*.mp3” /home
b) find /home -iname “*.mp3”
c) find -type mp3 /home
d) find /home -type mp3
e) find -type “*mp3*”
63
Terminal (parte 3)
Comandos de Texto
head
Exibe as primeiras linhas de um arquivo ou comando.
Sintaxe:
head [opções] [arquivo]
Opções:
• -n [linhas] = Quantidade de linhas para exibir.
Exemplos:
Exibe as primeiras 5 linhas do arquivo “lista.txt”.
head -n 5 lista.txt
tail
Exibe as últimas linhas de um arquivo ou comando.
Sintaxe:
tail [opções] [arquivo]
Opções:
• -n [linhas] = Quantidade de linhas para exibir.
• -f [arquivo] = Seguir arquivo, continua mostrando linhas adicionadas ao arquivo.
Use CTRL+C para parar.
• -F [arquivo] = Mesmo que -f mas se o arquivo for apagado e recriado, continua
seguindo o novo arquivo.
Exemplos:
Exibe as últimas 5 linhas do arquivo “lista.txt”.
tail -n 5 lista.txt
64
Seguir arquivo.
Abra um Terminal:
echo linha1 >> teste.txt
tail -F teste.txt
tac
Exibe o conteúdo de um arquivo em ordem inversa.
Sintaxe:
tac <arquivo>
Exemplos:
tac teste.txt
sort
Classificar em ordem alfabética.
Sintaxe:
sort [opções] [arquivo]
Opções:
• -r = Ordem inversa.
65
Exemplos:
echo '
manga
uva
goiaba
abacaxi
' | sort
nl
Numerar linhas.
Sintaxe:
nl [arquivo]
Exemplos:
echo '
manga
uva
goiaba
abacaxi
' | nl
grep
Exibe linhas que correspondem a um determinado padrão de expressão regular.
Sintaxe:
grep [opções] <padrão> [arquivo]
Opções:
• -i = Insensível a maiúsculas e minúsculas.
• -v = Inverso, mostra linhas que não correspondem ao padrão definido.
• -r = Recursivo, procura por todos arquivos dentro do diretório especificado.
• -s = Não exibe mensagens de erro.
Expressão Regular (regex) é uma combinação de caracteres estruturada para formar uma
determinada frase.
Alguns símbolos de Expressão Regular:
• . ponto: O símbolo ponto representa um único caractere qualquer.
• * asterisco: Asterisco representa repetição do caractere anterior, podendo se
repetir nenhuma ou várias vezes. Para representar um texto de qualquer tamanho
66
usa-se “.*” (ponto asterisco), com o ponto representando qualquer caractere e o
asterisco qualquer quantidade.
• [ ] colchetes: Usado para definir uma lista de caracteres, por exemplo “[abc]”
corresponde a uma única letra sendo ela “a”, “b” ou “c”. Utilize hífen para definir
faixa de caracteres, por exemplo “[a-z]” seria qualquer letra entre “a” e “z” inclusive.
Pode-se combinar as sequências, por exemplo “[a-z123]”. Para negar use o
símbolo “^” (circunflexo) antes da sequência, por exemplo “[^ab]” corresponde a
qualquer caractere que não seja “a” nem “b”.
• ^ circunflexo: Representa início da linha. Por exemplo “^cliente” corresponde as
linhas que possuem a palavra “cliente” no começo da linha.
• $ cifrão: Representa final de linha. Por exemplo “Brasil$” corresponde as linhas
que possuem a palavra “Brasil” no final da linha.
Exemplos:
Exibe linhas que possuem a palavra “dado” ou “dedo” do arquivo “lista.txt”.
grep -i 'd[ae]do' lista.txt
Exibe linhas que possuem a frase “banco (alguma coisa) brasil”. Isso inclui frases como
“banco do brasil” ou “banco central do brasil”.
grep -i 'banco.*brasil' lista.txt
Exibe linhas que possuem a palavra “iface (alguma coisa) loopback” dos arquivos do
diretório “/etc”.
grep -rs 'iface.*loopback' /etc
date
Exibe a data e hora atual.
Sintaxe:
date
67
uptime
Exibe o tempo de ativação do sistema. Tempo em que o computador está ligado.
Sintaxe:
uptime
uname
Exibe algumas informações do sistema como nome do computador, versão do kernel,
entre outras.
Sintaxe:
uname [opções]
Opções:
• -a = Exibe todas.
• -n = Exibe o nome do computador.
• -r = Exibe a versão de release do kernel.
Exemplos:
uname -a
free
Exibe a quantidade de memória livre e em uso.
Sintaxe:
free [opções]
Opções:
• -m = Exibe a quantidade em megabytes.
Exemplos:
free -m
68
lspci
Listar dispositivos PCI.
Sintaxe:
lspci
Exemplos:
Exibe a linha com o nome do chipset de vídeo.
lspci | grep -i vga
lsusb
Listar dispositivos USB.
Sintaxe:
lsusb
dmesg
Exibe as mensagens do kernel.
Sintaxe:
dmesg
which
Exibe o caminho de um comando.
Sintaxe:
which <comando>
Exemplos:
which cat
which ls
69
file
Determina o tipo do arquivo.
Sintaxe:
file <arquivo>
Exemplos:
file /bin/bash
file /home
type
Informa o tipo do comando, dizendo se é um comando interno ou se está em um arquivo.
Sintaxe:
type <comando>
Exemplos:
type cp
type echo
reboot
Reinicia computador.
poweroff
Desligar computador.
mount
Exibe informações sobre os sistemas de arquivos montados ou monta um dispositivo.
Sintaxe:
mount [opções]
mount [opções] <dispositivo> <caminho>
Opções:
• -a = Monta todos dispositivos presente no arquivo “/etc/fstab”. Esse arquivo possui
quais dispositivos devem ser montados durante a inicialização do sistema.
• -t <tipo> = Define o tipo do sistema a ser montado.
• -o <opções de montagem> = Especifica as opções de montagem.
70
Ao digitar o comando “mount” sem parâmetros é exibido quais sistemas de arquivos estão
montados atualmente, por exemplo:
/dev/sda4 on /home type ext4
significa que o dispositivo “sda4” (que é a partição 4 do primeiro hd) está montado no
caminho “/home” e possui o sistema de arquivos “ext4”.
Para montar um compartilhamento windows, pode-se usar assim: (tudo na mesma linha)
sudo mount -t cifs -o username=USUARIO,workgroup=DOMINIO
//SERVIDOR/compartilhamento /media/caminho
“cifs” é o sistema de arquivos para compartilhamento windows.
umount
Desmonta um dispositivo.
Sintaxe:
umount [dispositivo ou caminho]
Exemplo:
Desmonta dispositivo “sdc1”.
sudo umount /dev/sdc1
Comandos de Processos
top
Exibe continuamente informações sobre os processos em execução.
Sintaxe:
top
71
ps
Exibe informações sobre os processos em execução.
Sintaxe:
ps [opções]
O comando “ps” possui diversas opções, a lista completa pode ser obtida com “man ps”.
Uma forma comum é executar “ps axu”, que exibe várias informações, entre elas o
usuário, PID, % de utilização do processador, % de utilização de memória, horário em que
o processo foi iniciado, tempo total de processamento utilizado, e linha de comando.
O identificador do processo ou PID (process id) é um número que representa a instância
de um processo.
Exemplos:
ps axu
kill
Fecha um processo por PID.
Sintaxe:
kill [opções] <PID>
Opções:
• -9 = Mata o processo (força fechar).
Exemplos:
Fecha processo com PID 1234.
kill 1234
killall
Fecha todos processos de um nome.
Sintaxe:
killall <nome>
Exemplos:
Fecha todas instâncias do programa “firefox”.
killall firefox
72
time
Executa um programa e exibe o tempo gasto.
Sintaxe:
time <comando>
Exemplos:
Copia diretório “Documentos” para “backup” e exibe o tempo gasto.
time cp -r Documentos backup
watch
Executa comando repetidamente em um intervalo de tempo.
Sintaxe:
watch [opções] <comando>
Opções:
• -n <segundos> = Define o intervalo de segundos entre a repetição do comando.
Exemplos:
Executa o comando “date” de um em um segundo.
watch -n 1 date
73
Exercícios
1. O comando head:
a) Classifica por ordem alfabética.
b) Exibe o conteúdo de um arquivo em ordem inversa.
c) Exibe as primeiras linhas de um arquivo.
d) Exibe as últimas linhas de um arquivo.
e) Numera linhas.
2. O comando tail:
a) Classifica por ordem alfabética.
b) Exibe o conteúdo de um arquivo em ordem inversa.
c) Exibe as primeiras linhas de um arquivo.
d) Exibe as últimas linhas de um arquivo.
e) Numera linhas.
3. O comando tac:
a) Classifica por ordem alfabética.
b) Exibe o conteúdo de um arquivo em ordem inversa.
c) Exibe as primeiras linhas de um arquivo.
d) Exibe as últimas linhas de um arquivo.
e) Numera linhas.
4. O comando sort:
a) Classifica por ordem alfabética.
b) Exibe o conteúdo de um arquivo em ordem inversa.
c) Exibe as primeiras linhas de um arquivo.
d) Exibe as últimas linhas de um arquivo.
e) Numera linhas.
5. O comando nl:
a) Classifica por ordem alfabética.
b) Exibe o conteúdo de um arquivo em ordem inversa.
c) Exibe as primeiras linhas de um arquivo.
d) Exibe as últimas linhas de um arquivo.
e) Numera linhas.
74
6. O comando date:
a) Monta um dispositivo.
b) Exibe o caminho de um comando.
c) Exibe informações sobre a memória do sistema.
d) Exibe a hora do sistema.
e) Exibe o tempo em que o sistema está ligado.
7. O comando uptime:
a) Monta um dispositivo.
b) Exibe o caminho de um comando.
c) Exibe informações sobre a memória do sistema.
d) Altera a hora do sistema.
e) Exibe o tempo em que o sistema está ligado.
8. O comando free:
a) Monta um dispositivo.
b) Exibe o caminho de um comando.
c) Exibe informações sobre a memória do sistema.
d) Altera a hora do sistema.
e) Exibe o tempo em que o sistema está ligado.
9. O comando mount:
a) Monta um dispositivo.
b) Exibe o caminho de um comando.
c) Exibe informações sobre a memória do sistema.
d) Altera a hora do sistema.
e) Exibe o tempo em que o sistema está ligado.
75
11. Classificar o arquivo lista.txt por ordem alfabética e salvar em novalista.txt:
a) echo lista.txt | sort novalista.txt
b) cat lista.txt | sort novalista.txt
c) sort lista.txt > novalista.txt
d) sort novalista.txt > lista.txt
e) sort lista.txt | novalista.txt
76
16. Salvar a lista de dispositivos de vídeo e áudio no arquivo dispositivos.txt:
a) lspci | grep -i vga < dispositivos.txt ; lspci | grep -i audio << dispositivos.txt
b) lspci | grep -i vga > dispositivos.txt ; lspci | grep -i audio > dispositivos.txt
c) lspci | grep -i vga > dispositivos.txt ; lspci | grep -i audio >> dispositivos.txt
d) lspci | grep -i vga audio > dispositivos.txt
e) lspci | grep -i vga audio < dispositivos.txt
77
Contas e Acesso
Comandos de Contas e Acesso
whoami
“Quem sou eu?” Exibe o nome do usuário atual.
Sintaxe:
whoami
who
Exibe quem está logado no sistema.
Sintaxe:
who
exit
Sair da sessão atual.
Sintaxe:
exit
su
Alterna para outro usuário.
Sintaxe:
su [usuário]
O comando “su” é usado para iniciar uma sessão de terminal usando outro usuário.
Por exemplo ao executar “su parana”, será solicitado confirmação de senha do “parana”,
se o usuário e senha estiverem corretos, o terminal iniciará a uma sessão com o usuário
“parana”.
Para iniciar a sessão como usuário “root” pode-se usar “su” sem especificar o nome de
usuário.
Use o comando “exit” para sair da sessão iniciada.
Exemplos:
su parana
78
sudo
Executa comando com credenciais de root.
Sintaxe:
sudo <comando>
No Linux o usuário “root” é o usuário que possui acesso irrestrito ao sistema. Alterações
como instalação de programas necessitam dessas credenciais administrativas. O
comando sudo é utilizado para executar determinado comando com as credenciais do
usuário “root”. Para executar o comando “sudo” o usuário precisa pertencer ao grupo de
usuários “sudo” ou estar definido nos arquivos de configuração.
Para iniciar uma sessão como “root” pode-se executar “su” sem parâmetros e digitar a
senha do usuário “root” ou executar o comando “sudo su”.
groups
Exibe os grupos que o usuário pertence.
Sintaxe:
groups <usuário>
Exemplos:
groups parana
id
Exibe nome e id dos grupos que o usuário pertence.
Sintaxe:
id <usuário>
Exemplos:
id parana
adduser
Adiciona usuário local.
Sintaxe:
adduser <usuário>
79
Exemplos:
adduser aluno01
adduser aluno92
deluser
Remove usuário local.
Sintaxe:
deluser <usuário>
Exemplos:
deluser aluno92
addgroup
Adiciona grupo local ou usuário ao grupo.
Sintaxe:
addgroup <grupo>
addgroup <usuário> <grupo>
Exemplos:
Adiciona grupo chamado “turma”.
addgroup turma
delgroup
Remove grupo local ou usuário do grupo local.
Sintaxe:
delgroup <grupo>
delgroup <usuário> <grupo>
Exemplos:
Remove usuário “aluno01” do grupo “turma”.
delgroup aluno01 turma
80
passwd
(change user password)
Altera a senha de um usuário local.
Sintaxe:
passwd [usuário]
Exemplos:
Altera a senha do usuário atual.
passwd
chmod
(change file mode)
Altera permissões de arquivos e diretórios.
Sintaxe:
chmod [opções] <modo> <arquivo>
Opções:
• -R = Altera diretório recursivamente incluindo conteúdo.
Modo:
O modo pode ser em formato simbólico (letras) ou em octal (número).
No formato octal são 3 dígitos sendo permissões do dono, grupo e outros. Cada dígito é a
soma das permissões: 1=execução, 2=escrita, 4=leitura. Por exemplo “640” significa
leitura e escrita (4+2=6) para o dono, leitura (4) para o grupo, e nada (0) para outros.
Para o formato simbólico é usado: quem(ugoa), atribuição(=+-) e permissões(rwx).
Podendo conter vários modos separados por virgula sem espaço. O quem pode ser um
ou mais: u(dono), g(grupo), o(outros), a(todos). A atribuição pode ser: =(exatamente a
permissão), +(adiciona) ou -(remove). As permissões são r(leitura), w(escrita),
x(execução).
81
e subdiretórios. Para que se tenha acesso ao diretório é preciso ter permissão de leitura(r)
e execução(x).
Exemplos:
Define acesso total para todos no arquivo publico.txt.
chmod 777 publico.txt
Define acesso total para o dono, e nada para o grupo e outros no diretório e seu
conteúdo.
chmod -R 700 Documentos
Define leitura e escrita para o dono, leitura para o grupo e nada para os outros.
chmod u=rw,g=r,o= publico.txt
chown
(change owner)
Altera dono do arquivo ou diretório.
Sintaxe:
chown [opções] <usuário>[:grupo] <caminho>
Opções:
• -R = Altera diretório recursivamente incluindo conteúdo.
Exemplos:
Altera dono do diretório com tudo dentro para usuário “parana”.
chown -R parana Documentos
chgrp
(change group)
Altera grupo do arquivo ou diretório.
Sintaxe:
chgrp [opções] <grupo> <caminho>
82
Opções:
• -R = Altera diretório recursivamente incluindo conteúdo.
Exemplos:
Altera grupo do diretório para o grupo “aula”.
chgrp -R aula Documentos
83
Exercícios
1. O comando whoami:
a) Exibe quem está logado no sistema.
b) Executa um comando com credenciais de root.
c) Alterna para outro usuário.
d) Exibe os grupos que o usuário pertence.
e) Exibe o nome do usuário atual.
2. O comando who:
a) Exibe quem está logado no sistema.
b) Executa um comando com credenciais de root.
c) Alterna para outro usuário.
d) Exibe os grupos que o usuário pertence.
e) Exibe o nome do usuário atual.
3. O comando su:
a) Exibe quem está logado no sistema.
b) Executa um comando com credenciais de root.
c) Alterna para outro usuário.
d) Exibe os grupos que o usuário pertence.
e) Exibe o nome do usuário atual.
4. O comando sudo:
a) Exibe quem está logado no sistema.
b) Executa um comando com credenciais de root.
c) Alterna para outro usuário.
d) Exibe os grupos que o usuário pertence.
e) Exibe o nome do usuário atual.
5. O comando groups:
a) Exibe quem está logado no sistema.
b) Executa um comando com credenciais de root.
c) Alterna para outro usuário.
d) Exibe os grupos que o usuário pertence.
e) Exibe o nome do usuário atual.
84
6. O comando addgroup:
a) Adiciona um usuário.
b) Remove um usuário.
c) Adiciona um usuário a um grupo.
d) Remove um grupo.
e) Exibe os grupos que o usuário pertence.
7. O comando delgroup:
a) Adiciona um usuário.
b) Remove um usuário.
c) Adiciona um usuário a um grupo.
d) Remove um usuário de um grupo.
e) Exibe os grupos que o usuário pertence.
8. O comando adduser:
a) Adiciona um usuário.
b) Remove um usuário.
c) Adiciona um usuário a um grupo.
d) Remove um grupo.
e) Exibe os grupos que o usuário pertence.
9. O comando deluser:
a) Adiciona um usuário.
b) Remove um usuário.
c) Adiciona um usuário a um grupo.
d) Remove um grupo.
e) Exibe os grupos que o usuário pertence.
85
11. O comando chgrp:
a) Exibe as informações de um usuário.
b) Adiciona um usuário.
c) Adiciona um grupo.
d) Altera o grupo de um arquivo ou diretório.
e) Altera o dono de um arquivo ou diretório.
86
16. Adicione o usuário aluno1 ao grupo turma:
a) echo aluno1 | adduser turma
b) adduser turma aluno1
c) adduser aluno1 turma
d) addgroup turma aluno1
e) addgroup aluno1 turma
19. Defina acesso total para o dono professor, leitura para o grupo turma, e nada para os
outros.
a) chmod -R 777 Aula
b) chmod -R u=rwx,g=rx,o= Aula
c) chmod -R 046 Aula
d) chmod -R 057 Aula
e) chmod -R a+w,u=rw,g=r Aula
87
Gerenciamento de Pacotes
O APT (Advanced Package Tool) é um conjunto de ferramentas para gerenciar a
instalação de softwares no Linux.
A instalação dos aplicativos é dividida em pacotes, que são arquivos com extensão “.deb”
que possuem os arquivos necessários e scripts para configuração. Esses pacotes
também podem depender de outros pacotes para funcionar.
Os pacotes ficam armazenados em servidores na rede chamados de Repositórios.
sources.list
A lista de repositórios está presente no arquivo “/etc/apt/sources.list” ou em um arquivo
dentro do diretório “/etc/apt/sources.list.d/”.
Comandos
apt-get
O “apt-get” é a parte do APT que instala e remove pacotes a partir do repositório de rede,
ele baixa automaticamente os pacotes junto com as dependências necessárias. É
necessário permissões administrativas.
Sintaxe:
apt-get <comando> [pacotes]
Comandos:
• update = Atualiza a lista de pacotes que está disponível no repositório.
• install <pacotes> = Instala ou atualiza pacote.
• --reinstall install <pacotes> = Reinstala pacote.
88
• -d install <pacotes> = Faz download dos pacotes no “/var/cache/apt/archives/”
mas não instala.
• -f install = Corrige pacotes quebrados. Tenta baixar e instalar dependências que
faltam ou remove pacotes que possuem dependências desencontradas.
• remove <pacotes> = Remove pacote.
• purge <pacotes> = Remove pacote incluindo configurações.
• --purge remove <pacotes> = Mesmo que “apt-get purge”.
• upgrade = Atualiza a versão dos pacotes atualmente instalados.
• dist-upgrade = Atualiza a versão dos pacotes instalados, remove outros pacotes
se necessário. É importante que a lista de repositórios (sources.list) esteja correta
para não misturar pacotes de diferentes versões do sistema operacional.
• autoremove = Remove pacotes que foram instalados automaticamente para
satisfazer dependências. Quando se instala um pacote geralmente esse pacote
possui dependências que também são instaladas, se esse pacote for removido, as
dependências continuam instaladas, para remover essas dependências usa-se o
“autoremove”.
• --purge autoremove = Mesmo que “autoremove” e apaga configurações.
• clean = Limpa o cache de pacotes. Quando se instala algum pacote, esses
pacotes são baixados do repositório e armazenados no caminho
“/var/cache/apt/archives/”, utilize o “clean” para limpar o cache e liberar espaço em
disco.
• download <pacotes> = Baixa pacote no diretório atual.
Exemplos:
Atualiza lista de pacotes disponíveis.
sudo apt-get update
89
apt-cache
O “apt-cache” é utilizado para procurar pacotes e mostrar informações sobre eles.
Sintaxe:
apt-cache <comando> <pacote>
Comandos:
• show <pacotes> = Mostra informações sobre o pacote, como descrição, versão,
dependências.
• search <expressão> = Exibe nome dos pacotes que possuem a expressão regular
(regex) no nome ou descrição.
• depends <pacotes> = Exibe as dependências do pacote.
Exemplos:
Procura pacotes que contenham a palavra “gimp”.
apt-cache search gimp
dpkg
Gerencia instalação e remoção de pacotes.
Sintaxe:
dpkg <comando> [pacote]
Comandos:
• -l [pacote] = Lista estado dos pacotes (instalado/não instalado).
• -L <pacote> = Lista arquivos do pacote.
• -i <arquivo .deb> = Instala pacote a partir do arquivo .deb.
• -r <pacote> = Remove pacote instalado a partir do nome do pacote.
Exemplos:
Lista pacotes instalados.
dpkg -l
90
Exercícios
1. Atualize a lista de pacotes do repositório:
a) apt-cache update
b) apt-get update
c) dpkg upgrade
d) apt-get dist-upgrade
e) apt-cache dist-upgrade
91
6. Limpe o cache de pacotes para liberar espaço:
a) apt-get clean
b) apt-cache clean
c) dpkg clean
d) apt-get autoremove
e) apt-cache autoremove
10. Foi instalado um pacote, mas as dependências ficaram faltando, resolva esse
problema:
a) apt-get -f clean
b) apt-get -f update
c) apt-get -f upgrade
d) apt-get -f dist-upgrade
e) apt-get -f install
92
Rede
Rede IPv4
Endereço de IP
IPv4 (Internet Protocol v4) ou simplesmente IP é o endereço de um equipamento na rede.
Cada computador conectado a rede possui pelo menos um endereço de IP. Para não
ocorrer problemas de comunicação não deve existir mais de um computador com o
mesmo endereço de IP.
O endereço de IPv4 é composto por 32bits representados na forma decimal. É dividido
em 4 partes chamadas octetos, cada parte possui 8bits. Cada octeto pode ir de 0 a 255 e
é separado por pontos.
Máscara de Rede
A máscara de rede serve para dividir os endereços de IP em várias redes.
Ela é composta por 32bits, podendo ser representada pelos 4 octetos ou pela quantidade
de bits. A máscara define quantos bits são usados para o endereço da rede e quantos
para o endereço do host (computador).
Para trabalhar com bits, é necessário converter cada octeto em número binário. Várias
calculadoras (inclusive a do computador) permite converter decimal para binário e binário
para decimal.
93
Vamos pegar como exemplo a máscara 255.255.252.0:
11111111.11111111.11111100.00000000 = 255.255.252.0
A máscara 255.255.252.0 também poderia ser representada pelo número 22, que é a
quantidade de bits de rede. O 22 significa que tem 22 bits de valor 1 à esquerda e os
outros 10 bits são de valor 0 à direita.
Endereço de Rede
Para se obter o endereço da rede é necessário aplicar o operador E entre o IP e a
máscara. O operador E diz que sempre que for valor 1 no primeiro E no segundo o
resultado é 1, caso contrário o resultado é 0. Isso é feito bit por bit.
00001010.00001111.00010000.00000101 = 10.15.16.5 (IP)
E 11111111.11111111.11111100.00000000 = 255.255.252.0 (Máscara)
= 00001010.00001111.00010000.00000000 = 10.15.16.0 (Rede)
Como resultado obtemos o endereço de rede: 10.15.16.0
94
Vamos pegar o IP 10.15.17.160:
00001010.00001111.00010001.10100000 = 10.15.17.160 (IP)
11111111.11111111.11111100.00000000 = 255.255.252.0 (Máscara)
00001010.00001111.00010000.00000000 = 10.15.16.0 (Rede)
Gateway
Gateway é o portão de saída, é um equipamento que está conectado em mais de uma
rede e é responsável por passar as mensagens de uma rede para outra.
Por exemplo, quando o IP 10.15.17.160/22 quer enviar uma mensagem para o endereço
10.15.20.85/22, ele envia essa mensagem ao gateway e o gateway entrega a mensagem
ao destino.
O gateway também pode encaminhar a mensagem para outro gateway.
IPs Especiais
Loopback: 127.0.0.1/8. Faixa de IP que sempre representa o próprio computador.
Rede particular: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. Faixa que pode ser usada em
redes particulares, como residências ou empresas. Esses IPs estão isolados, a internet
não possui acesso direto a eles.
Portas
Porta é um número que identifica determinado serviço de rede em um endereço de IP. Há
dois protocolos principais, o TCP e o UDP. Uma determinada porta pode estar aberta
(ativa) em um ou ambos os protocolos simultaneamente.
95
Algumas das portas utilizadas são:
80 TCP = HTTP. Página da Web.
443 TCP = HTTPS. Página da Web em conexão segura (criptografada).
21 TCP = FTP. Protocolo para enviar e receber arquivos.
53 TCP/UDP = DNS. Serviço de nome de domínio.
25 TCP = SMTP. Protocolo de envio de e-mail.
110 TCP = POP3. Protocolo de recebimento de e-mail.
22 TCP = SSH. Terminal remoto em conexão segura.
3389 TCP/UDP = RDP. Área de trabalho remota Microsoft.
5900 TCP/UDP = VNC. Área de trabalho remota.
Serviços de Rede
DNS
Sistema de Nome de Domínio (Domain Name System).
DNS é um serviço de rede que informa qual é o IP de determinado nome de domínio. É
como uma agenda de telefones, com uma lista de nomes e seus respectivos telefones.
Quando o computador precisa acessar um site, por exemplo www.celepar.pr.gov.br:
• O computador pergunta para o DNS quem é site.
• O DNS responde o endereço de IP do site.
• O computador conecta no IP informado pelo DNS.
DHCP
Protocolo de Configuração Dinâmica de Host (Dynamic Host Configuration Protocol).
DHCP é um protocolo de rede que configura o endereço de IP nos computadores da rede.
Sem o DHCP seria necessário configurar manualmente o endereço de IP em cada
computador da rede.
Proxy
Proxy é um servidor intermediário para acesso à internet. É utilizado para cache e
controle de acesso.
Cache significa que ele armazena temporariamente o conteúdo dos sites acessados, não
sendo necessário baixar da internet a cada acesso.
O controle de acesso significa que ele pode controlar quem pode acessar a internet, pode
restringir determinados sites e registrar tudo que foi acessado.
96
Comandos de Rede
ifconfig
Exibe informações das interfaces de rede.
Sintaxe:
ifconfig [opções] [interface]
Opções:
• -a = Exibe todas interfaces.
Exemplos:
Exibe todas interfaces de rede.
/sbin/ifconfig -a
route
Exibe as rotas de rede.
Sintaxe:
route [opções]
As rotas definem qual interface e qual gateway será usado para se comunicar com
determinado endereço de IP.
Opções:
• -n = Exibe no formato numérico.
Exemplos:
/sbin/route -n
97
ping
Envia mensagem a um IP e espera a resposta.
Sintaxe:
ping [opções] [IP]
Opções:
• -c [quantidade] = Para quando atingir a quantidade.
Exemplos:
ping 127.0.0.1
ping -c 4 8.8.8.8
ping -c 4 www.google.com.br
nmap
Exibe as portas abertas de determinado IP.
Sintaxe:
nmap [IP]
Exemplos:
nmap 127.0.0.1
Terminal Remoto
Servidor SSH
SSH é um aplicativo para executar comandos remotamente via rede.
98
Edite o arquivo de configuração do ssh:
sudo nano /etc/ssh/sshd_config
ssh
SSH (Secure Shell) é um aplicativo para executar comandos remotamente via rede
usando uma conexão segura (criptografada).
Para se conectar ao terminal remoto de um computador é usado a sintaxe:
ssh usuario@ip
Na primeira vez que se conectar ao servidor será exibido a impressão digital (fingerprint)
do servidor, para confirmar digite yes. Então será solicitado a senha do usuário que está
se conectando, nesse exemplo é o usuário parana.
Quando conectado é possível executar os mesmos comandos que seriam executados
localmente.
Para sair do servidor, execute exit.
99
scp
(secure copy)
Copia arquivos através do SSH.
A sintaxe básica é: scp origem destino. A origem pode ser o computador local ou o
remoto. O destino também pode ser tanto o computador local quanto o remoto.
Uma particularidade do scp é que ele copia o conteúdo dos links simbólicos, isso quer
dizer que se existir um link apontando para a raiz, será copiado o computador inteiro
repetidamente até que acabe o espaço no destino. Para evitar esse problema é possível
utilizar o comando rsync em vez do scp.
Sintaxe:
scp [opções] arquivoOrigem usuario@ipDestino:caminhoDestino
scp [opções] usuario@ipOrigem:arquivoOrigem caminhoDestino
Opções:
• -r = Copia diretório recursivamente.
Exemplos:
Copia arquivo teste.txt para o diretório /home/parana/Documentos/ do computador
127.0.0.1 usando o usuário parana.
scp teste.txt parana@127.0.0.1:/home/parana/Documentos/
Copia arquivo teste2.txt do computador 127.0.0.1 para o diretório atual usando o usuário
parana.
scp parana@127.0.0.1:/home/parana/Documentos/teste2.txt ./
rsync
Rsync é outro comando para cópia remota de arquivos.
Sintaxe:
rsync [opções] arquivoOrigem usuario@ipDestino:caminhoDestino
rsync [opções] usuario@ipOrigem:arquivoOrigem caminhoDestino
Opções:
• -v = Exibe o nome dos arquivos que estão sendo copiados.
• -r = Copia diretório recursivamente.
• -a = Copia recursivamente preservando as permissões dos arquivos.
100
Exemplos:
Copia arquivo teste3.txt para o diretório /home/parana/Documentos/ do computador
127.0.0.1 usando o usuário parana.
rsync -v teste3.txt parana@127.0.0.1:/home/parana/Documentos/
Copia arquivo teste4.txt do computador 127.0.0.1 para o diretório atual usando o usuário
parana.
rsync -v parana@127.0.0.1:/home/parana/Documentos/teste4.txt ./
101
Exercícios
1. Marque o endereço de IPv4 inválido:
a) 127.0.0.1
b) 200.139.127.26
c) 10.15.61.16
d) 74.125.234.50
e) 286.192.90.5
102
6. Dispositivo que permite a comunicação entre diferentes redes:
a) Gateway
b) DHCP
c) DNS
d) Endereço de Rede
e) Endereço de IP
103