Lab 3.1 - Navegação e Criação no Sistema de Arquivos
Objetivos
Ao final deste lab, você será capaz de:
- Navegar no sistema de arquivos Linux
- Criar arquivos e diretórios
- Compreender a estrutura FHS (Filesystem Hierarchy Standard)
- Utilizar comandos básicos (cd, ls, mkdir, touch, etc.)
- Manipular arquivos e diretórios
Pré-requisitos
- Ubuntu 24.04 instalado e funcional
- Terminal aberto
- Acesso de usuário normal (não é necessário root para a maioria dos exercícios)
Exercício 1: Navegação Básica
Etapa 1: Diretórios Importantes
# Ver o diretório atual
pwd
# Ir para o diretório home
cd ~
# ou
cd $HOME
# Ver o conteúdo
ls
# Ver com detalhes
ls -l
# Ver também arquivos ocultos
ls -la
Etapa 2: Estrutura FHS
# Ir para a raiz
cd /
# Ver a estrutura
ls -la /
# Explorar diretórios importantes
ls /bin # Binários essenciais
ls /usr/bin # Binários de usuário
ls /etc # Arquivos de configuração
ls /var # Dados variáveis
ls /home # Diretórios de usuários
ls /tmp # Arquivos temporários
Pergunta: Quais são os diretórios principais que você vê?
Etapa 3: Navegação Relativa e Absoluta
# Caminho absoluto (a partir da raiz)
cd /home/$USER
# Caminho relativo (a partir do diretório atual)
cd Documents # Se Documents existir no diretório atual
# Voltar para o diretório anterior
cd -
# Subir um nível
cd ..
# Subir dois níveis
cd ../..
Exercício 2: Criação de Diretórios
Etapa 1: Criar Diretórios
# Criar um diretório
mkdir meu-lab
# Criar vários diretórios
mkdir dir1 dir2 dir3
# Criar uma árvore de diretórios
mkdir -p projeto/src projeto/docs projeto/tests
# Verificar
tree projeto
# Se tree não estiver instalado:
# sudo apt install tree
Etapa 2: Estrutura Organizada
# Criar uma estrutura para um projeto
mkdir -p ~/projetos/linux-lab/{docs,scripts,data,backup}
# Ver a estrutura
tree ~/projetos/linux-lab
# Ou com ls
ls -R ~/projetos/linux-lab
Exercício 3: Criação de Arquivos
Etapa 1: Métodos de Criação
# Método 1: touch (arquivo vazio)
touch arquivo1.txt
# Método 2: echo
echo "Conteúdo do arquivo" > arquivo2.txt
# Método 3: cat com heredoc
cat > arquivo3.txt << EOF
Linha 1
Linha 2
Linha 3
EOF
# Método 4: Editor
nano arquivo4.txt
# Escreva o texto, Ctrl+O para salvar, Ctrl+X para sair
Etapa 2: Verificar os Arquivos
# Ver os arquivos criados
ls -lh
# Ver o conteúdo
cat arquivo2.txt
# Contar as linhas
wc -l arquivo3.txt
# Ver as primeiras linhas
head -2 arquivo3.txt
# Ver as últimas linhas
tail -2 arquivo3.txt
Exercício 4: Manipulação de Arquivos
Etapa 1: Copiar e Mover
# Criar um diretório de teste
mkdir test-files
cd test-files
# Criar um arquivo
echo "Test" > original.txt
# Copiar
cp original.txt copia.txt
# Copiar para outro diretório
cp original.txt ~/Documents/
# Copiar um diretório
cp -r ~/meu-lab ~/meu-lab-backup
# Mover (renomear)
mv original.txt renomeado.txt
# Mover para outro diretório
mv renomeado.txt ~/Documents/
Etapa 2: Remover
# Remover um arquivo
rm arquivo1.txt
# Remover vários arquivos
rm arquivo2.txt arquivo3.txt
# Remover um diretório vazio
rmdir dir-vazio
# Remover um diretório com conteúdo
rm -r meu-lab
# Remover com confirmação
rm -ri projeto/
Atenção: rm -r remove permanentemente! Não vai para a lixeira.
Exercício 5: Busca de Arquivos
Etapa 1: find
# Encontrar todos os arquivos .txt no diretório atual
find . -name "*.txt"
# Encontrar em todo o sistema (pode demorar)
find / -name "arquivo.txt" 2>/dev/null
# Encontrar arquivos modificados recentemente
find ~ -mtime -1 # Últimas 24h
# Encontrar arquivos maiores que 1MB
find ~ -size +1M
Etapa 2: locate (se instalado)
# Instalar locate
sudo apt update
sudo apt install mlocate
# Atualizar a base de dados
sudo updatedb
# Pesquisar
locate arquivo.txt
Exercício 6: Prática Completa
Etapa 1: Criar uma Estrutura de Projeto
# Criar a estrutura
mkdir -p ~/projeto-linux/{src/{scripts,config},docs,logs,backup}
# Criar arquivos
touch ~/projeto-linux/src/scripts/script1.sh
touch ~/projeto-linux/src/config/config.conf
echo "Log inicial" > ~/projeto-linux/logs/app.log
# Ver a estrutura
tree ~/projeto-linux
Etapa 2: Organizar os Arquivos
cd ~/projeto-linux
# Criar arquivos de teste
touch test1.txt test2.txt test3.txt
# Criar um diretório para os testes
mkdir tests
# Mover os arquivos de teste
mv test*.txt tests/
# Verificar
ls -R
Exercício 7: Comandos Úteis
Etapa 1: Informações sobre Arquivos
# Tipo de arquivo
file arquivo.txt
file /bin/ls
# Tamanho do arquivo
du -h arquivo.txt
# Tamanho de um diretório
du -sh ~/projeto-linux
# Espaço em disco
df -h
Etapa 2: Links Simbólicos
# Criar um link simbólico
ln -s ~/projeto-linux/src/scripts/script1.sh ~/script1-link
# Ver o link
ls -l ~/script1-link
# Seguir o link
readlink -f ~/script1-link
Verificação
Checklist
Verifique se você consegue:
- Navegar no sistema de arquivos (cd, pwd)
- Ver o conteúdo dos diretórios (ls com opções)
- Criar diretórios (mkdir, mkdir -p)
- Criar arquivos (touch, echo, cat, nano)
- Copiar e mover arquivos (cp, mv)
- Remover arquivos e diretórios (rm, rmdir)
- Buscar arquivos (find, locate)
- Compreender a estrutura FHS
Perguntas para Reflexão
-
Qual a diferença entre caminho absoluto e relativo?
- Absoluto: começa com
/(a partir da raiz) - Relativo: a partir do diretório atual
- Absoluto: começa com
-
Por que usar
mkdir -p?- Cria os diretórios pais se necessário
- Evita erros se o diretório já existir
-
Qual a diferença entre
rmermdir?rm: remove arquivos e diretórios (com -r)rmdir: remove apenas diretórios vazios
Próximos Passos
- Lab 3.2: Gerenciamento de Permissões
- Lab 3.3: Busca e Links
- Capítulo 3.2: Estrutura de Diretórios
Recursos Ubuntu 24.04
- Documentação do Ubuntu
- Filesystem Hierarchy Standard
- Comandos:
man comandopara ajuda
Lab criado em: Dezembro de 2024 - Testado no Ubuntu 24.04