1. Laboratório de
Fundamentos em TIC
Ambiente Ubuntu e Programação Shell
Prof. Gabriel Resende Machado
gabrielmachado@unifeso.edu.br
https://www.linkedin.com/in/machadogabriel
https://github.com/UNIFESO-Gabriel/fundamentos-em-tic
2. A Distribuição Ubuntu
● Como visto anteriormente, o kernel Linux é utilizado na implementação de diversos sistemas
operacionais para públicos específicos, conhecidos como distribuições (ou distros);
● Uma distro é um sistema operacional formado pelo (i) kernel Linux, (ii) o shell, (iii) o gerenciador de
pacotes, como APT (Debian/Ubuntu), YUM/DNF (Fedora/Red Hat), e Pacman (Arch Linux), (iv) uma
interface gráfica (GNOME, Unity) e (v) um conjunto de aplicativos padrão;
● O Ubuntu é uma das distribuições Linux mais populares, tanto para usuários tradicionais como
avançados. Se destaca por sua facilidade de uso, robustez e ampla comunidade de suporte.
2
3. A Distribuição Ubuntu - Por que tão Popular?
● Processo de instalação simples e composto por uma interface gráfica passo a passo. Sua interface
gráfica do S.O. é baseada no GNOME, conhecida por ser intuitiva e fácil de usar;
● Conta com o suporte profissional (inclusive do próprio kernel) da empresa inglesa Canonical, além
de possuir uma das maiores comunidades de usuários Linux;
● Possui ciclos regulares de lançamento de novas versões LTS (Long Term Support) a cada dois anos.
Essas versões recebem suporte por até cinco anos;
● O Ubuntu é conhecido por sua excelente compatibilidade com uma vasta gama de hardwares,
facilitando a instalação e operação em diferentes tipos de máquinas;
● O Ubuntu utiliza o sistema de pacotes APT e pacotes DEB, que são conhecidos por sua maturidade,
estabilidade e facilidade de uso;
● O Ubuntu vem com uma seleção abrangente de softwares pré-instalados, incluindo LibreOffice,
Firefox, e outras ferramentas úteis, tornando-o pronto para uso logo após a instalação;
● Com o suporte crescente para jogos no Linux, o Ubuntu se beneficia de iniciativas como o Steam Play
e o Proton, tornando-o uma escolha popular entre os gamers.
3
4. A Distribuição Ubuntu - GNOME
● GNOME (GNU Network Object Model Environment): ambiente de desktop livre e de código aberto
para S.Os. baseados em UNIX, como o kernel Linux. Fornece uma interface gráfica de usuário (GUI)
juntamente com um conjunto de aplicativos essenciais;
○ GNOME Shell: A interface principal do GNOME, que inclui a barra superior, o painel de
atividades, o menu de aplicativos, áreas de trabalho virtuais, e notificações;
○ Mutter: O gerenciador de janelas do GNOME, responsável por gerenciar a aparência e a
colocação das janelas na tela;
○ Nautilus (Arquivos): O gerenciador de arquivos do GNOME, que permite navegar, copiar, mover
e organizar arquivos e pastas;
○ GNOME Terminal: O terminal padrão do GNOME, utilizado para executar comandos de linha de
comando;
○ Aplicativos GNOME: variedade de aplicativos essenciais que cobrem necessidades básicas de
uso diário, como GNOME Settings, Software, Calendar, Photos, Music, Videos (Totem), Disks.
4
6. A Distribuição Ubuntu - Atalhos GNOME
6
Navegação no Nautilus
Ctrl + L Foca na barra de localização
Ctrl + T/W Abre uma nova aba/Fecha aba.
Ctrl + H Mostra/oculta arquivos ocultos.
F2 Renomeia um arquivo.
Ctrl + Shift + N Cria uma nova pasta.
Alt + ← / →
Navega para a pasta
anterior/seguinte.
Navegação do Sistema
Super + A Abre a visão geral de aplicativos
Super + S Abre a visão geral de atividades.
Super + Tab Alterna entre aplicativos abertos.
Super + H Minimiza a janela atual.
Alt + Tab
Alterna entre janelas abertas do
aplicativo atual.
Alt + F4 Fecha a janela atual.
Super + M
Abre a bandeja de mensagens
(notificações).
Super + D Mostra a área de trabalho.
Super + N Restaura janelas minimizadas.
Super: a tecla com a logo do Windows.
7. A Distribuição Ubuntu - Atalhos GNOME
7
Acesso Rápido
Alt + F2 Abre a janela de comandos rápidos.
Print Screen Captura de tela inteira.
Alt + Print
Screen
Captura a janela ativa.
Super + L Bloqueia a tela.
GNOME Terminal
Ctrl + Shift + T/W Abre/Fecha uma nova aba.
Ctrl + Shift + C Copia texto selecionado.
Ctrl + Shift + V Cola texto selecionado.
Ctrl + Shift + N Abre uma nova janela.
Ctrl + Shift + Q Fecha janela atual.
Ctrl + Alt + T Abre o GNOME terminal.
Ctrl + Page
Up/Page Down
Alterna entre abas.
Ctrl + L “Limpa” a tela.
Super: a tecla com a logo do Windows.
8. A Distribuição Ubuntu - Editores de Texto
● O Ubuntu oferece uma variedade de editores de texto,
desde simples edições de texto até desenvolvimento de
software profissional.
○ Gedit: editor de texto padrão do GNOME.
Reconhece a sintaxe das principais linguagens de
programação. Ideal para edição de texto e scripts
básicos por meio de uma GUI;
○ Nano: Um editor de texto de linha de comando
simples e intuitivo. Útil para edição de arquivos de
configuração e scripts diretamente no terminal;
○ Vim: Outro editor de texto de linha de comando,
que é uma versão aprimorada do vi. Altamente
configurável e extensível por meio de plugins. Há o
modo normal e modo de inserção para comandos
e edição. Uso mais avançado.
8
9. A Distribuição Ubuntu - Shell e Bash
● O Shell é um programa que fornece uma interface para os usuários
interagirem com o sistema operacional por meio de comandos (CLI).
● O Bash (Bourne Again Shell) é um tipo de Shell utilizado pela maioria
das distribuições Linux, sendo uma delas, o Ubuntu;
○ Bash é uma versão avançada do Bourne Shell (sh), desenvolvida
como parte do projeto GNU;
○ O Shell atualmente utilizado no macOS é o Z Shell (zsh).
● Características do Bash:
○ Suporte a programação de scripts complexos;
○ Recursos avançados de edição de linha de comando;
○ Expansão de variáveis e arrays;
○ História de comandos e aliases;
○ Controle de trabalho e manipulação de processos. 9
10. A Distribuição Ubuntu - Comandos Bash Tradicionais
10
Comandos do Sistema
man Mostra o manual do comando.
chmod Altera permissões de arquivos/diretórios.
chown
Altera o proprietário de um
arquivo/diretório.
ps Mostra os processos em execução.
df / du Mostra o uso geral de espaço no disco.
wget baixa arquivos de um endereço Web.
gzip / gunzip Comprime/descomprime arquivos.
curl
Transfere dados entre um sistema e
servidor.
sudo / whoami
Executa um comando como superuser /
mostra o nome do usuário final.
Comandos de Arquivos e Diretórios
ls / dir Lista arquivos no diretório atual.
cd / cd .. Muda/volta o diretório de trabalho.
pwd Mostra o caminho do diretório atual.
mkdir / rmdir Cria/remove um diretório
touch / rm Cria/remove um arquivo/diretório.
cp Copia arquivos ou diretórios.
mv Move ou renomeia arquivos/diretórios.
cat Exibe o conteúdo de um arquivo.
grep / find
Procura por arquivos / palavras-chave em
arquivos.
wc
Conta o número de letras, palavras e
linhas no arquivo.
11. A Distribuição Ubuntu - Comandos Bash Tradicionais
● Execute os seguintes passos abaixo, utilizando apenas os comandos do terminal:
○ Crie um diretório dentro do diretório home chamado aula-de-linux;
○ No diretório criado, crie um diretório filho com o nome diretório-filho;
○ No diretório filho, crie um arquivo de texto com o nome mensagem.txt;
○ Mova o arquivo mensagem.txt para o diretório pai;
○ Crie uma cópia do arquivo mensagem.txt;
○ Utilizando o editor Nano, abra o arquivo mensagem.txt, digite um texto e salve-o;
○ No terminal, exiba o conteúdo do arquivo e conte quantas palavras há nele.
11
12. A Distribuição Ubuntu - Comandos Bash Tradicionais
12
Operadores Especiais
*
Busca “padrões” de qualquer
número de caracteres
(incluindo nenhum).
ls teste2*
?
Busca um padrão de qualquer
caractere.
ls teste?
[ ]
Busca padrões de caracteres
em um intervalo
ls teste[1-2]
&
Executa um comando em
segundo plano.
comando1 &
&&
Encadeia comandos
executados corretamente.
gcc
programa.c -o
programa &&
./programa
Operadores Especiais
>
Envia a saída de um comando
para um arquivo. Substitui se
o arquivo já existe.
ls -l >
diretorios.txt
>>
Concatena (append) a saída
do comando para um arquivo.
Cria o arquivo se este não
existir.
ls -l >>
diretorios.txt
<
Lê a entrada a partir de um
arquivo.
wc -w <
diretorios.txt
|
Usa a saída de um comando
como entrada para outro
comando.
ls | wc -I
13. A Distribuição Ubuntu - Comandos Bash Tradicionais
● Execute os seguintes passos abaixo, utilizando apenas os comandos do terminal:
○ Utilize o comando top para visualizar os processos em execução no sistema;
○ Redirecione a saída do comando para um arquivo de texto;
○ Redirecione as 5 primeiras linhas do arquivo criado para outro arquivo de texto.
13
14. A Distribuição Ubuntu - Comandos Bash Tradicionais
● Execute os seguintes passos abaixo, utilizando apenas os comandos do terminal:
○ Utilize o comando top para visualizar os processos em execução no sistema;
○ Redirecione a saída do comando para um arquivo de texto;
○ Redirecione as 5 primeiras linhas do arquivo criado para outro arquivo de texto.
● Resposta:
○ top > processos.txt
○ head -n 5 processos.txt > primeiras_linhas.txt
14
15. A Distribuição Ubuntu - Comandos Bash Tradicionais
● Execute os seguintes passos abaixo, utilizando apenas os comandos do terminal:
○ Utilize o comando wget para fazer o download do arquivo contido no link
https://raw.githubusercontent.com/adaoduque/Brasileirao_Dataset/master/campeonato-brasi
leiro-full.csv;
○ Quantas linhas tem o arquivo?
○ Em quantos jogos o Vasco aparece?
○ Utilizando o comando "grep", identifique quantos jogos ocorreram em 2007;
○ Salve as partidas jogadas pelo Vasco contra o Flamengo em um arquivo chamado classico.txt.
15
16. A Distribuição Ubuntu - Comandos Bash Tradicionais
● Execute os seguintes passos abaixo, utilizando apenas os comandos do terminal:
○ Utilize o comando wget para fazer o download do arquivo contido no link
https://raw.githubusercontent.com/adaoduque/Brasileirao_Dataset/master/campeonato-brasileiro-full.csv; Quantas
linhas tem o arquivo?
○ Em quantos jogos o Vasco aparece?
○ Utilizando o comando "grep", identifique quantos jogos ocorreram em 2007.
○ Salve as partidas jogadas pelo Vasco contra o Flamengo em um arquivo chamado classico.txt.
● Respostas:
○ wget https://raw.githubusercontent.com…;
○ wc -l campeonato-brasileiro-full.csv;
○ grep -i "Vasco" campeonato-brasileiro-full.csv | wc -l
○ grep -c "2007" campeonato-brasileiro-full.csv
○ grep Vasco campeonato-brasileiro-full.csv | grep Flamengo > classico.txt
16
17. Laboratório de
Fundamentos em TIC
Prof. Gabriel Resende Machado
gabrielmachado@unifeso.edu.br
https://www.linkedin.com/in/machadogabriel
https://github.com/UNIFESO-Gabriel/fundamentos-em-tic
Ambiente Ubuntu e Programação Shell