Buscar

Aulas do Módulo 1 - Administrador Linux

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 273 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 273 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 273 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Fundamentos de Linux
Capítulo 1. Um Pouco de História, FHS e Instalação do Sistema 
Prof. Douglas Rafael Silva
Fundamentos de Linux
Aula 1.1. Um pouco de história e distribuições
Prof. Douglas Rafael Silva
Nesta aula
 Apresentação dos capítulos do módulo.
 Breve história do GNU/Linux.
 Distribuições.
Fundamentos de Linux
1. Um pouco de história, FHS e instalação do 
sistema.
2. Comandos básicos.
3. Redirecionamentos e Filtros.
4. Shell Script.
Fundamentos de Linux
5. Gerenciamento de processos.
6. Comandos básicos de rede.
7. Gerenciamentos de usuários e grupos.
8. Permissões de arquivos e diretórios.
Um pouco de história e 
distribuições
• Sistemas Operacionais proprietários (DOS, Unix e Mac 
OS).
• Unix nasceu nos anos 60 (Empresa AT&T) - Principais 
programadores Ken Thompson e Dennis Ritchie 
(criador da linguagem C).
• Até os anos 80 o Unix compartilhava código fonte com 
universidades.
• Em 1987 Andrew S Tanenbaum criou o Minix baseado 
no Unix com o objetivo de ensinar.
Um pouco de história e 
distribuições
• Em 1991 inspirado no trabalho de Tanenbaum, Linus Torvalds 
desenvolveu seu próprio sistema operacional baseado no 
Minix\Unix.
• Linus compartilhou o código fonte para que outras pessoas 
pudessem contribuir.
• Richard Stallman x Linus Torvalds 
GNU/Linux ou Linux?
• Linux distribuído com a licença GPL (GNU General Public License) 
Principal autor Richard Stallman em 1989.
Um pouco de história e 
distribuições
• Distribuições contém o Kernel mais os aplicativos mantidos 
por uma empresa ou comunidade.
• Distribuições com foco em atender usuário final, servidores 
web, executar containers, segurança, etc.
• Apesar das diferenças de distribuições para diversos 
objetivos. Possuem características comuns, mantendo um 
padrão entre as distribuições.
• Linux Standard Base (LSB) – Projeto com o objetivo de 
manter padrões entre as distribuições.
Conclusão
Linux é um kernel de software livre, desenvolvido por Linus 
Torvalds baseado no sistema Minix criado por Tanenbaum. 
Linus tinha como objetivo criar um sistema operacional que as 
pessoas pudessem ver e contribuir com o código e usar para 
diversos fins. Devido a liberdade de criar e modificar o 
sistema, hoje temos diversos sabores de Linux que, apesar das 
diferenças de distribuições para objetivos variados, apresentam 
características comuns, mantendo um padrão entre as 
distribuições.
Próxima aula
Padrão de hierarquia do sistema de 
arquivos (FHS).
Fundamentos de Linux
Aula 1.2. Padrão de hierarquia do sistema de arquivos (FHS)
Prof. Douglas Rafael Silva
Nesta aula
 Padrão de hierarquia do sistema de arquivos (FHS).
Padrão de hierarquia do 
sistema de arquivos (FHS)
/ => Raiz de toda a hierarquia do sistema de arquivos
/boot => Arquivos utilizados para boot do sistema
/bin => Programas essenciais para todos os usuários
/sbin => Programas essenciais de root
/lib => Bibliotecas para programas do /bin/ e /sbin/
Padrão de hierarquia do sistema de 
arquivos (FHS)
/usr => Programas não essenciais, bibliotecas e documentações
/usr/bin => Programas não essenciais para todos os usuários
/usr/sbin => Programas não essenciais de root
/usr/lib => Bibliotecas para programas do /usr/bin e /usr/sbin
/dev => Dispositivos (Exemplo: arquivos do tipo bloco – HD’s).
Padrão de hierarquia do 
sistema de arquivos (FHS)
/var => Arquivos variáveis como filas de e-mail e logs
/home => Diretório padrão dos usuários
/root => Diretório home do root
/etc => Arquivos de configuração
Padrão de hierarquia do sistema 
de arquivos (FHS)
/mnt e /media => Pontos de montagem temporário
/opt => Programas de terceiros
/tmp => Arquivos temporários
/proc => Informações de processos
/sys => Informações do sistema
Conclusão
 O Linux organiza os arquivos no sistema de forma 
hierárquica a partir do “ / ”.
 Cada diretório dentro do barra tem propósitos 
diferentes. Exemplo: arquivos de configuração são 
armazenados dentro de /etc.
Próxima aula
 Instalação do VirtualBox e Putty.
Fundamentos de Linux
Aula 1.3. Instalação VirtualBox e Putty
Prof. Douglas Rafael Silva
Nesta aula
 Vamos instalar o VirtualBox e o Putty.
Instalando VirtualBox e o Putty
Download Virtual Box:
https://download.virtualbox.org/virtualbox/6.1.12/VirtualB
ox-6.1.12-139181-Win.exe
Download Putty:
https://the.earth.li/~sgtatham/putty/0.74/w64/putty.exe
https://download.virtualbox.org/virtualbox/6.1.12/VirtualBox-6.1.12-139181-Win.exe
https://the.earth.li/~sgtatham/putty/0.74/w64/putty.exe
Conclusão
 A partir da instalação do VirtualBox, podemos 
virtualizar um servidor Linux.
 E através do Putty vamos acessar o servidor via 
SSH.
Próxima aula
 Instalação da distribuição CentOS 7.
Fundamentos de Linux
Aula 1.4. Instalação do CentOS 7
Prof. Douglas Rafael Silva
Nesta aula
 Será instalado a distribuição CentOS 7.
Instalando a distribuição CentOS 7
Download CentOS:
http://mirror-centos-jpa.hostdime.com.br/centos/7.8.2003/isos/x86_64/CentOS-7-
x86_64-Minimal-2003.iso
http://mirror-centos-jpa.hostdime.com.br/centos/7.8.2003/isos/x86_64/CentOS-7-x86_64-Minimal-2003.iso
Conclusão
 Instalado uma distribuição Linux podemos explorar o 
sistema de arquivos e praticar comandos essenciais 
para administração do sistema.
Próxima aula
 Conhecer o comando “rpm” para instalação de 
programas.
Fundamentos de Linux
Aula 1.5. Instalação de pacotes .rpm
Prof. Douglas Rafael Silva
Nesta aula
 Vamos conhecer o comando “rpm” e como 
instalar pacotes.
Instalação de pacotes .rpm 
Lista pacotes instalados no sistema:
rpm -qa
Informações sobre um pacote:
rpm -qi "pacote“
Mostra arquivos referente a um pacote instalado:
rpm -ql "pacote"
Informa o pacote que instalou um arquivo
rpm -qf "caminho do arquivo"
Instalação de pacotes .rpm 
Instala pacote rpm (não resolve dependências)
rpm -i "pacote.rpm"
-v => verbose
-r => mostra progresso da instalação
Remove pacote:
rpm -evh "pacote"
Conclusão
 O comando “rpm” é muito útil para verificarmos 
programas instalados e informações de pacotes, 
mas não resolve dependências dos programas.
Próxima aula
 Instalação de programas usando o gerenciador de 
pacotes “yum”.
Fundamentos de Linux
Aula 1.6. Gerenciador de pacotes “yum”
Prof. Douglas Rafael Silva
Nesta aula
 Instalação de programas usando o gerenciador de 
pacotes “yum”.
Gerenciador de pacotes Yum 
Diretório de repositórios:
/etc/yum.repos.d/
Atualiza todos os pacotes da máquina:
yum update
Procura pacotes nos repositórios:
yum search "pacote"
Gerenciador de pacotes Yum 
Instala pacote:
yum install "pacote“
Parâmetro:
-y => Instala sem pedir confirmação
Remove pacote:
yum remove "pacote"
Conclusão
 O gerenciador de pacotes “yum” facilita a instalação 
de programas, pois já resolve dependências dos 
pacotes.
Próxima aula
 Conhecer o shell e explorar o sistema de arquivos.
Fundamentos de Linux
Capítulo 3. Redirecionamentos e Filtros
Prof. Douglas Rafael Silva
Fundamentos de Linux
Aula 3.1. Redirecionamentos >, >>, tee e pipe
Prof. Douglas Rafael Silva
Nesta aula
 Redirecionamentos >, >>, tee e pipe.
Redirecionamentos >, >>, tee e pipe
> => redireciona a saída de um comando substituindo o conteúdo do arquivo 
>> => redireciona a saída de um comando adicionando o conteúdo ao final do arquivo
2> => redireciona a saída de erro de um comando substituindo o conteúdo do arquivo
2>> => redireciona a saída de erro de um comando adicionando o conteúdo ao final do arquivo
2>&1 => redireciona a saída de erro para a mesma saída padrão
| => envia a saída de um comando para entrada de outro
Comando “tee” redireciona a saída padrão para um arquivo e imprime na tela:
cat arquivo1 arquivo2 | tee arquivo3
Conclusão
 Através dos redirecionadores >, >>, 2> e 2>> 
podemos enviar a saída padrãoe\ou saída de erro 
para um arquivo.
 O comando tee também pode ser utilizado para 
redirecionar saída padrão.
 E o pipe “ | “ envia a saída de um comando para 
outro.
Próxima aula
 Os comandos “head”, “tail”, “sort” e “du”.
Fundamentos de Linux
Aula 3.2. Comandos head, tail, sort e du
Prof. Douglas Rafael Silva
Nesta aula
 Comandos head, tail, sort e du.
Comandos head, tail, sort e du
Mostra as 10 primeiras linhas de um arquivo:
head /etc/services
Parâmetro:
n => define a quantidade de linhas para mostrar
Mostra as 10 últimas linhas de um arquivo:
tail /etc/services
Parâmetro:
n => define a quantidade de linhas para mostrar
f => fica aguardando novas saídas no arquivo
Comandos head, tail, sort e du
Ordena linhas de um arquivo (padrão ordenar por ordem alfabética):
sort /etc/passwd
Parâmetro:
-u => remove linhas repetidas (igual ao comando uniq)
Verifica o uso de espaço em disco de arquivos e diretórios:
du -sh /home
Comando muito útil para identificar diretórios com maior consume de disco:
du -sh /home/* | sort -h
Conclusão
 O comando “head” mostra as primeiras linhas de um 
arquivo.
 O comando “tail” mostra as últimas linhas.
 O “sort” é utilizado para ordenar um arquivo.
 O “du” verifica uso do disco.
Próxima aula
 Comandos find, locate e xargs.
Fundamentos de Linux
Aula 3.3. Comandos find, locate e xargs
Prof. Douglas Rafael Silva
Nesta aula
 Comandos para busca de arquivos: find e locate.
 E o comando xargs.
Comandos find, locate e xargs
Procura arquivos baseados pelo nome:
find /etc -name services
find /etc -name *.conf
Procura arquivos baseados pelo tipo:
find /etc -type d (diretório)
find /etc -type l (link simbólico)
Procura arquivos baseados pelo tamanho:
find /etc -size +100k
Comandos find, locate e xargs
-exec => executa uma ação baseado na saída do find:
find /etc -size +100k -exec du -sh {} \; 
Faz busca por arquivos baseado no nome:
locate arquivo.txt (precisa do pacote mlocate)
updatedb (antes de realizar a busca, execute o comando updatedb para atualizar a 
base de dados que o locate consulta)
whereis cp (procura baseado no primeiro nome)
xargs => executa comandos baseados na saída padrão:
find /etc -size +100k | xargs ls -l
mkdir ~/backup ; find /etc -size +100k | xargs -i cp {} ~/backup
Conclusão
 O find pode realizar buscas de diversos tipos, como 
por exemplos: tamanho, nome, tipo do arquivo etc.
 O comando locate utiliza uma base de dados que 
contém o nome de todos os arquivos do sistema, 
permitindo uma busca pelo nome completo ou parte 
do nome do arquivo.
 Xargs é utilizado para receber saídas de outros 
comandos e executar outro comando através da 
saída.
Próxima aula
 Comandos cut, awk, tr, sed e grep.
Fundamentos de Linux
Aula 3.4. Comandos cut, awk, tr, sed e grep
Prof. Douglas Rafael Silva
Nesta aula
 Comandos cut, awk, tr, sed e grep.
Comandos cut, awk, tr, sed e grep
Corta partes de um texto:
cut -c1,2 /etc/passwd (c = caracter)
cut -c1-5 /etc/passwd
cut -d: -f1 /etc/passwd (d = delimitador e f = campo (field) )
cut -d: -f1,2 --output-delimiter="|" /etc/passwd
awk '{print$1}' /etc/services
awk -F: '{print$1 " | " $6}' /etc/passwd
ls /etc/*.conf | head -n3 | awk '{print "echo 3 primeiros arquivos encontrados: " $1}'
Comandos cut, awk, tr, sed e grep
Troca caracteres ou deleta:
cat /etc/passwd | tr [:lower:] [:upper:]
cat /etc/passwd | tr -d [:space:]
Realiza filtros e transformações em arquivos:
sed -i s/velho/novo/ arquivo.txt => substitui string “velho” para “novo”
sed -n 5p arquivo.txt => imprime a linha 5 de um arquivo
sed -n 50,70p arquivo.txt => Imprime um bloco, linha 50 a 70
sed /string/d arquivo.txt => Deleta a linha que contém uma string específica
Comandos cut, awk, tr, sed e grep
Mostra linhas filtradas por um padrão:
grep root /etc/passwd
Parâmetros:
-i => desconsidera o case sensitive
-r => busca de forma recursiva
-w => resultado somente com a palavra completa
-v => resultado exceto o que encontrar
O grep e o sed são comandos que aceitam expressões regulares. Um exemplo do 
grep para remover linhas em branco (quebra de linha) e comentadas:
grep -v -E ‘^#|^$’ /etc/services => grep -E = egrep
Conclusão
 Os comandos cut e awk são utilizados para cortar 
partes de um texto.
 O “tr” troca caracteres ou deleta.
 O “sed” filtra e transforma dados do arquivo.
 E o “grep” mostra linhas baseados em um padrão.
Próxima aula
 Introdução a shell script.
Fundamentos de Linux
Capítulo 2. Comandos Básicos
Prof. Douglas Rafael Silva
Fundamentos de Linux
Aula 2.1. Conhecendo o shell e explorando o sistema de arquivos
Prof. Douglas Rafael Silva
Nesta aula
 Vamos conhecer o shell;
 E comandos para navegar entre diretórios e listar 
arquivos.
Conhecendo o shell e explorando o 
sistema de arquivos
O que é o shell?
O shell é um interpretador de comandos, ele faz o meio de campo entre o usuário e o sistema, ou
seja, é uma interface para o usuário executar programas e interagir com o sistema. Também é um
ambiente de programação (shell script), muito utilizado para automatizar tarefas.
Em ambientes Desktop, além do shell existe uma interface gráfica para interação. Mas em ambientes
corporativos, na maioria dos casos, a única forma de interação com o sistema é através do shell para
administração de servidores. Existem alguns tipos de Shell, porém, o mais utilizado atualmente é o
“BASH”.
Conhecendo o shell e explorando o 
sistema de arquivos
Acessando os diretórios:
cd /var -> usando caminho absoluto
cd log -> usando caminho relativo
cd /var/log -> caminho absoluto
• Caminho absoluto sempre vai começar com o 
“/”. Ou seja, é o caminho completo de um 
arquivo ou diretório. 
• Caminho relativo depende do diretório atual.
Conhecendo o shell e explorando o 
sistema de arquivos
Informa o diretório atual:
pwd
. => representa o diretório corrente
.. => representa um diretório anterior
cd /var/log
cd ../lib -> retorna para o /var e acessa /var/lib
cd ../../etc -> a partir do /var/lib retorna para o / e acessa /etc.
cd - -> volta para o último diretório acessado, nesse caso /var/lib
Conhecendo o shell e explorando o 
sistema de arquivos
O diretório /home por padrão armazena os diretórios dos 
usuários. 
Exemplo: /home/douglas
~ representa o home do usuário.
cd ~/Downloads é igual a cd /home/douglas/Downloads
cd sem informar qualquer diretório retorna para o home do 
usuário.
Conhecendo o shell e explorando 
o sistema de arquivos
Listando arquivos:
ls
Principais parâmetros do ls:
-l => lista longa, mostra mais informações sobre os arquivos 
-t => organiza pela data de modificação
-r => organiza de forma reversa
-d => lista somente o diretório sem o conteúdo do mesmo
-a => lista arquivos ocultos
No Linux arquivos ocultos são iniciados com “.”
Conclusão
 O shell é um interpretador de comandos para interagirmos 
com o sistema;
 Caminho absoluto é o caminho completo e relativo é a 
partir do diretório atual;
 O comando “cd” é utilizado para navegar entre os 
diretórios do sistema e possui alguns atalhos para facilitar 
a navegação;
 O comando “pwd” mostra o diretório atual;
 E comando “ls” lista o conteúdo dos diretórios.
Próxima aula
 Como pedir ajuda.
 Utilização de curingas no shell.
Fundamentos de Linux
Aula 2.2. Pedindo ajuda e curingas do shell
Prof. Douglas Rafael Silva
Nesta aula
 Pedindo ajuda através de documentações.
 Curingas do shell.
Pedindo ajuda e curingas do shell
Dicas: 
Sempre que aprender um novo comando explore sua documentação, 
utilizando os comandos man e help;
man ls
ls -help
Acostume utilizar atalhos do shell e o Tab para acelerar a digitação dos 
comandos. 
Pedindo ajuda e curingas do shell
Tab auto completa comandos e caminhos dos arquivos/diretórios.
Atalhos mais usados:
Ctrl+L => limpa a tela (igual ao comandoclear)
Ctrl+R => realiza busca no histórico de comandos (history)
Ctrl+U => recorta a linha inteira
Ctrl+W => recorta a palavra à esquerda
Ctrl+K => recorta do cursor até o fim da linha
Ctrl+Y => cola o trecho recortado
Pedindo ajuda e curingas do shell
* => qualquer coisa
? => um caractere qualquer
[ ] => qualquer um dos caracteres listados ou um intervalo
{ } => strings específicas separadas por “,”
Pedindo ajuda e curingas do shell
Os curingas do shell podem ser utilizados para qualquer comando. 
Alguns exemplos usando o ls:
ls -l /dev/sda*
ls -l /dev/sd?
ls -l /dev/sda[13]
ls -l /dev/sd{a,a5}
Conclusão
 Os comandos man e --help contém documentação 
dos comandos.
 Curingas do shell podem ser utilizados em qualquer 
comando para facilitar a execução de alguma tarefa.
Próxima aula
 Gerenciando arquivos e diretórios.
 Comandos mkdir, tree, touch, cp, alias, mv e rm.
Fundamentos de Linux
Aula 2.3. Gerenciando arquivos e diretórios
Prof. Douglas Rafael Silva
Nesta aula
 Gerenciando arquivos e diretórios.
 Comandos mkdir, tree, touch, cp, alias, mv e rm.
Gerenciando arquivos e diretórios
Cria diretório:
mkdir ~/backup 
Cria árvore de diretórios:
mkdir -p ~/backup/2020/{01..12}
tree ~/backup => visualiza toda a árvore
Cria um arquivo vazio:
touch ~/backup/2020/01/app01.conf
Gerenciando arquivos e diretórios
Copia arquivos:
cp ~/backup/2020/01/app02.conf ~/backup/2020/02 
Parâmetros:
-i => interativo, pede uma confirmação antes de sobrescrever
-r => cópia recursiva
-p => preserva atributos (data de modificação, permissões etc.)
-a => cópia recursiva e preserva permissões do arquivo
alias vi='vim‘ => cria alias
unalias vi => remove alias
Gerenciando arquivos e diretórios
Move e/ou renomeia arquivos:
mv ~/backup/2020/01/app01.conf ~/backup/2020/02/
mv ~/backup/2020/02/app01.conf ~/backup/2020/03/app03.conf 
mv ~/backup/2020/03/app03.conf ~/backup/2020/03/app03_novo.conf 
Parâmetros:
-i => interativo, pede uma confirmação antes de sobrescrever um arquivo
-f => força sobrescrever o arquivo de destino
Gerenciando arquivos e diretórios
Remove arquivos e diretórios:
rm ~/backup/2020/03/app03_novo.conf 
Parâmetros:
-i => interativo, pede uma confirmação antes de remover
-f => força remoção do arquivo
-r => remove diretório de forma recursiva
rm -rf /* => O que acontece?
Remove diretório vazio:
rmdir ~/backup/2020/04 
Conclusão
 Apresentamos os principais comandos para 
gerenciar arquivos e diretórios.
 Como criar diretórios e arquivos. Como copiar, 
remover, mover e renomear.
Próxima aula
 Leitores de texto.
Fundamentos de Linux
Aula 2.4. Leitor de texto
Prof. Douglas Rafael Silva
Nesta aula
 Vamos apresentar os leitores de texto mais utilizados 
no Linux.
Leitor de texto
Concatena arquivos e imprime na saída padrão:
cat arquivo1 arquivo2
Informando somente um arquivo, é impresso na tela:
cat /etc/services
Alguns parâmetros:
-n => enumera todas as linhas
-b => enumera as linhas, exceto linhas em branco (igual o comando nl)
Leitor de texto
Lê um arquivo de texto de forma paginada:
less /etc/services
Opção de busca:
/ => realiza buscas dentro do arquivo
n => mostra a próxima busca encontrada
N => retorna busca anterior encontrada
q => para sair
Leitor de texto
Mostra quantidade de linhas, palavras e bytes de um arquivo:
wc /etc/services
Parâmetro:
-l => quantidade de linhas
-w => quantidade de palavras
-c => quantidade de bytes
Conclusão
 Conhecemos os principais leitores de texto no Linux.
 O “cat” imprime na tela todo conteúdo do arquivo.
 O “less” mostra o conteúdo do arquivo de forma 
paginada.
 O “wc” imprime informações do arquivo como 
quantidade de palavras, linhas e bytes.
Próxima aula
 Como empacotar e comprimir arquivos.
Fundamentos de Linux
Aula 2.5. Compressão de arquivos
Prof. Douglas Rafael Silva
Nesta aula
 Vamos aprender empacotar arquivos no Linux e 
como compactar esses arquivos.
Compressão de arquivos
Empacota arquivos:
tar cvf arquivo.tar /etc/services /etc/passwd
Mostra os arquivos:
tar tvf arquivo.tar 
c => cria
t => lista
v => verbose
f => define o nome do arquivo
Compressão de arquivos
Compactar arquivos com gzip:
gzip arquivo.tar
Descompactar arquivo gzip:
gunzip arquivo.tar.gz
ou
gzip -d arquivo.tar.gz
Podemos unir o recurso do tar com gzip para compactar e 
descompactar.
Compressão de arquivos
Compacta:
tar zcvf arquivo.tar.gz /etc/passwd /etc/services
Descompacta:
tar zxvf arquivo.tar.gz (extrai no diretório corrente)
tar zxvf arquivo.tar.gz -C /home ( -C define o diretório de destino)
z => invoca o gzip
x => extrai
Comandos úteis para ler arquivos compactados sem 
precisar extrair: “zcat” e “zgrep”
Conclusão
 O comando “tar” empacota arquivos e pode invocar o 
comando “gzip” para compressão dos arquivos.
Próxima aula
 Vamos conhecer o editor de texto mais utilizado no 
sistema Linux. O “vi”.
Fundamentos de Linux
Aula 2.6. Editor de texto Vi
Prof. Douglas Rafael Silva
Nesta aula
 Vamos aprender utilizar o comando “vi” para editar 
arquivos.
Editor de texto Vi
Acessa um arquivo para edição:
vi ~/backup/2020/03/app03_novo.conf 
i => entra no modo de inserção ( “o” modo de inserção na próxima linha )
Esc => entra no modo de navegação
Esc : => entra no modo de comandos
Alguns comandos:
:w => salva o arquivo
:q => sai do arquivo sem salvar
:wq => sai do arquivo salvando ou :x
Editor de texto Vi
Mais alguns comandos úteis:
:%s/string_velha/nova_string
:5,10 s/string_velha/nova_string
Opções para o modo de navegação:
/ => busca (n próxima | N anterior)
gg => move o cursor para primeira linha
G => move o cursor para última linha
yy => copia a linha
c => recorta a linha
p => cola a linha
dd => apaga a linha
u => desfazer
Conclusão
 A edição de texto é essencial na administração do 
sistema Linux, e é muito importante conhecer o 
principal editor de texto do sistema, que é o “vi”, uma 
ferramenta muito versátil com diversas opções para 
manipulação de arquivos.
Próxima aula
 Variáveis de ambiente do shell.
Fundamentos de Linux
Aula 2.7. Variáveis de ambiente
Prof. Douglas Rafael Silva
Nesta aula
 Variáveis de ambiente do shell.
 Comandos internos e externos.
 Scripts .bash.
Variáveis de ambiente
Assim como qualquer outra linguagem de programação, o shell também utiliza de 
variáveis para armazenar dados em memória.
Podemos aproveitar essas variáveis do shell ou criarmos novas para utilizarmos em um 
script, por exemplo.
Existem as variáveis locais e globais. As locais não são vistas por processos filhos do 
bash.
Lista todas as variáveis:
set
Lista somente variáveis globais (exportadas):
env
Variáveis de ambiente
Define uma variável local:
IGTI=Linux
Define uma variável global:
IGTI=Linux
export IGTI
ou
export IGTI=Linux
Remove variável:
unset IGTI
Variáveis de ambiente
Imprime uma mensagem e/ou valor de uma variável:
echo Fundamentos de Linux - IGTI
echo $IGTI
echo $HISTFILE
O shell possui comandos internos, como por exemplo o “echo”. E utiliza a 
variável de ambiente PATH para localizar o caminho absoluto dos comandos 
externos.
Verifica se um comando é interno do shell ou externo:
type echo
Verifica o caminho absoluto de um comando, utiliza a variável PATH:
which cp
Variáveis de ambiente
Mostra informações do sistema:
uname -a
Para manter as configurações de alias e PATH pode ser utilizado 
.bash_profile ou .bashrc
.bash_profile => chamado quando é realizado login
.bash_logout => chamado quando é realizado logout
.bashrc => chamado quando o shell é executado
Conclusão
 As variáveis de ambiente do shell além de serem 
utilizadas pelo shell podemos aproveitar para 
verificarmos algumas informações e até utilizar em 
shell scripts.
 A variável PATH contém o caminho dos comandos 
externos ao shell.
 Podemosutilizar os scripts .bash automatizar 
algumas tarefas simples.
Próxima aula
 Tipos de arquivos no Linux e Links.
Fundamentos de Linux
Aula 2.8. Tipos de arquivos e Links
Prof. Douglas Rafael Silva
Nesta aula
 Tipos de arquivos.
 Comandos file, stat.
 Hardlink e Link simbólico.
Tipos de arquivos e Links
Para o Linux tudo é um arquivo, porém com tipos diferentes. 
Alguns exemplos:
- => Arquivo regular (Ex.: texto, imagens etc.)
d => Arquivo do tipo diretório
l => Arquivo do tipo link simbólico
b => Arquivo do tipo bloco (Ex.: HD)
Tipos de arquivos e Links
Informa o tipo do arquivo:
file /
file /dev/sda
file /etc/passwd
Mostra mais detalhes sobre o arquivo:
stat /etc/passwd
O Linux não trabalha com conceito de extensão de arquivo, você pode usar uma 
extensão para facilitar a identificação do arquivo, mas para o Linux não faz nenhuma 
diferença.
touch programa.exe
file programa.exe 
Tipos de arquivos e Links
Hardlink são arquivos espelhados (mesmo inode), porém independentes.
Comando “ln” cria um hardlink:
touch arquivo1
ln arquivo1 arquivo2
stat arquivo1 arquivo2
Link simbólico é um atalho
Parâmetro -s cria um link simbólico:
ln -s arquivo1 arquivo3
file arquivo3
Conclusão
 Para o Linux tudo é um arquivo, mas com tipos 
diferentes.
 Hardlink são arquivos espelhados independentes.
 Link simbólico são atalhos para arquivos ou 
diretórios.
Próxima aula
 Redirecionadores > , >>.
 Pipe e comando tee.
Fundamentos de Linux
Capítulo 4. Shell Script
Prof. Douglas Rafael Silva
Fundamentos de Linux
Aula 4.1. Introdução a shell script (aspas, crase e $)
Prof. Douglas Rafael Silva
Nesta aula
 Introdução a shell script.
 Aspas, crase, $ e “ ; “.
Introdução a shell script (aspas, 
crase e $) 
Por convenção shell scripts são nomeados com .sh
Exemplo: 
script.sh
A primeira linha do arquivo deve conter um shebang “#!” seguido do interpretador de 
comandos que será utilizado no script:
Exemplo: 
#!/bin/bash
Canivete suíço do shell:
https://aurelio.net/shell/canivete/
https://aurelio.net/shell/canivete/
Introdução a shell script 
(aspas, crase e $) 
; => utilizado para executar comandos sequenciais
echo Listando arquivos do diretorio `pwd` ; ls
echo Listando arquivos do diretorio $(pwd) ; ls
` ` e $() => comandos dentro de crase e $() são executados primeiro e o resultado é passado para o 
comando echo. 
No exemplo acima poderia ter sido aproveitando uma variável que já existe no shell:
echo Listando arquivos do diretorio $PWD ; ls
A saída de um comando também pode ser armazenada em uma variável.
USUARIOS=$(ls /home) ; echo $USUARIOS
Introdução a shell script (aspas, 
crase e $) 
\ => protege o caracter seguinte 
echo *
echo \*
Diferença entre aspas simples e duplas:
echo “$PATH”
echo ‘PATH’
echo “`pwd`”
echo ‘`pwd`’
Aspas duplas protege os caracteres: $ ` 
Conclusão
 Por convenção utilizamos a extensão .sh nos scripts.
 Podemos utilizar ` ` ou $() para executar um 
comando e imprimir a saída ou gravar em uma 
variável.
 Aspas simples pode ser utilizada para imprimir texto 
simples, caso seja necessário proteger algum 
caracter pode ser necessário utilizar contra barra ou 
aspas duplas.
Próxima aula
 Como passar parâmetros para o script.
Fundamentos de Linux
Aula 4.2. Passando parâmetros para o script
Prof. Douglas Rafael Silva
Nesta aula
 Como passar parâmetros para um script.
Passando parâmetros para o script
Passando parâmetros para o script:
O script interpreta parâmetros como $ mais um número de acordo com a sequência 
passada. 
Exemplo
Ao executar o script: ~/script.sh /backup/logs 7
$1 = /backup/logs 
$2 = 7
bash -x script.sh => debug
chmod +x script.sh => permissão de execução
./script.sh
Passando parâmetros para o script
Opção 1:
#!/bin/bash
echo Realizando limpeza dos logs do diretório: $1
echo Deletando Logs dos últimos $2 dias.
Opção 2:
#!/bin/bash
DIRETORIO=$1
DIAS_RETENCAO=$2
echo Realizando limpeza dos logs do diretório: $DIRETORIO
echo Deletando Logs dos últimos $DIAS_RETENCAO dias.
Passando parâmetros para o script
#!/bin/bash
DIRETORIO=$1
DIAS_RETENCAO=$2
echo Realizando limpeza dos logs do diretório: $DIRETORIO
echo Deletando Logs com mais de $DIAS_RETENCAO dias.
find $DIRETORIO -mtime +7 -exec rm {} \; 
Conclusão
 Cada parâmetro passado para um script é 
interpretado como $ seguido de um número de 
acordo com a sequência informada.
Próxima aula
 O uso do “for” para realizar loops (repetições).
Fundamentos de Linux
Aula 4.3.1. Loop “for” (Parte 1)
Prof. Douglas Rafael Silva
Nesta aula
 Como executar loops usando “for”.
Loop for Parte 1
Loop com for:
Sintaxe
for VARIAVEL in LISTA => pode ser saída de um comando ` ` ou $()
do
done
For muito útil no dia a dia não somente dentro de um script
for servers in `cat servidores` ; do echo $servers ; curl https://servers:443 ; echo ; done
Loop for Parte 1
#!/bin/bash
for LISTA_USUARIOS in $(cat /etc/passwd | tr -d [:blank:])
do
echo $LISTA_USUARIOS
USUARIO=$(echo $LISTA_USUARIOS | cut -d: -f1)
HOME_USUARIO=$(echo "$LISTA_USUARIOS" | cut -d: -f6)
SHELL_USUARIO=$(echo "$LISTA_USUARIOS" | cut -d: -f7)
echo
echo -e "\n ===== $USUARIO ===== "
echo "HOME: $HOME_USUARIO"
echo "SHELL: $SHELL_USUARIO"
echo " ==================== "
done
Próxima aula
 Mais exemplos de utilização do comando “for”.
Fundamentos de Linux
Aula 4.3.2. Loop “for” (Parte 2)
Prof. Douglas Rafael Silva
Nesta aula
 Continuidade do comando “for”.
Loop for Parte 2
Comando “seq” útil para definir uma quantidade exata de loops para qualquer fim.
Exemplo:
#!/bin/bash
for num in `seq 10`
do
echo
echo "Realizando teste de conexao... Tentativa $num"
sleep 3
done
Loop for Parte 2
For dentro de For
#!/bin/bash
for EMP in `cat empresas` ; do
for DEP in `cat departamento` ; do
mkdir -p ~/backups/$EMP/$DEP
done
done
Conclusão
 O “for” é utilizado para executar tarefas repetitivas.
 Muito útil em tarefas simples do dia a dia e shell
scripts.
Próxima aula
 Condicionais if, else e elif.
 Comando read.
Fundamentos de Linux
Aula 4.4. Condicionais (if, else, elif) e o comando read
Prof. Douglas Rafael Silva
Nesta aula
 Condicionais if, else e elif.
 Comando read.
Condicionais (if , else, elif) e o 
comando read
Condicionais (if , else, elif) e o comando read
#!/bin/bash
echo "Verifica se um usuário existe"
read -p "Informe o nome do usuário: " usuario
echo “$usuario”
Condicionais (if , else, elif) e o 
comando read
#!/bin/bash
echo "Verifica se um usuário existe"
read -p "Informe o nome do usuário: " usuario
USUARIO=$(cut –d: -f1 /etc/passwd | grep -i $usuario)
if [[ -n $USUARIO ]]
then
echo "Usuario $usuario existe!"
else
echo "Usuario $usuario NAO existe!"
fi
Condicionais (if , else, elif) e o 
comando read
#!/bin/bash
echo "Verifica se um usuário existe"
read -p "Informe o nome do usuário: " usuario
USUARIO=$(cut –d: -f1 /etc/passwd | grep -i $usuario)
HOME=“/home/$(echo $usuário | tr [:upper:] [:lower:])”
Condicionais (if , else, elif) e o 
comando read
if [[ -n $USUARIO ]]
then
echo "Usuario $usuario existe!"
elif [[ -d $HOME ]] 
then
echo "Usuario nao existe mas possue um home"
echo "Deletando o diretorio home..." ; sleep 2
rm -riv $HOME
else
echo "Usuario $usuario NAO existe!"
fi
Conclusão
 Assim como em qualquer linguagem de 
programação o shell também utiliza de condicionais 
para tomada de decisão em um script.
 O comando read aguarda a leitura de uma 
informação do usuário para armazenar em uma 
variável.
Próxima aula
 Variável especial $?.
 Condicionais && e ||.
Fundamentos de Linux
Aula 4.5. Variável especial $? && e ||
Prof. Douglas Rafael Silva
Nesta aula
 A variável especial $?.
 Condicionais && e ||.
Variável especial $?, && e ||
Variável especial $?
echo "Criando um diretório..." ; echo
read -p "Informe umcaminho absoluto: " DIR
echo "Criando o diretório $DIR..." ; sleep 2
mkdir $DIR
if [[ $? -eq 0 ]]
then
echo "Diretório criado com sucesso"
else
echo "Falha ao criar o diretório"
fi
Variável especial $?, && e ||
&& => Somente executa o segundo comando se o primeiro foi executado com sucesso 
|| => Somente executa o segundo comando se o primeiro não foi executado com sucesso
echo "Criando um diretório..." ; echo
read -p "Informe um caminho absoluto: " DIR
echo "Criando o diretório $DIR..." ; sleep 2
mkdir $DIR && echo "Diretório criado com sucesso" || echo "Falha ao criar o diretório"
Conclusão
 A variável especial $? retorna um código referente a 
saída do último comando, é muito utilizada em shell 
script para validação de erros.
 As condicionais && e || podem ser utilizadas para 
simplificar algumas instruções de um script.
Próxima aula
 Como gerar logs no shell script.
Fundamentos de Linux
Aula 4.6. Gerando logs
Prof. Douglas Rafael Silva
Nesta aula
 Usando redirecionadores para gerar logs.
Gerando Logs
#!/bin/bash
echo "Criando um diretório..." ; echo
read -p "Informe um caminho absoluto: " DIR
echo "Criando o diretório $DIR..." > log.info ; sleep 2
mkdir $DIR 2> log.erro
if [[ -d $DIR ]]
then
echo "Diretório: $DIR criado com sucesso!" >> log.info
fi
Gerando Logs
#!/bin/bash
echo "======= `date "+%d/%m/%Y %H:%M"` ======" >> log.info
echo "Criando um diretório..." ; echo
read -p "Informe um caminho absoluto: " DIR
echo "Criando o diretório $DIR..." >> log.info ; sleep 2
mkdir $DIR 2>> log.info
if [[ $? -eq 0 ]] ; then
echo "Diretório $DIR criado com sucesso" >> log.info
fi
echo ============================= >> log.info
Conclusão
 Logs são essenciais para qualquer programa.
 Através dos redirecionadores do shell é possível 
enviar a saída dos comandos para um arquivo de log.
Próxima aula
 Como usar a condicional “case”.
Fundamentos de Linux
Aula 4.7. Condicional “case”
Prof. Douglas Rafael Silva
Nesta aula
 Uso da condicional “Case”.
Condicional Case
#!/bin/bash
read -p "Informe o nome do usuario: " usuario
echo "Consultando a base de usuários..."
cut -d: -f1 /etc/passwd | grep -i $usuario
if [[ $? -ne 0 ]] ; then
echo "usuario $usuario nao existe"
fi
read -p "Deseja realizar uma nova busca? [ s/n ]" opcao
if [[ $opcao == s ]] ; then
$0
fi
Condicional Case
#!/bin/bash
read -p "Deseja realizar uma nova busca? [ s/n ]" opcao
case $opcao in
s) $0 ;;
n) echo “Saindo…” ; exit ;;
*) echo “opcao invalida” ;;
esac
Conclusão
 Nos casos de condições específicas podemos utilizar 
o case tornando a construção da condicional mais 
simples de ler.
Próxima aula
 Loop utilizando while.
 Funções.
Fundamentos de Linux
Aula 4.8. Loop com “while” e “funções”
Prof. Douglas Rafael Silva
Nesta aula
 Como realizar loops com o comando while.
 Como utilizar funções no shell.
Loop com While e Função
#!/bin/bash
echo “Procura arquivos .conf..."
if [[ -z $1 ]] ; then
while [[ -z $diretorio ]] ; do
read -p "Parametro nao informado. Informe um diretorio para consulta: " diretorio
find $diretorio -iname "*.conf"
done
else
find $1 -iname "*.conf"
fi
Loop com While e Função
Função
Sintaxe:
function NOME_FUNCAO () {
comandos
}
NOME_FUNCAO () {
comandos
}
Loop com While e Função
busca_conf () {
find $1 -iname "*.conf"
}
if [[ -z $1 ]] ; then
while [[ -z $diretorio ]] ; do
read -p "Parametro nao informado. Informe um diretorio para consulta: " diretorio
busca_conf $diretorio
done
else
busca_conf $1
fi
Conclusão
 O while é recomendado para loops com repetições 
que podem variar, devido a ação de algum usuário 
ou resultado de um comando.
 Funções são úteis para evitar repetição de código.
Próxima aula
 Gerenciamento de processos.
Fundamentos de Linux
Capítulo 5. Gerenciamento de Processos
Prof. Douglas Rafael Silva
Fundamentos de Linux
Aula 5.1. PID, processo init e load average
Prof. Douglas Rafael Silva
Nesta aula
 ID dos processos.
 Processo init.
 Comandos top, uptime, free, pidof e pgrep.
PID, processo init e load average
Todos os processos do sistema possui um identificador único => PID e 
possuem um processo pai => PPID
O primeiro processo executado no sistema e pai de todos os outros é o 
processo init (systemd) de PID = 1
Lista processos em forma de árvore:
pstree
-p => mostra ID do processo
PID, processo init e load average
Monitora todos os processos do sistema: top
Opção útil:
1 => mostra o consumo de cada processador
Load average valor normal é relativo para cada máquina
Mostra 1, 5 e 15 últimos minutos
Shift+M => ordena por consumo de memória
Shift+C => ordena por consumo de cpu
PID, processo init e load average
Mostra o tempo que o servidor está ligado => uptime
Mostra o uso de memória => free -m
Busca processo por nome:
pidof “nome exato do processo”
pgrep “parte do nome do processo”
Conclusão
 Todos os processos no sistema possuem um 
identificador e um processo pai.
 O processo pai de todos os processos é o processo 
init.
 Comando top monitora os processos em tempo real 
e acompanha a performance do servidor.
Próxima aula
 Listando os processos com o comando “ps”.
 Como enviar sinais aos processos.
Fundamentos de Linux
Aula 5.2. Comandos ps, kill, killall e pkill
Prof. Douglas Rafael Silva
Nesta aula
 Verificar os processos com o comando “ps”.
 Enviar sinais aos processos com os comandos “kill”, 
“killall” e “pkill”.
Comandos ps, kill, killall e pkill 
Processos em execução do usuário no terminal corrente:
ps 
-u => mostra mais informações relacionadas a usuário
-x => mostra processos que não foram iniciados diretamente em seu terminal
-a => mostra os processos de todos os usuários
Comandos ps, kill, killall e pkill 
Envia sinais para processos:
kill
kill -l => lista todos os sinais
Quando executamos Crtl+C estamos enviando o sinal 2) SIGINT (interrupção)
15) SIGTERM => termina processo 
9) SIGKILL => termina processo de forma abrupta
Comandos ps, kill, killall e pkill 
Duas maneiras de enviar sinais para os processos:
kill -s SIGTERM “PID_PROCESSO”
kill -15 “PID_PROCESSO”
Mata processo por nome:
killall “nome exato do processo”
pkill “parte do nome do processo”
Conclusão
 O comando ps mostrar os processos correntes no 
sistema.
 Através do comando kill é possível enviar sinais a 
processos.
 Comandos killall e pkill são usados para matar 
processos baseados no nome.
Próxima aula
 Processos em foreground e background.
 Prioridades de processos.
Fundamentos de Linux
Aula 5.3. Processos em foreground, background e prioridades
Prof. Douglas Rafael Silva
Nesta aula
 O que são processos em foreground e background.
 Como alterar prioridades de processos.
Processos em Foreground, 
Background e Prioridades
Foreground (fg) e Background (bg):
fg => prende o terminal
bg => libera o terminal para execução de comandos
Lista jobs com seu id (processos em Background):
jobs
Executa um comando enviando para background:
[ Comando ] &
Processos em Foreground, 
Background e Prioridades
Retorna um comando para Foreground:
fg “id do job”
Crtl+Z => envia um sinal de stop para o processo
Envia processos nos jobs para background:
bg "id do job“
Mata o processo pelo id do job:
kill %"id do job"
Processos em Foreground, 
Background e Prioridades
Prioridades dos processos
PR => Prioridade ( 0 até 39 )
NI => Nice ( -20 até +19 )
nice -n -20 “comando" 
nice -n 15 “comando“
renice -n -8 “pid" 
renice -n 8 “pid"
Conclusão
 Processos em foreground prendem o terminal do 
usuário.
 Processos em background são executados em 
segundo plano liberando o terminal para execução 
de outros comandos.
 Processos possuem prioridades de 0 até 39 e podem 
ser alterados entre -20 a +19. Sendo o menor valor 
de maior prioridade.
Próxima aula
 Comandos básicos de rede.
Verificando as interfaces de rede e alterando IP.
Fundamentos de Linux
Capítulo 6. Comandos Básicos de Rede
Prof. Douglas Rafael Silva
Fundamentos de Linux
Aula 6.1. Verificando as interfaces e adicionando IP
Prof. Douglas Rafael Silva
Nesta aula
 Como verificar interfaces de rede.
 Como configurar IP nas interfaces.
Verificando as interfaces e 
adicionando IP
Pacotes para gerenciamento de rede:
net-tools (descontinuado):
Comandos => ifconfig e route
iproute:
Comando => ip
Verificando as interfaces e 
adicionando IP
Lista as interfaces:
ip address show
ifconfig
Baixa interfaces:
ip link set "interface" down
ifconfig "interface" down
Sobe interfaces:
ip link set "interface" up
ifconfig "interface" up
Verificando as interfaces e 
adicionando IP
Define um IP:
ip addr add "IP/MASK" dev "interface"
ifconfig "interface" "IP" netmask "mascara“
Deleta um IP de uma interface:
ip addr del "IP/MASK" dev "interface“
ifconfig "interface" delete "IP" 
Define novos IP's em uma interface:
ip addr add "IP/MASK" dev "interface"
ifconfig "interface":"num" "IP" netmask "mascara"
Conclusão
 Existem dois pacotes principais para gerência de 
rede, o net-tools que traz os comandos ifconfig e 
route. E o pacote iproute que traz o comando ip.
 Através desses comandos podemos verificar as 
interfaces de rede e realizar alterações.
Próxima aula
 Como listar, criar e deletar rotas.
Fundamentos de Linux
Aula 6.2. Rotas
Prof. Douglas Rafael Silva
Nesta aula
 Como gerenciar as rotas no sistema.
Rotas
Lista as rotas:
ip route show
route
Deleta rota default:
ip route del default
route del default
Cria rota default:
ip route add default via "IP“
route add default gw "IP"
Rotas
Adiciona rota:
ip route add "rede/mask" via "IP" dev "interface“
route add -net "REDE" gw "IP"
Deleta rota:
ip route del "rede/mask" via "IP" dev "interface“
route del -net "REDE" gw "IP"
Conclusão
 Utilizando os comandos route e ip route, podemos 
alterar e verificar as rotas no sistema.
Próxima aula
 Fixando as configurações de rede.
Fundamentos de Linux
Aula 6.3. Fixando as configurações de rede
Prof. Douglas Rafael Silva
Nesta aula
 Como fixar as configurações de rede.
Fixando as configuração de rede
Configurando IP e Máscara:
/etc/sysconfig/network-scripts/ifcfg-xxx
IPADDR=192.168.1.10 
NETMASK=255.255.255.0 
Reinicia as interfaces de rede:
systemctl restart network
Fixando as configuração de rede
Fixar rota default:
/etc/sysconfig/network
GATEWAY=192.168.1.1
Fixar rota:
/etc/sysconfig/network-scripts/route-xxx
192.168.2.0/24 via 192.168.2.1 dev enp0xx
Conclusão
 Os comandos para gerenciamento de rede fazem 
alteração em memória, para fixar essas 
configurações é necessário salvar em arquivos.
 Arquivo /etc/sysconfig/network.
 Diretório /etc/sysconfig/network-scripts/.
Próxima aula
 Resolução de nomes.
Fundamentos de Linux
Aula 6.4. Resolução de nomes
Prof. Douglas Rafael Silva
Nesta aula
 Como o Linux realiza resolução de nomes.
Resolução de nomes
Configuração dos servidores de DNS:
/etc/resolv.conf
nameserver => aponta o servidor de DNS
Resolução de Nomes:
/etc/hosts
Apontamento de IP -> nome (por padrao é consultado antes do DNS)
Precedência da resolução de nomes é configurada no arquivo:
/etc/nsswitch.conf
Resolução de nomes
Comandos úteis: pacote bind-utils
Resolução de nomes e dns reverso:
• host
• dig
• nslookup
Verifica conectividade:
ping
-c => define a quantidade de pacotes
Conclusão
 Por padrão, a resolução de nomes no sistema 
consulta o arquivo /etc/hosts primeiro e em seguida 
consulta servidores de DNS listados no arquivo 
/etc/resolv.conf.
Próxima aula
 Comandos para verificar conexões (netstat, telnet e 
nc).
Fundamentos de Linux
Aula 6.5. Verificando conexões (netstat, telnet e nc)
Prof. Douglas Rafael Silva
Nesta aula
 Como verificar conexões ativas e testar 
conectividade com portas.
Verificando conexões (netstat, 
telnet e nc)
Mostra conexões ativas:
netstat
Parâmetros:
-n => não resolve nome
-a => todas as conexões (all)
-t => tcp
-u => udp
-p => pid do processo
Verificando conexões (netstat, 
telnet e nc)
Testa conexões:
telnet
nc -v
Abre uma porta no servidor (útil para testar conectividade 
com alguma porta):
nc -l -p “Porta”
Conclusão
 O comando netstat verifica as conexões ativas na 
máquina e é muito útil para checar se uma porta está 
escutando.
 Os comandos telnet e nc testam conectividades em 
determinadas portas.
Próxima aula
 Gerenciando usuários no sistema.
Fundamentos de Linux
Capítulo 7. Gerenciamento de Usuários e Grupos
Prof. Douglas Rafael Silva
Fundamentos de Linux
Aula 7.1. Gerenciamento de usuários
Prof. Douglas Rafael Silva
Nesta aula
 Como gerenciar usuários.
 Criar, remover e modificar usuários.
Gerenciando usuários
Usuários são armazenados no arquivo /etc/passwd
7 campos separados por :
Nome: Senha: UID: GID: Descrição: Home: Shell
O Campo “Senha” com x indica que as senhas estão armazenadas no 
arquivo: /etc/shadow
Gerenciando usuários
Cria usuário:
useradd "nome do usuario" (é criado um grupo para esse usuário)
Opções:
-s => shell
-c => comentário
-m => solicita a criação de um home
-d => home
-g => grupo primário
-G => grupo secundário
Gerenciando usuários
Definir senha do usuário:
passwd "usuario"
Remove usuário:
userdel "nome do usuario"
Opção:
-r => remove o home do usuário
Modifica usuário:
usermod "opcoes" "nome do usuario“ (Mesmas opções do useradd)
Conclusão
 O arquivo /etc/passwd contém as informações dos 
usuários do sistema.
 Os comandos useradd, userdel e usermod podem 
ser utilizados para manipular esse arquivo.
Próxima aula
 Gerenciamento de grupos de usuário.
Fundamentos de Linux
Aula 7.2. Gerenciamento de grupos
Prof. Douglas Rafael Silva
Nesta aula
 Como gerenciar os grupos de usuário.
Gerenciando grupos
Grupos são armazenados no arquivo /etc/group
4 campos separados por :
Grupo: Senha: ID: Usuários
O Campo “Senha” com x indica que as senhas estão armazenadas no 
arquivo: /etc/gshadow
Gerenciando grupos
Cria grupo:
groupadd "nome grupo"
Altera o grupo primário de um usuário:
usermod -g "grupo" "usuario"
Altera o grupo secundário de um usuário:
usermod -G "grupo" "usuario"
Adiciona usuário em um grupo:
usermod -a -G "grupo" "usuario"
Gerenciando grupos
Mostra o UID e todos GID que usuário pertence:
id "usuario"
Mostra os grupos de um usuário:
groups "usuario"
getent pode ser usado para consultar /etc/passwd e /etc/group
getent passwd "usuario"
getent group "grupo"
Conclusão
 O arquivo /etc/group armazena os grupos do sistema.
 Comando groupadd adiciona grupos e o comando 
usermod pode ser utilizado para manipular grupos de 
usuários.
Próxima aula
 Definindo permissões de arquivos e diretórios.
Fundamentos de Linux
Capítulo 8. Permissões de Arquivos e Diretórios
Prof. Douglas Rafael Silva
Fundamentos de Linux
Aula 8.1. Definindo permissões de arquivos e diretórios
Prof. Douglas Rafael Silva
Nesta aula
 Como funciona as permissões de arquivos e 
diretórios;
 E como alterar as permissões.
Definindo permissões de arquivos e 
diretórios
- r w - r - - r - - root root
Tipo do arquivo => Usuário Dono => Grupo Dono => Outros
r = leitura (read) 
w = escrita (write) 
x = execução (execute) 
Arquivo -> ler (r), escrever (w) e executar (x)
Diretório -> listar (r) criar e remover (w) e acessar (x)
Definindo permissões de arquivos e 
diretórios
u => usuário g => grupo o => outros a => todos
=  define
+  adiciona
-  remove
Modificar permissões:
chmod u=rw,g=rw,o=r arquivo.txt
chmod a=rw arquivo.txt
Definindo permissões de arquivos e 
diretórios
r = leitura (read) -> 4
w = escrita (write) -> 2
x = execução (execute) -> 1
Modificar permissõesde forma octal:
chmod 644 arquivo.txt
Parâmetro:
-R => define permissões de forma recursiva
Comando stat mostra as permissões das duas formas
Conclusão
 As permissões dos arquivos e diretórios são 
definidas por usuário, grupo e outros.
 O comando usermod é utilizado para alterar as 
permissões.
Próxima aula
 Alterando os donos do arquivo.
Fundamentos de Linux
Aula 8.2. Alterando os donos de arquivos
Prof. Douglas Rafael Silva
Nesta aula
 Como alterar o usuário e grupo dono de um arquivo.
Alterando os donos dos arquivos
Alterar usuário e grupo dono:
chown usuario “arquivo ou diretório”
chown usuário:grupo “arquivo ou diretório”
chown :grupo “arquivo ou diretório”
chgrp grupo “arquivo ou diretório”
-R => altera de forma recursiva
Conclusão
 O comando chown altera usuário e grupo de um 
arquivo.
 O comando chgrp pode ser usado para alterar o 
grupo dono.
Próxima aula
 Conhecendo os atributos especiais de arquivos.
 Como alterar os atributos e configuração de umask.
Fundamentos de Linux
Aula 8.3. Atributos especiais
Prof. Douglas Rafael Silva
Nesta aula
 Atributos especiais – SUID, SGID e Stick.
 Alterando os atributos com o chmod.
 Umask.
Atributos especiais
Atributos especiais:
SUID => utiliza a permissão do usuário dono 
SGID => cria arquivos e diretórios herdando o mesmo grupo dono
Stick => somente quem criou um arquivo no diretório consegue apagar e renomear
-r w s r – x r – x root root /bin/passwd
S – sem permissão de execução
s – com permissão de execução
T – sem permissão de execução
t – com permissão de execução
Atributos especiais
Adicionar os atributos especiais:
chmod u+s “arquivo”
chmod g+s “arquivo”
chmod o+t “arquivo”
SUID => 4
SGID => 2 
Stick => 1
chmod 4644 “arquivo”
Atributos especiais
umask => máscara usada para definir permissões de novos arquivos e 
diretórios
umask 0022
0777
- 0022
--------
0755 => Diretório
0644 => Arquivo
Conclusão
 Em alguns casos, é necessário utilizar atributos 
especiais para definir determinadas permissões.
 O atributo SUID é utilizado para executar um 
comando ou script com permissão de dono.
 O atributo GUID faz com que arquivos criados dentro 
um diretório herdem o grupo dono do diretório.
 Stick somente quem criou um arquivo no diretório 
consegue apagar e renomear.

Continue navegando