📦 Capítulo 01: O Terminal Unix e Navegação no Sistema de Arquivos (pwd, ls, cd)
🎯 Objetivos da Aula
Ao final desta aula, você será capaz de:
- Compreender o papel da Linha de Comando (CLI) na engenharia de software e administração de servidores.
- Identificar a estrutura de diretórios em árvore dos sistemas operacionais baseados em Unix/Linux.
- Exibir o diretório atual de trabalho utilizando o comando
pwd. - Listar arquivos e pastas ocultas com
lse navegar entre diretórios comcd.
🧠 1. O Terminal e a Estrutura em Árvore do Sistema de Arquivos
Diferente das interfaces gráficas (GUI), onde arrastamos pastas com o mouse, no Terminal (CLI) interagimos diretamente com o sistema operacional por meio de comandos de texto de alta velocidade.
flowchart TD Root["/ (Diretorio Raiz - Root)"] --> Home["/home (Usuarios do Sistema)"] Root --> Var["/var (Logs e Dados Variaveis)"] Root --> Etc["/etc (Arquivos de Configuracao)"] Home --> UserDev["/home/dev (Diretorio do Desenvolvedor)"] UserDev --> Projetos["/home/dev/projetos"] Projetos --> AppC["/home/dev/projetos/sistema_alunos_c"]
Conceitos de Caminho:
- Caminho Absoluto: Especifica a localização completa a partir da raiz
/(ex.:/home/dev/projetos). - Caminho Relativo: Especifica a localização a partir do diretório atual onde você se encontra (ex.:
./projetosou../).
💻 2. Comandos Fundamentais de Navegação
1. pwd (Print Working Directory)
Exibe o caminho absoluto do diretório onde o seu terminal está atualmente posicionado:
$ pwd
/home/dev/projetos2. ls (List)
Lista os arquivos e subdiretórios contidos na pasta atual:
# Listagem simples
$ ls
# Listagem detalhada com permissoes, tamanho e data (-l)
$ ls -l
# Listagem detalhada incluindo arquivos ocultos iniciados por ponto (-)
$ ls -la3. cd (Change Directory)
Navega para outros diretórios do sistema:
# Entrar na pasta 'sistema_alunos' (Caminho relativo)
$ cd sistema_alunos
# Voltar um nivel para a pasta pai (..)
$ cd ..
# Ir direto para o diretorio inicial do usuario (Home ~)
$ cd ~
# Ir para a raiz do sistema
$ cd /⚔️ 3. Desafios Práticos (Exercícios 30/50/20)
🥉 Nível Bronze (Fixação)
- Qual a diferença de saída entre executar o comando
lse o comandols -lano terminal? - Para qual diretório o comando
cd ..leva o usuário?
🥈 Nível Prata (Aplicação)
- Escreva a sequência exata de comandos do terminal necessária para:
a) Verificar a pasta atual.
b) Entrar na pasta/var/log.
c) Listar todos os arquivos detalhados (incluindo ocultos).
d) Retornar ao diretório home (~).
🥇 Nível Ouro (Desafio)
- Abra o terminal em sua máquina (ou WSL/Linux) e navegue da raiz
/até a pasta do seu projeto C criado na Fase 01 usando apenas caminhos relativos. Registre os comandos executados em seu caderno de estudos.
💡 Gabaritos Sanfonados de Resposta
💡 Ver Gabarito do Nível Bronze
lsmostra apenas os nomes de arquivos e pastas visíveis.ls -lamostra uma lista detalhada (long format) incluindo permissões, proprietário, tamanho, data de modificação e arquivos ocultos (iniciados com.).- O comando
cd ..navega para o diretório pai (um nível acima na árvore de pastas).
💡 Ver Gabarito do Nível Prata (Sequência de Comandos)
$ pwd
$ cd /var/log
$ ls -la
$ cd ~📚 Referências Teóricas Oficiais
- SILBERSCHATZ, Abraham; GALVIN, Peter B.; GAGNE, Greg. Sistemas Operacionais com Java. 8ª Edição. Campus, 2010. Cap. 11 (Interface do Sistema de Arquivos).
- IEEE Std 1003.1 (POSIX Specification). Shell & Utilities — Shell Command Language.
⬅️ Voltar ao Sumário da Fase 02 | Próximo Capítulo (Manipulação de Arquivos e Pastas) ➡️