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.

Você vai aprender
  • O que é a raiz / e por que não existe "C:" no Linux.
  • Para que serve cada pasta principal: /home, /etc, /var, /usr, /tmp e 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.

Uma barra, dois papéis

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

PastaO que guardaVocê mexe?
/A raiz. Contém todas as outras.Não
/homeUma pasta para cada usuário: /home/ana, /home/joao…Sim, a sua
/rootA pasta pessoal do administrador (root). Não confunda com a raiz /.Não
/etcConfigurações do sistema e dos serviços: rede, usuários, programas.Com sudo e cuidado
/varDados que mudam o tempo todo: logs em /var/log, cache, filas de impressão, sites em /var/www.Ler logs, sim
/usrProgramas e bibliotecas instalados pelo sistema. /usr/bin tem os comandos.Não (o apt cuida)
/usr/localProgramas que você instala manualmente, fora do apt.Com sudo
/optProgramas grandes de terceiros, que vêm "em um pacote só".Às vezes
/bin, /sbin, /libAtalhos para /usr/bin, /usr/sbin e /usr/lib. Existem por compatibilidade.Não
/tmpArquivos temporários. É apagada a cada reinício.Sim, para coisas passageiras
/bootO kernel e os arquivos de inicialização (GRUB).Não
/devOs dispositivos como arquivos: discos (/dev/sda, /dev/nvme0n1), terminais, USB.Não diretamente
/proc, /sysPastas "virtuais" criadas pelo kernel com informações do sistema em tempo real.Só ler
/runInformações dos programas em execução. Some ao desligar.Não
/mediaOnde aparecem pendrives e HDs externos: /media/ana/MEU_PENDRIVE.Sim
/mntPonto para montar discos manualmente (veja mount e fstab).Com sudo
/srvDados servidos pela máquina (sites, arquivos de FTP). Pouco usada no Ubuntu.Em servidores
/snapProgramas instalados como snap (veja Snap).Não
/lost+foundPedaços de arquivos recuperados pelo verificador de disco depois de um desligamento brusco.Raramente
/cdrom, swap.imgSobras da instalação e o arquivo de memória de troca (swap).Não
Atençã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 ocultaO que guarda
~/.configConfigurações da maioria dos programas.
~/.local/shareDados dos programas, inclusive a lixeira (~/.local/share/Trash).
~/.cacheCache. Pode ser apagado se faltar espaço.
~/.sshSuas chaves SSH (veja SSH).
~/snapDados 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
ArquivoConfigura
/etc/hostnameO nome da máquina
/etc/hostsNomes de máquinas resolvidos localmente
/etc/passwdA lista de usuários
/etc/fstabQuais discos montar no boot
/etc/apt/sources.list.d/De onde o apt baixa os programas
/etc/ssh/sshd_configO 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.

LogO que registra
/var/log/syslogMensagens gerais do sistema
/var/log/auth.logLogins, uso de sudo, acessos SSH
/var/log/dpkg.logProgramas instalados e removidos
/var/log/kern.logMensagens 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

FormaExemploQuando usar
Listar sem entrarls /etc/aptEspiar uma pasta rapidamente.
Entrar e listarcd /var/log e depois lsVai trabalhar ali por um tempo.
Ver a árvoretree -L 2 /etc/aptEntender a organização de uma pasta.
Achar pelo nomefind /etc -name "*.conf"Não sabe onde o arquivo está (veja find).
App Arquivos"Outros locais" → "Computador"Preferir o mouse.
Documentaçãoman hierVer a descrição oficial de cada pasta.

Quando não funciona

"Permissão negada" ao entrar ou listar
$ 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.

Confundiu / 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.

"Não acho o pendrive"

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:

/var/

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.