Pular para o conteúdo
Waldo Eller | Cloud/DevOps: início
Linux

Dia 08/30 - Revisão Geral

Hoje é o Dia 08 do desafio de 30 dias estudando Linux

Publicado em

22 min de leitura
Capa do artigo Dia 08/30 - Revisão Geral

Hoje, é o oitavo dia do meu desafio de 30 dias estudando Linux com foco na certificação Linux Essentials (LPI 010-160).

O dia foi diferente: sem conteúdo novo. A proposta foi uma revisão estratégica e profunda usando uma metodologia comprovada de aprendizado.

📌 Metodologia aplicada hoje: Teoria → Exercício → Prática → Explicar → Revisar


🚀 UP Linux - Sua plataforma de estudos

Durante todo esse desafio, uso a plataforma UpLinux.Cert para praticar e testar o conhecimento:

👉 https://uplinux.com.br

O que tem disponível hoje:

Recurso Quantidade
📋 Questões disponíveis +1.000 questões
💻 Desafios no Terminal Virtual +100 desafios práticos
🔄 Revisão Inteligente (Spaced Repetition) 10 para revisar hoje
🎯 Modos de estudo Livre, Tópico, Cronometrado, Flashcard

Meu progresso atual:

  • ✅ 330 questões respondidas
  • ✅ 79% de taxa de acerto
  • ✅ 260 corretas

📚 Cobertura da revisão de hoje

Tópico Conteúdo
1.1 Evolução do Linux e sistemas operacionais populares
1.2 Principais Aplicações Open Source
1.3 Entendendo o Software Open Source e suas Licenças
1.4 Habilidades ICT e trabalhando no Linux
2.1 O básico sobre a linha de comando


📖 PARTE 1 — TÓPICO 1: A Comunidade Linux e a Carreira Open Source


🧠 TEORIA — 1.1: Evolução do Linux

Linha do tempo essencial

1969 → Unix criado nos laboratórios Bell (AT&T)
1983 → Richard Stallman inicia o projeto GNU
1985 → FSF (Free Software Foundation) fundada
1991 → Linus Torvalds publica o kernel Linux v0.01
1992 → Kernel Linux licenciado sob GPL
1993 → Debian e Slackware criados
1994 → Red Hat e SUSE fundadas
2004 → Ubuntu lançado (base: Debian)
2008 → Android lançado (base: kernel Linux)
2026 → Linux em 96%+ dos servidores web do mundo

A arquitetura em camadas

┌─────────────────────────────────────┐
│         Aplicativos do Usuário      │ Firefox, LibreOffice, bash...
├─────────────────────────────────────┤
│    Ambiente Gráfico (opcional)      │ GNOME, KDE, XFCE, Cinnamon
├─────────────────────────────────────┤
│         Ferramentas GNU             │ ls, cp, grep, gcc, bash...
├─────────────────────────────────────┤
│           Kernel Linux              │ Gerencia CPU, RAM, I/O, rede
├─────────────────────────────────────┤
│             Hardware                │ CPU, RAM, disco, rede...
└─────────────────────────────────────┘

Conceitos-chave

Conceito Definição
Kernel Núcleo do SO — gerencia hardware, memória, processos
Shell Interface entre usuário e kernel (bash, zsh, sh)
Distribuição Kernel + GNU + gerenciador de pacotes + configurações
GNU/Linux Nome correto do sistema completo
Android Usa kernel Linux, mas não é GNU/Linux

Famílias de distribuições

Família Gerenciador Formato Exemplos
Debian apt .deb Ubuntu, Mint, Kali, Raspberry Pi OS
Red Hat dnf/yum .rpm Fedora, CentOS, Rocky, RHEL
SUSE zypper .rpm openSUSE, SLES
Arch pacman .pkg.tar.zst Arch, Manjaro, EndeavourOS

✏️ EXERCÍCIO — 1.1

Responda antes de ver a resposta:

1. Em que ano Linus Torvalds publicou o kernel Linux?

✅ 1991

2. O Android é GNU/Linux? Por quê?

✅ Não. Android usa o kernel Linux, mas substitui as ferramentas GNU (bash, glibc) pelo ambiente Android (Bionic libc, ART runtime). Portanto é Linux, mas não GNU/Linux.

3. Qual gerenciador de pacotes usa o formato .deb?

✅ apt (e dpkg por baixo). Família Debian: Ubuntu, Mint, Kali.

4. Qual a diferença entre kernel e distribuição?

✅ O kernel gerencia o hardware. A distribuição é o sistema completo: kernel + ferramentas GNU + gerenciador de pacotes + software adicional + configurações padrão.

5. Cite dois sistemas que rodam Linux além de computadores desktop/servidor.

✅ Android (smartphones), Smart TVs, Roteadores (OpenWRT), IoT, Supercomputadores (100% do Top500).


💻 PRÁTICA — 1.1

# Verificar versão do kernel
$ uname -r
5.15.0-91-generic

# Informações completas do sistema
$ uname -a
Linux ubuntu 5.15.0-91-generic #101-Ubuntu SMP x86_64 GNU/Linux

# Identificar a distribuição
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"

# Tempo de atividade do sistema
$ uptime
10:30:00 up 2 days, 3:15, 1 user, load average: 0.52, 0.48, 0.45

# Informações de hardware
$ lscpu | head -10
Architecture: x86_64
CPU(s):       4
Thread(s) per core: 2
Model name: Intel(R) Core(TM) i7-8750H

🗣️ EXPLICAR — 1.1

Se você consegue explicar com suas próprias palavras, você aprendeu.

Linux é um kernel, não um sistema operacional completo. Linus Torvalds criou em 1991 apenas o núcleo — o componente que conversa com o hardware. O sistema operacional completo que usamos é formado pela combinação do kernel Linux com as ferramentas GNU criadas por Richard Stallman desde 1983. É por isso que o nome correto é GNU/Linux.

Distribuições são "sabores" do mesmo sistema base. Ubuntu, Fedora e Arch usam o mesmo kernel Linux, mas diferem em: gerenciador de pacotes, ciclo de releases, configurações padrão, e público-alvo. Ubuntu foca em facilidade; Arch foca em controle total; Fedora foca em inovação.



🧠 TEORIA — 1.2: Principais Aplicações Open Source

Desktop — Tabela de referência completa

Categoria Open Source Proprietário
Suite de escritório LibreOffice Microsoft Office
Processador de texto LibreOffice Writer Word
Planilhas LibreOffice Calc Excel
Apresentações LibreOffice Impress PowerPoint
Navegador web Firefox, Chromium Chrome, Edge
E-mail Thunderbird Outlook
Edição de imagem GIMP Photoshop
Edição vetorial Inkscape Illustrator
Edição de áudio Audacity Audition
Edição de vídeo Kdenlive / Shotcut Premiere

Servidor — O que cai na prova

Categoria Aplicação Observação
Servidor web Apache, Nginx Apache = mais usado; Nginx = mais leve
Banco de dados MySQL, MariaDB, PostgreSQL MariaDB = fork do MySQL
Linguagens PHP, Python, Perl Clássicos do servidor
Versionamento Git Padrão da indústria
Nuvem OpenStack Infraestrutura de nuvem privada

✏️ EXERCÍCIO — 1.2

1. Qual é a alternativa open source ao Microsoft Office?

✅ LibreOffice

2. Quais são os dois principais servidores web open source?

✅ Apache e Nginx

3. MariaDB é um fork de qual banco de dados?

✅ MySQL — criado quando a Oracle adquiriu a Sun Microsystems e o MySQL.

4. Qual editor de imagem raster open source é alternativa ao Photoshop?

✅ GIMP (GNU Image Manipulation Program)

5. Cite a linguagem de script open source mais associada ao WordPress.

✅ PHP



🧠 TEORIA — 1.3: Software Open Source e Licenças

As 4 liberdades do Software Livre (FSF)

⚠️ ATENÇÃO: A numeração começa em 0. Cai na prova!

# Liberdade
0 Liberdade de usar o programa para qualquer finalidade
1 Liberdade de estudar como o programa funciona e adaptá-lo
2 Liberdade de redistribuir cópias
3 Liberdade de distribuir versões modificadas

Software Livre vs Open Source

Aspecto Software Livre (FSF) Open Source (OSI)
Foco Liberdade ética e filosófica Praticidade e colaboração
Criador Richard Stallman / FSF Eric Raymond / OSI (1998)
Termo unificado FOSS (Free and Open Source Software)

Copyleft — O conceito mais importante

Software PROPRIETÁRIO → copyright → "você NÃO pode copiar"
Software LIVRE (copyleft) → "você PODE copiar, mas DEVE manter livre"

Copyleft é o princípio que garante que software livre permaneça livre após modificações.

Tabela completa de licenças

Licença Tipo Uso em proprietário Exige publicar modificações
GPLv2 / GPLv3 Copyleft forte ❌ ✅
LGPL Copyleft fraco ✅ (como biblioteca) ✅ (só a lib)
AGPL Copyleft forte+ ❌ ✅ (inclui SaaS)
MIT Permissiva ✅ ❌
Apache 2.0 Permissiva + patentes ✅ ❌
BSD Permissiva ✅ ❌
Creative Commons Para conteúdo (não código) Depende Depende

Modelos de negócio open source

1. Suporte e consultoria     → Red Hat/IBM, Canonical
2. Dual licensing            → versão libre + versão comercial
3. SaaS / Hosted             → software livre como serviço pago
4. Freemium                  → básico grátis, avançado pago
5. Open core                 → núcleo livre, features avançadas pagas

✏️ EXERCÍCIO — 1.3

1. Qual licença usa o kernel Linux?

✅ GPLv2 (com a cláusula "only" — Linus não migrou para v3)

2. O que significa "free" em "Free Software"?

✅ Liberdade (free as in freedom), não gratuidade. Pode ser pago.

3. Qual a diferença entre GPL e LGPL?

✅ GPL é copyleft forte — código derivado DEVE ser GPL. LGPL é copyleft fraco — permite uso de bibliotecas LGPL em software proprietário.

4. A licença MIT é copyleft?

✅ Não. MIT é permissiva — pode ser usada em software proprietário sem obrigação de abrir o código.

5. Para que serve a Creative Commons?

✅ Para conteúdo (textos, imagens, música) — não é adequada para código-fonte.

6. O que é AGPL e por que é mais restritiva que a GPL?

✅ AGPL cobre software distribuído como serviço web (SaaS). Se você modifica um software AGPL e o oferece como serviço, deve publicar o código-fonte.

7. As 4 liberdades começam em qual número?

✅ 0 (zero). Liberdade 0, 1, 2, 3.



🧠 TEORIA — 1.4: Habilidades ICT e Trabalhando no Linux

Ambientes gráficos (Desktop Environments)

DE Característica principal Distros
GNOME Moderno, minimalista Ubuntu, Fedora
KDE Plasma Rico em recursos, personalizável Kubuntu, openSUSE
XFCE Leve e rápido Xubuntu, Mint XFCE
Cinnamon Familiar ao Windows Linux Mint
MATE Clássico e estável Ubuntu MATE
LXQt Ultra leve Lubuntu

💡 Ponto crítico: A interface gráfica é opcional e separada do sistema. Você pode trocar o DE sem reinstalar o Linux.

Sistema de permissões — revisão rápida

# Estrutura de permissões
-rwxr-xr-- 1 carlos dev 1024 mai 08 10:00 arquivo.sh
 ↑↑↑ ↑↑↑ ↑↑↑
 │   │   └── outros (r--)
 │   └─────── grupo  (r-x)
 └─────────── dono   (rwx)

Tabela octal:

Octal Binário Permissão
7 111 rwx (leitura + escrita + execução)
6 110 rw- (leitura + escrita)
5 101 r-x (leitura + execução)
4 100 r-- (somente leitura)
0 000 --- (nenhuma)

Exemplos mais comuns:

chmod 755 script.sh    # dono: tudo | grupo e outros: ler+executar
chmod 644 arquivo.txt  # dono: ler+escrever | grupo e outros: ler
chmod 600 privado.txt  # dono: ler+escrever | ninguém mais
chmod +x script.sh     # adiciona execução para todos

SSH — Acesso remoto

# Conectar a servidor remoto
$ ssh usuario@192.168.1.100

# Copiar arquivo local para servidor
$ scp arquivo.txt usuario@servidor:/destino/

# Copiar arquivo do servidor para local
$ scp usuario@servidor:/caminho/arquivo.txt ./

# Gerar par de chaves SSH
$ ssh-keygen -t rsa -b 4096

# Copiar chave pública para o servidor
$ ssh-copy-id usuario@servidor

✏️ EXERCÍCIO — 1.4

1. Qual ambiente gráfico é mais recomendado para migração do Windows?

✅ Cinnamon (Linux Mint) — interface mais familiar ao Windows.

2. O que significa "chmod 644 arquivo.txt"?

✅ Dono: rw- (leitura + escrita) | Grupo: r-- (leitura) | Outros: r-- (leitura). Padrão para a maioria dos arquivos.

3. O que faz "chmod +x script.sh"?

✅ Adiciona permissão de execução para o dono, grupo e outros. Necessário para executar scripts.

4. Qual porta padrão usa o SSH?

✅ Porta 22.

5. O que faz "scp"?

✅ Secure Copy — copia arquivos entre hosts de forma segura usando o protocolo SSH.



📖 PARTE 2 — OBJETIVO 2.1: O Básico sobre a Linha de Comando


🧠 TEORIA — 2.1

O Shell e o Prompt

usuario@hostname:diretorio_atual$   ← usuário comum
usuario@hostname:diretorio_atual#   ← root (cuidado!)

Tipos de shell:

Shell Descrição
Bash Bourne Again Shell — padrão na maioria das distros
sh Bourne Shell — mais básico, portável
zsh Z Shell — popular, mais recursos
fish Friendly Interactive Shell — foco em usabilidade
dash Leve, usado em scripts do sistema (/bin/sh em muitas distros)

Anatomia de um comando

comando  [opções]     [argumentos]
   ls      -lah        /home/carlos
   ↑         ↑              ↑
Programa  Modificam      Alvo do
          comportamento   comando

Opções curtas vs longas — são equivalentes:

ls -a         # opção curta
ls --all      # opção longa equivalente

ls -l -a -h   # três opções separadas
ls -lah       # mesmo resultado, combinadas

Variáveis de Ambiente — tabela completa

Variável Conteúdo Exemplo
$HOME Diretório home do usuário /home/carlos
$USER Nome do usuário logado carlos
$SHELL Shell em uso /bin/bash
$PATH Diretórios de busca de executáveis /usr/bin:/bin
$PWD Diretório de trabalho atual /home/carlos/projetos
$OLDPWD Diretório anterior /tmp
$LANG Idioma e localização pt_BR.UTF-8
$PS1 Formato do prompt \u@\h:\w\$
$? Exit code do último comando 0 = sucesso
$$ PID do shell atual 1234

Como o $PATH funciona

Você digita: ls
     ↓
Shell percorre cada diretório do $PATH:
/usr/local/sbin → /usr/local/bin → /usr/sbin → /usr/bin → /sbin → /bin
     ↓
Encontrado em: /usr/bin/ls ✅ → Executa!
     ↓
Não encontrado em nenhum → "command not found"
# Ver o PATH
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# Descobrir onde está um executável
$ which ls
/usr/bin/ls

# Tipo do comando (builtin, externo, alias)
$ type cd
cd is a shell builtin

$ type ls
ls is /usr/bin/ls

Atalhos essenciais do terminal

Atalho Ação
Tab Autocompletar
Tab Tab Listar opções de autocompletar
Ctrl+R Busca reversa no histórico
Ctrl+A Início da linha
Ctrl+E Fim da linha
Ctrl+U Apagar até o início
Ctrl+K Apagar até o fim
Ctrl+W Apagar palavra anterior
Ctrl+L Limpar tela
Ctrl+C Cancelar processo (SIGINT)
Ctrl+Z Suspender processo (SIGTSTP)

Histórico de comandos

$ history            # lista todos
$ history 15         # últimos 15
$ !!                 # repete o último comando
$ sudo !!            # repete o último com sudo
$ !42                # executa o comando #42
$ !git               # último comando que começou com "git"
$ Ctrl+R             # busca reversa interativa

Redirecionamento e Pipes

# Redirecionamento de saída
$ ls > lista.txt          # cria/sobrescreve
$ ls >> lista.txt         # adiciona ao final (append)
$ ls 2> erros.txt         # redireciona stderr
$ ls 2>/dev/null          # descarta erros
$ make > build.log 2>&1   # stdout + stderr no mesmo arquivo

# Pipe: conecta saída ao próximo comando
$ cat /etc/passwd | grep root
$ ls -la | grep ".txt"
$ ps aux | grep nginx | grep -v grep

# Stdin, stdout, stderr
# 0 = stdin (entrada padrão)
# 1 = stdout (saída padrão)
# 2 = stderr (saída de erros)

Operadores de execução

# Sequência (independe do resultado)
$ cd /tmp ; ls ; pwd

# E lógico (só executa se anterior teve sucesso)
$ mkdir projeto && cd projeto && touch README.md

# OU lógico (só executa se anterior falhou)
$ cd /backup || mkdir /backup

# Background
$ long-running-command &

# Exit code
$ echo $?    # 0=sucesso | outro=erro

Tipos de comandos

Tipo Descrição Exemplos
Builtin Interno do shell cd, echo, read, type
Externo Binário em disco ls, grep, find
Alias Atalho definido pelo usuário ll (alias de ls -alF)
Função Função definida no shell Funções do .bashrc

Configuração do Shell

# Arquivo executado ao abrir terminal interativo
~/.bashrc

# Arquivo executado em login (SSH, console)
~/.profile ou ~/.bash_profile

# Aplicar mudanças sem fechar o terminal
$ source ~/.bashrc

✏️ EXERCÍCIO — 2.1

1. O que o símbolo # no prompt indica?

✅ Que o usuário é root (superusuário). Máxima atenção!

2. Qual a diferença entre > e >>?

✅ > sobrescreve o arquivo. >> adiciona ao final (append) sem apagar.

3. O que faz sudo !!?

✅ Re-executa o último comando com privilégios de root.

4. O que é $??

✅ O exit code do último comando. 0 = sucesso; qualquer outro valor = erro.

5. Como o shell encontra o executável de um comando?

✅ Percorre os diretórios da variável $PATH em ordem, até encontrar o executável.

6. Qual é o tipo do comando cd?

✅ Builtin — implementado internamente no shell (não existe como binário em disco).

7. O que faz cmd1 && cmd2?

✅ Executa cmd2 apenas se cmd1 retornar exit code 0 (sucesso).

8. O que faz 2>/dev/null?

✅ Redireciona o stderr para /dev/null, descartando mensagens de erro.

9. O que faz Ctrl+R no terminal?

✅ Ativa a busca reversa interativa no histórico — digita parte do comando para encontrá-lo.

10. Qual arquivo é executado ao abrir um novo terminal no Bash?

✅ ~/.bashrc (shell interativo não-login).


💻 PRÁTICA INTEGRADA

Exercício 1 — Explorando o ambiente

# Execute cada um e observe a saída
$ echo $SHELL           # Qual shell você usa?
$ echo $USER            # Quem é você?
$ echo $HOME            # Seu diretório home
$ echo $PATH            # Onde o shell busca executáveis?
$ echo $?               # Exit code do último comando
$ type cd               # cd é builtin?
$ type ls               # ls é externo?
$ which python3         # Onde está o python3?
$ uname -a              # Informações do sistema
$ uptime                # Há quanto tempo o sistema está ligado?

Exercício 2 — Redirecionamento na prática

# Criando e manipulando arquivos com redirecionamento
$ echo "Linha 1" > teste.txt
$ echo "Linha 2" >> teste.txt
$ echo "Linha 3" >> teste.txt
$ cat teste.txt

# Capturando erros
$ ls /diretorio_inexistente 2>/dev/null   # sem mensagem de erro
$ ls /diretorio_inexistente 2>erros.txt   # salva o erro

# Redirecionando tudo
$ ls /tmp /inexistente > saida.txt 2>&1   # stdout + stderr juntos
$ cat saida.txt

Exercício 3 — Pipes em cadeia

# Pipeline clássico: usuários com bash como shell
$ cat /etc/passwd | grep /bin/bash | cut -d: -f1 | sort

# Quantos processos estão rodando?
$ ps aux | wc -l

# Os 5 processos que mais consomem memória
$ ps aux | sort -k4 -rn | head -5

# Histórico: comandos mais usados
$ history | awk '{print $2}' | sort | uniq -c | sort -rn | head -10

Exercício 4 — Variáveis e configuração

# Criando e usando variáveis
$ NOME="Linux Essentials"
$ echo $NOME

# Exportando para subprocessos
$ export CURSO="LPI 010-160"
$ bash -c 'echo "Curso: $CURSO"'   # subprocesso herda a variável

# Adicionando ao PATH temporariamente
$ export PATH=$PATH:~/scripts
$ echo $PATH

# Verificar se mudança persiste (não persiste — é temporária)
$ bash             # novo shell
$ echo $PATH       # não tem ~/scripts (não foi exportado para .bashrc)
$ exit

🗣️ EXPLICAR — Revisão Geral

Teste final: explique cada conceito em uma frase.

GNU/Linux: O kernel Linux (Torvalds, 1991) + ferramentas GNU (Stallman, 1983) formam o sistema operacional GNU/Linux. Cada um precisava do outro para ser completo.

Distribuições: São "receitas" diferentes usando os mesmos ingredientes base (kernel Linux). Ubuntu foca em facilidade, Arch em controle, Fedora em inovação. A família define o gerenciador de pacotes (.deb/apt vs .rpm/dnf).

Software Livre vs Open Source: Software Livre (FSF) é uma questão de ética e liberdades dos usuários. Open Source (OSI) é uma questão de metodologia de desenvolvimento. FOSS cobre os dois. A diferença é filosófica, não técnica.

GPL (Copyleft): A GPL usa o copyright para garantir liberdade. Código GPL que você modifica e distribui DEVE também ser GPL. É o "efeito viral" que mantém o software livre sendo livre.

Shell: O shell interpreta seus comandos e os envia ao kernel. O $PATH define onde ele procura executáveis. Builtins (cd, echo) existem dentro do shell; externos (ls, grep) são binários em disco.

Pipes e Redirecionamento: O poder do Linux está em combinar ferramentas simples. | conecta stdout de um ao stdin do próximo. > redireciona saída para arquivo. 2>&1 une stderr ao stdout.


🗂️ Mapa Mental Completo — Tópico 1 + 2.1

CERTIFICAÇÃO LINUX ESSENTIALS — REVISÃO DIA 08
│
├── TÓPICO 1: Comunidade Linux e Open Source
│     │
│     ├── 1.1 Evolução do Linux
│     │     ├── 1969: Unix → 1983: GNU → 1991: Linux → hoje
│     │     ├── Kernel ≠ Distro ≠ Sistema Operacional
│     │     └── Famílias: Debian(apt/.deb) | Red Hat(dnf/.rpm) | Arch(pacman)
│     │
│     ├── 1.2 Aplicações Open Source
│     │     ├── Desktop: LibreOffice, Firefox, Thunderbird, GIMP
│     │     └── Servidor: Apache, Nginx, MySQL, MariaDB, Git
│     │
│     ├── 1.3 Licenças e Software Livre
│     │     ├── 4 liberdades: 0(usar), 1(estudar), 2(redistribuir), 3(modificar)
│     │     ├── Copyleft: GPL > LGPL > permissivas (MIT, Apache)
│     │     └── Creative Commons → conteúdo, não código
│     │
│     └── 1.4 Habilidades ICT
│           ├── DEs: GNOME, KDE, XFCE, Cinnamon (interface separada do sistema)
│           ├── Permissões: rwx / octal (644, 755, 600)
│           └── SSH para acesso remoto seguro
│
└── TÓPICO 2.1: Básico da Linha de Comando
      ├── Shell: bash(padrão), zsh, fish, dash
      ├── Prompt: $ (usuário) | # (root)
      ├── Anatomia: comando [opções] [argumentos]
      ├── $PATH: onde o shell busca executáveis
      ├── Variáveis: $HOME, $USER, $SHELL, $PATH, $?
      ├── Atalhos: Ctrl+R, Ctrl+A/E, Ctrl+U/K, Tab
      ├── Histórico: history, !!, !n, !cmd
      ├── Redirecionamento: >, >>, 2>, 2>&1, /dev/null
      ├── Pipes: | conecta stdout → stdin
      └── Operadores: && (AND), || (OR), ; (sequência), & (background)

🧪 SIMULADO FINAL — 15 questões estilo prova

1. Qual o nome correto do sistema completo com kernel Linux + ferramentas GNU?

✅ GNU/Linux

2. As 4 liberdades do software livre são numeradas de:

✅ 0 a 3 (começam em zero)

3. O kernel Linux usa qual licença?

✅ GPLv2

4. MariaDB é derivado de qual banco de dados?

✅ MySQL

5. Qual ambiente gráfico é padrão no Ubuntu?

✅ GNOME

6. O que faz chmod 755 script.sh?

✅ Dono: rwx (7) | Grupo: r-x (5) | Outros: r-x (5). O dono pode tudo; grupo e outros podem ler e executar.

7. Qual licença permite uso em software proprietário sem obrigação de abrir o código?

✅ MIT (e Apache 2.0, BSD — todas permissivas)

8. O que é $? no Bash?

✅ O exit code do último comando executado (0 = sucesso)

9. Como re-executar o último comando com sudo?

✅ sudo !!

10. O que indica o caractere # no prompt do Linux?

✅ O usuário está logado como root

11. cmd1 || cmd2 — quando cmd2 é executado?

✅ Apenas se cmd1 falhar (retornar exit code diferente de 0)

12. Qual arquivo configura aliases e funções pessoais no Bash?

✅ ~/.bashrc

13. O que faz ls 2>/dev/null?

✅ Executa ls descartando mensagens de erro (redireciona stderr para /dev/null)

14. Qual a diferença entre type e which?

✅ which mostra apenas o caminho do executável no PATH. type identifica se é builtin, alias, função ou externo.

15. O que é FOSS?

✅ Free and Open Source Software — termo que une Software Livre (FSF) e Open Source (OSI)


✅ Checklist do Dia 08

  • Linha do tempo do Linux (1969 → 2026)
  • Kernel vs Shell vs Distribuição vs GNU/Linux
  • Famílias de distros e seus gerenciadores de pacotes
  • Aplicações Open Source desktop e servidor
  • As 4 liberdades do software livre (começam em 0!)
  • Copyleft e todas as licenças: GPL, LGPL, AGPL, MIT, Apache, BSD, CC
  • Ambientes gráficos e suas características
  • Sistema de permissões com notação octal
  • SSH para acesso remoto
  • Anatomia do comando Linux
  • $PATH e como o shell localiza executáveis
  • Variáveis de ambiente essenciais
  • Atalhos do terminal (Ctrl+R, Tab, Ctrl+A/E...)
  • Histórico de comandos (history, !!, !n)
  • Redirecionamento: >, >>, 2>, 2>&1, /dev/null
  • Pipes e encadeamento de comandos
  • Operadores: &&, ||, ;, &
  • Tipos de comandos: builtin, externo, alias, função
  • Configuração do shell: ~/.bashrc vs ~/.profile
  • Simulado com 15 questões

📅 Próximo passo — Dia 09

Amanhã avanço para:

  • 2.2 — Usando a linha de comando para obter ajuda (man, apropos, whatis)
  • 2.3 — Usando diretórios e listando arquivos (ls avançado, FHS completo)

💻 Pratique tudo que foi revisado hoje no terminal virtual e nos simulados:
👉 https://uplinux.waldoeller.com/
+1.000 questões e +100 desafios práticos esperando por você!


Acompanhe o desafio completo aqui no blog.
Material de referência: LPI Learning Materials 010-160

Gostou da leitura?

Conecte-se comigo para acompanhar novas publicações e debater tecnologia.

Entrar em contato