Ubuntu Estrutura de Diretórios
No Windows existem o C:, o D: e outras letras. No Linux não: tudo fica numa árvore única que começa em /, a "raiz". O seu HD, o pendrive, as configurações e até as informações sobre o hardware aparecem como pastas dentro dessa árvore. Saber o que mora em cada pasta é o que permite você achar as coisas e não mexer onde não deve.
- O que é a raiz
/e por que não existe "C:" no Linux. - Para que serve cada pasta principal:
/home,/etc,/var,/usr,/tmpe outras. - Quais pastas são suas e quais pertencem ao sistema.
- Onde procurar quando precisar de uma configuração, um log ou um programa.
A ideia: uma árvore de cabeça para baixo
Pense numa árvore genealógica. No topo fica a raiz, /. Dela saem pastas, e de cada pasta saem outras. Para chegar a qualquer arquivo, você parte da raiz e vai descendo:
/ ← a raiz: o começo de tudo ├── etc/ ← configurações do sistema ├── home/ ← as pastas dos usuários │ └── ana/ ← a pasta pessoal da Ana (o "~") │ ├── Documentos/ │ │ └── notas.txt │ └── Downloads/ ├── tmp/ ← arquivos temporários ├── usr/ ← programas instalados └── var/ ← dados que mudam: logs, cache, filas
O caminho até o arquivo notas.txt é /home/ana/Documentos/notas.txt. Leia da esquerda para a direita: "na raiz, entre em home, depois em ana, depois em Documentos, e lá está notas.txt". Cada / separa um nível.
A / sozinha, no começo, é a raiz. No meio de um caminho, ela só separa os nomes das pastas.
Olhando a raiz
Use o ls para ver o que existe na raiz:
- ls
- Lista o conteúdo de uma pasta.
- /
- A pasta a listar: a raiz.
$ ls / bin cdrom etc lib lost+found mnt proc run snap swap.img tmp var boot dev home lib64 media opt root sbin srv sys usr
Parece muito, mas no dia a dia você vai usar poucas: /home, /etc, /var/log e /tmp. A tabela abaixo explica todas.
Com ls -l / dá para ver que algumas não são pastas de verdade, e sim atalhos (links) para pastas dentro de /usr:
$ ls -ld /bin /sbin /lib lrwxrwxrwx 1 root root 7 Apr 22 2024 /bin -> usr/bin « l = link: /bin aponta para /usr/bin lrwxrwxrwx 1 root root 7 Apr 22 2024 /lib -> usr/lib lrwxrwxrwx 1 root root 8 Apr 22 2024 /sbin -> usr/sbin
Para que serve cada pasta
| Pasta | O que guarda | Você mexe? |
|---|---|---|
/ | A raiz. Contém todas as outras. | Não |
/home | Uma pasta para cada usuário: /home/ana, /home/joao… | Sim, a sua |
/root | A pasta pessoal do administrador (root). Não confunda com a raiz /. | Não |
/etc | Configurações do sistema e dos serviços: rede, usuários, programas. | Com sudo e cuidado |
/var | Dados que mudam o tempo todo: logs em /var/log, cache, filas de impressão, sites em /var/www. | Ler logs, sim |
/usr | Programas e bibliotecas instalados pelo sistema. /usr/bin tem os comandos. | Não (o apt cuida) |
/usr/local | Programas que você instala manualmente, fora do apt. | Com sudo |
/opt | Programas grandes de terceiros, que vêm "em um pacote só". | Às vezes |
/bin, /sbin, /lib | Atalhos para /usr/bin, /usr/sbin e /usr/lib. Existem por compatibilidade. | Não |
/tmp | Arquivos temporários. É apagada a cada reinício. | Sim, para coisas passageiras |
/boot | O kernel e os arquivos de inicialização (GRUB). | Não |
/dev | Os dispositivos como arquivos: discos (/dev/sda, /dev/nvme0n1), terminais, USB. | Não diretamente |
/proc, /sys | Pastas "virtuais" criadas pelo kernel com informações do sistema em tempo real. | Só ler |
/run | Informações dos programas em execução. Some ao desligar. | Não |
/media | Onde aparecem pendrives e HDs externos: /media/ana/MEU_PENDRIVE. | Sim |
/mnt | Ponto para montar discos manualmente (veja mount e fstab). | Com sudo |
/srv | Dados servidos pela máquina (sites, arquivos de FTP). Pouco usada no Ubuntu. | Em servidores |
/snap | Programas instalados como snap (veja Snap). | Não |
/lost+found | Pedaços de arquivos recuperados pelo verificador de disco depois de um desligamento brusco. | Raramente |
/cdrom, swap.img | Sobras da instalação e o arquivo de memória de troca (swap). | Não |
Fora da sua pasta pessoal, quase tudo pertence ao root. Apagar ou editar arquivos em /etc, /usr ou /boot com sudo pode impedir o Ubuntu de iniciar. Antes de mexer, faça uma cópia (sudo cp arquivo arquivo.bak).
Sua casa: /home/ana, também chamada de ~
A pasta pessoal é o único lugar onde você pode criar, editar e apagar à vontade, sem sudo. O símbolo ~ (til) é um apelido para ela. Por isso o prompt mostra ~ quando você está lá.
$ echo ~ /home/ana $ ls /home ana « um usuário só nesta máquina $ ls ~ Documentos Imagens Música Vídeos 'Área de trabalho' Downloads Modelos Público frutas.txt
As pastas Documentos, Downloads, Imagens e as outras são criadas pelo Ubuntu no primeiro login, no idioma do sistema. Num Ubuntu em inglês elas se chamam Documents, Pictures etc.
Dentro da pasta pessoal também ficam pastas ocultas com as configurações dos seus programas:
| Pasta oculta | O que guarda |
|---|---|
~/.config | Configurações da maioria dos programas. |
~/.local/share | Dados dos programas, inclusive a lixeira (~/.local/share/Trash). |
~/.cache | Cache. Pode ser apagado se faltar espaço. |
~/.ssh | Suas chaves SSH (veja SSH). |
~/snap | Dados dos programas instalados como snap. |
Missão: explore a máquina fictícia. Liste a raiz (ls /), descubra quais usuários existem em /home e tente entrar em /root. O que acontece?
Configurações: /etc
O nome vem de et cetera, mas na prática é "a pasta de configuração". Quase tudo é arquivo de texto, que você pode ler com cat e editar com sudo nano.
$ cat /etc/hostname notebook « o nome desta máquina $ cat /etc/os-release PRETTY_NAME="Ubuntu 26.04.1 LTS" NAME="Ubuntu" VERSION_ID="26.04" VERSION="26.04.1 LTS (Resolute Raccoon)" VERSION_CODENAME=resolute ID=ubuntu ID_LIKE=debian
| Arquivo | Configura |
|---|---|
/etc/hostname | O nome da máquina |
/etc/hosts | Nomes de máquinas resolvidos localmente |
/etc/passwd | A lista de usuários |
/etc/fstab | Quais discos montar no boot |
/etc/apt/sources.list.d/ | De onde o apt baixa os programas |
/etc/ssh/sshd_config | O servidor SSH |
/etc/netplan/ | A rede (em servidores) |
Logs: /var/log
Quando algo dá errado, o primeiro lugar para procurar é /var/log. Os programas anotam ali o que fizeram e os erros que tiveram.
$ ls /var/log/auth* /var/log/syslog* /var/log/dpkg.log* /var/log/auth.log /var/log/dpkg.log /var/log/syslog /var/log/auth.log.1 /var/log/dpkg.log.1 /var/log/syslog.1 /var/log/auth.log.2.gz /var/log/dpkg.log.2.gz /var/log/syslog.2.gz ... « lista resumida
Repare nos nomes: auth.log é o log atual, auth.log.1 é o da semana passada e auth.log.2.gz é um mais antigo, compactado. Esse rodízio se chama rotação de logs e evita que os logs encham o disco.
| Log | O que registra |
|---|---|
/var/log/syslog | Mensagens gerais do sistema |
/var/log/auth.log | Logins, uso de sudo, acessos SSH |
/var/log/dpkg.log | Programas instalados e removidos |
/var/log/kern.log | Mensagens do kernel (hardware, drivers) |
/var/log/apt/ | Histórico do apt |
Muitos programas também mandam seus registros para o journal do systemd, que você lê com journalctl (veja Logs).
Programas: /usr/bin
Quando você digita ls, o shell procura um programa com esse nome numa lista de pastas (a variável PATH). Quase sempre ele está em /usr/bin. Para saber onde um comando mora, use which ou type:
$ which ls /usr/bin/ls $ type cd cd é um comando interno do shell « cd não é um arquivo: faz parte do bash
Formas diferentes de explorar a árvore
| Forma | Exemplo | Quando usar |
|---|---|---|
| Listar sem entrar | ls /etc/apt | Espiar uma pasta rapidamente. |
| Entrar e listar | cd /var/log e depois ls | Vai trabalhar ali por um tempo. |
| Ver a árvore | tree -L 2 /etc/apt | Entender a organização de uma pasta. |
| Achar pelo nome | find /etc -name "*.conf" | Não sabe onde o arquivo está (veja find). |
| App Arquivos | "Outros locais" → "Computador" | Preferir o mouse. |
| Documentação | man hier | Ver a descrição oficial de cada pasta. |
Quando não funciona
$ cd /root bash: cd: /root: Permissão negada
O que aconteceu: /root é privada do administrador. O mesmo vale para algumas pastas de /var e /etc.
Como resolver: para ler, use sudo ls /root. Para editar, sudo nano. Pense duas vezes antes.
/ com ~
$ ls /Documentos ls: não é possível acessar '/Documentos': Arquivo ou diretório inexistente
O que aconteceu: /Documentos procura na raiz. A sua pasta Documentos fica em /home/ana/Documentos, ou ~/Documentos.
Como resolver: use ls ~/Documentos. Veja a diferença em Caminhos.
O que aconteceu: no desktop, pendrives aparecem em /media/SEU_USUARIO/NOME_DO_PENDRIVE, e não numa letra como "E:".
Como resolver: rode ls /media/$USER. Se estiver vazio, o pendrive não foi montado; veja mount e fstab.
Exercícios
1. Configurações
Em qual pasta ficam os arquivos de configuração do sistema?
2. Logs
Complete o caminho da pasta de logs:
3. Qual é a diferença entre / e /root?
4. Você quer guardar um arquivo que pode sumir no próximo reinício. Onde?
5. Onde aparece um pendrive chamado FOTOS, para a usuária ana, no Ubuntu desktop?
Resumo
- Tudo começa na raiz
/. Não existem letras de unidade. - Sua pasta é
/home/SEU_USUARIO, apelidada de~. É ali que você trabalha. /etc= configurações;/var/log= logs;/usr/bin= programas;/tmp= temporários./rooté a pasta do administrador, não a raiz.- Fora da sua pasta, mexa só com
sudo, e depois de fazer uma cópia.