Linux / Estrutura de diretórios: para que servem /etc, /var e /usr
No Linux, /etc reúne principalmente configurações, /var guarda dados variáveis, /usr contém programas e bibliotecas, e /home costuma abrigar os arquivos pessoais dos usuários. Tudo aparece numa árvore iniciada em /, mas os caminhos concretos e os sistemas de arquivos montados variam conforme a distribuição e a instalação.
Para praticar a navegação, consulte os guias de sistemas de arquivos e caminhos, em inglês e de pwd, ls, cd e tree, em inglês. A tabela abaixo serve como referência rápida; as seções seguintes explicam condições e exceções.
Este guia apresenta as convenções mais comuns, sem exigir que cada diretório exista numa instalação mínima ou contêiner. O manual Linux hier(7) descreve a hierarquia tradicional; a especificação UAPI.9, ainda em desenvolvimento, descreve uma organização moderna com mais conteúdo em /usr.
Principais diretórios em uma tabela
| Diretório | Referência para lembrar | Função comum |
|---|---|---|
| / | Raiz | Início da árvore de arquivos visível ao processo. |
| /bin | Programas binários | Comandos básicos; pode ser um link para /usr/bin. |
| /boot | Inicialização | Kernel e recursos de inicialização, conforme o método de boot. |
| /dev | Dispositivos | Nós de dispositivos e outros arquivos especiais. |
| /etc | Configuração | Configurações do sistema e dos serviços. |
| /home | Diretórios pessoais | Local habitual dos diretórios pessoais de usuários comuns. |
| /lib | Bibliotecas | Bibliotecas essenciais ou caminho de compatibilidade. |
| /lib64 | Bibliotecas de 64 bits | Caminho usado por algumas arquiteturas; não existe em todo Linux de 64 bits. |
| /media | Mídias | Pontos de montagem de dispositivos removíveis. |
| /mnt | Montagem | Ponto convencional para uma montagem temporária. |
| /opt | Aplicativos adicionais | Diretórios de aplicativos adicionais, conforme o fornecedor. |
| /proc | Processos | Interface virtual para processos e parâmetros do kernel. |
| /root | Conta root | Diretório pessoal convencional do usuário root. |
| /run | Execução | Dados voláteis de serviços e sessões durante a execução. |
| /sbin | Administração | Comandos administrativos ou caminho de compatibilidade. |
| /srv | Serviços | Dados disponibilizados por serviços; o caminho real depende da configuração. |
| /sys | Sistema | Interface virtual para dispositivos, drivers e objetos do kernel. |
| /tmp | Temporário | Arquivos temporários sujeitos à política de limpeza. |
| /usr | Hierarquia de programas | Executáveis, bibliotecas, documentação e outros recursos instalados. |
| /var | Dados variáveis | Logs, estado de aplicações, filas e caches. |
/ — diretório raiz
/ é o diretório de nível superior no sistema de arquivos Linux.
Discos, partições, sistemas de arquivos de rede e interfaces virtuais podem ser montados em pontos dessa árvore. Assim, um caminho sob / não significa que seus dados estejam todos no mesmo disco. O esquema a seguir é parcial e ilustrativo; não é a listagem de uma máquina específica.
/
├── bin
├── boot
├── dev
├── etc
├── home
├── usr
└── var
/ é chamado de diretório raiz, e é um conceito diferente de /root, o diretório home da conta de usuário root.
/bin — comandos básicos
O nome bin lembra binary, ou programa binário. Comandos básicos como ls, cp, mv e cat são encontrados por esse caminho em muitas instalações.
ls /bin lista as entradas acessíveis nesse caminho; nomes e quantidade dependem dos pacotes instalados.
ls /bin
Em sistemas com a hierarquia /usr unificada, /bin pode ser um link simbólico para /usr/bin. Consulte o próprio caminho com ls -ld:
ls -ld /bin
Se for um link, a saída longa normalmente começa com l e mostra -> seguido do destino. Se for um diretório real, o tipo aparece como d. Confira a instalação antes de mover ou substituir arquivos nesses caminhos.
/boot — arquivos de inicialização
/boot armazena os arquivos relacionados ao kernel e ao carregador de inicialização necessários para iniciar o sistema Linux.
Estes são exemplos de nomes usados por algumas distribuições. As reticências representam a versão do kernel; não são nomes literais para copiar:
/boot/vmlinuz-...
/boot/initramfs-...
/boot/grub2/
Outras instalações usam initrd.img-..., /boot/grub/ ou uma partição EFI (Extensible Firmware Interface) montada separadamente. Contêineres podem não ter esses arquivos. Atualize kernel e carregador de inicialização pelas ferramentas da distribuição; não apague arquivos de boot apenas porque parecem antigos.
/dev — arquivos de dispositivos
O nome dev lembra device, dispositivo. Os caminhos abaixo são exemplos, e os nomes reais dependem do hardware e da descoberta de dispositivos.
Nós de dispositivos permitem acessar discos, terminais e outros recursos por operações de arquivo. Eles não devem ser tratados como arquivos comuns para edição ou limpeza.
/dev/sda
/dev/sdb
/dev/nvme0n1
/dev/tty
/dev/null
/dev/sda pode representar um disco, enquanto /dev/null descarta os dados que recebe. Não presuma que sda ou sdb identifique sempre o mesmo disco; antes de uma operação de armazenamento, confira tamanho, modelo e identificadores.
/etc — configuração do sistema
/etc é um dos diretórios mais frequentemente usados ao gerenciar um servidor Linux.
/etc contém principalmente configurações do sistema e serviços. A tabela usa a função atual desse caminho como referência; não é necessário tratar seu nome como uma sigla para entendê-lo.
/etc/passwd
/etc/fstab
/etc/hosts
/etc/ssh/sshd_config
Os exemplos incluem contas, montagem, nomes de hosts e o serviço SSH. Use as ferramentas recomendadas para cada configuração, faça backup do arquivo que será alterado e valide antes de aplicar. Nem toda configuração está em /etc: programas instalados localmente e preferências pessoais podem usar outros caminhos.
/home — diretórios pessoais
/home costuma conter os diretórios pessoais dos usuários comuns, incluindo documentos e configurações por usuário. Home corresponde ao diretório pessoal da conta.
Uma conta chamada john pode ter o caminho abaixo, desde que a criação da conta tenha sido configurada para isso. Contas de serviço, diretórios de rede e instalações personalizadas podem usar outro local.
/home/john
Uma sessão interativa normalmente começa no diretório pessoal. Para o caminho real, consulte a variável $HOME da sessão ou o registro da conta, por exemplo getent passwd john. Não forme o caminho apenas concatenando /home/ e o nome do usuário.
/lib e /lib64 — bibliotecas compartilhadas
lib é uma abreviação para library, biblioteca.
Bibliotecas compartilhadas necessárias para executar os programas e comandos básicos do Linux são armazenadas aqui.
/lib64 é usado em algumas arquiteturas, mas sua existência não é uma regra para todo sistema de 64 bits. Outras distribuições organizam bibliotecas em subdiretórios específicos de arquitetura.
/lib e /lib64 podem ser links para a hierarquia de bibliotecas sob /usr; o destino exato depende da distribuição e da arquitetura. Não substitua bibliotecas ou links manualmente com base apenas em seu nome.
/media — mídias removíveis
/media é o local usado ao montar dispositivos de armazenamento removíveis, como memórias USB, CDs e DVDs.
Ambientes gráficos podem montar a mídia em /media, /run/media ou um subdiretório por usuário. A detecção e a montagem dependem do serviço de desktop e da política local; conectar uma mídia não garante que ela já esteja montada.
/mnt — montagens temporárias
/mnt é um nome derivado de Mount.
Montar significa associar um sistema de arquivos a um diretório da árvore. O comando abaixo é apenas um exemplo: /dev/sdb1 precisa ser uma partição real, já com sistema de arquivos apropriado, e /mnt deve existir e estar livre para esse uso. Não execute com um dispositivo escolhido por adivinhação.
sudo mount /dev/sdb1 /mnt
A montagem comum exige privilégios administrativos, por isso o exemplo usa sudo. Antes, confira o dispositivo com lsblk -f, se o ponto já está montado com findmnt --mountpoint /mnt e o conteúdo de /mnt. Montar sobre um diretório não vazio oculta temporariamente seu conteúdo anterior. O manual de mount explica o efeito.
Depois, confirme a origem e o destino com findmnt --mountpoint /mnt e consulte ls /mnt. Para encerrar somente a montagem criada por você, saia de /mnt, feche processos que a utilizem e execute sudo umount /mnt. Se houver erro de dispositivo ocupado, investigue o uso; não force a desmontagem de um serviço em atividade. Esse exemplo não formata o dispositivo nem cria uma entrada persistente em /etc/fstab.
/opt — aplicativos adicionais
opt significa Optional.
Aplicativos adicionais podem usar uma árvore própria sob /opt, como nos exemplos abaixo. Eles podem ser comerciais ou livres; não é uma classificação por licença nem uma regra para todo software de terceiros.
/opt/application/
/opt/company/product/
/proc — processos e informações do kernel
proc significa Processo.
/proc é um ponto de montagem de procfs, uma interface virtual do kernel para processos e informações do sistema. Seus arquivos não são documentos comuns persistidos no disco; o conteúdo é apresentado pelo kernel durante a leitura. A documentação oficial de procfs detalha essa interface.
Para consultar informações da unidade central de processamento (CPU) expostas a esse ambiente:
cat /proc/cpuinfo
Para campos de memória, como MemTotal e MemAvailable, quando fornecidos pelo kernel:
cat /proc/meminfo
/proc/1234 é um exemplo para um processo cujo identificador, ou PID, seja 1234; ele precisa existir naquele momento. Permissões e isolamento por contêiner podem limitar o que aparece. Alguns arquivos de /proc/sys aceitam escrita e alteram parâmetros do kernel: não use essa árvore como área de armazenamento ou limpeza.
/root — diretório pessoal de root
/root é o diretório pessoal convencional da conta administrativa root. Ele não é a raiz / da árvore; confirme o registro da conta se o sistema tiver uma configuração diferente.
Usuário comum → /home/user
Usuário root → /root
A raiz da árvore é /; o diretório pessoal de root costuma ser /root. Essa distinção evita confundir o local dos arquivos do administrador com o início do sistema de arquivos.
/run — dados de execução voláteis
/run armazena informações temporárias de tempo de execução usadas por serviços e processos após a inicialização do sistema.
Exemplos incluem arquivos que registram PIDs, sockets de comunicação e informações transitórias dos serviços. /run/user/ costuma separar dados de execução de sessões por identificador de usuário.
/run/
/run/user/
/run/systemd/
/run costuma ser um sistema de arquivos tmpfs volátil, recriado a cada inicialização. Não guarde ali dados que precisem sobreviver ao reboot; dados de estado persistentes normalmente pertencem a /var/lib.
/sbin — comandos administrativos
sbin geralmente representa Binário do Sistema.
Esse caminho é associado a comandos administrativos. Estar em /sbin não determina sozinho quem pode executar um programa: permissões e a operação solicitada é que definem os privilégios necessários. Os caminhos a seguir são exemplos, não comandos a executar durante esta consulta.
/sbin/reboot
/sbin/fsck
/sbin pode ser um link para /usr/sbin; algumas distribuições também unificam /usr/sbin e /usr/bin. Verifique o destino efetivo em vez de assumir que há cópias independentes de cada programa.
/srv — dados oferecidos por serviços
srv representa Serviço.
É um diretório para armazenar dados de serviços fornecidos pelo sistema para fora, como para servidores web ou servidores FTP.
/srv/www/
/srv/ftp/
No entanto, a localização real dos dados de serviço pode variar dependendo da distribuição ou das configurações do administrador, e para servidores web, /var/www é frequentemente usado.
/sys — dispositivos e atributos do kernel
sys significa Sistema.
/sys costuma montar sysfs, que expõe objetos e atributos do kernel, sobretudo de dispositivos e drivers. A documentação oficial de sysfs explica a ligação entre essas entradas e o kernel.
É usado principalmente para verificar informações sobre dispositivos, drivers, objetos do kernel, etc.
ls /sys/class
A consulta pode mostrar classes como rede, dispositivos de bloco e terminais, conforme o ambiente. Algumas entradas de /sys aceitam escrita e controlam hardware ou comportamento do kernel; não copie valores para elas nem as remova como se fossem arquivos temporários.
/tmp — arquivos temporários
tmp é uma abreviação de Temporário.
É um espaço para armazenar arquivos temporariamente necessários por programas ou usuários.
/tmp
A política local pode apagar arquivos de /tmp após um prazo ou no reboot; não há uma garantia universal de retenção. /var/tmp costuma servir a temporários que precisam atravessar reinicializações, mas também pode ter limpeza por idade. Dados importantes precisam de armazenamento persistente e backup, não de um diretório temporário.
/usr — programas e recursos instalados
/usr concentra recursos instalados, como executáveis, bibliotecas, documentação e dados compartilháveis. O tamanho varia com os pacotes presentes; a função do diretório é mais importante do que uma suposta expansão de seu nome.
Em sistemas com /usr unificado, caminhos tradicionais como /bin e /lib podem apontar para essa árvore; alterações nos arquivos distribuídos devem seguir o gerenciador de pacotes.
| Diretório | Propósito |
|---|---|
| /usr/bin | Comandos e programas gerais |
| /usr/sbin | Programas de administração do sistema |
| /usr/lib | Bibliotecas compartilhadas |
| /usr/lib64 | Bibliotecas de 64 bits em distribuições que usam esse caminho; não é universal. |
| /usr/share | Dados compartilhados independentes de arquitetura, como documentos e ícones |
| /usr/local | Hierarquia local mantida pelo administrador, com bin, lib, share e outros subdiretórios. |
/usr/local é convencional para instalações locais mantidas pelo administrador, separadas dos arquivos distribuídos pelo sistema. Ainda assim, siga a documentação do programa e verifique conflitos com pacotes; o caminho não registra automaticamente como algo foi instalado.
/var — dados variáveis e persistentes
var representa Variável.
Armazena dados que são continuamente gerados ou mudam de tamanho enquanto o sistema está em execução.
/var/log
/var/cache
/var/lib
/var/spool
/var/log
/var/log guarda logs persistentes quando o serviço está configurado para gravá-los ali. O journal do systemd também pode estar em /run/log/journal quando o armazenamento é volátil; nem todo log aparece como arquivo de texto em /var/log. O manual de journald.conf detalha os modos de armazenamento.
ls /var/log
/var/cache
/var/cache guarda dados de cache que o aplicativo pode reconstruir ou obter novamente. Isso não torna segura uma exclusão indiscriminada: use o procedimento de limpeza do programa e confirme o efeito nos serviços.
/var/lib
/var/lib guarda estado persistente de aplicações, como bancos de dados e registros dos gerenciadores de pacotes. Não é cache descartável; inclua os dados relevantes no plano de backup e recuperação do serviço.
/var/spool
É utilizado para armazenar dados aguardando para serem processados, como e-mails, trabalhos de impressão e tarefas agendadas.
Observe crescimento de logs, filas e bancos de dados separadamente. Se o espaço acabar, identifique a origem e use rotação ou manutenção apropriada; apagar arquivos ativos pode causar perda de dados e nem sempre libera o espaço imediatamente.
Um mapa para consultar durante o uso
Use este mapa como lembrete de função; os caminhos de cada aplicação devem ser confirmados na sua configuração:
/etc → Configuração do sistema
/var → Logs e dados variáveis
/home → Dados pessoais de usuários comuns
/root → Diretório pessoal de root
/usr → Programas e bibliotecas
/tmp → Arquivos temporários
/dev → Dispositivos
/proc → Processos e informações do kernel
/sys → Dispositivos e atributos do kernel
/boot → Arquivos de inicialização
/mnt → Montagens temporárias
/opt → Aplicativos adicionais
Antes de decidir onde colocar um arquivo, diferencie configuração, programa instalado, estado persistente e temporário. Por exemplo, o estado de um serviço não deve ser colocado em /run se precisar sobreviver ao reboot.
Como conferir o caminho na sua instalação
Para descobrir o diretório pessoal de uma conta, consulte seu registro; para saber em qual sistema de arquivos um caminho está, use findmnt --target CAMINHO, substituindo o marcador pelo caminho real. Essa consulta pode mostrar o sistema de arquivos que contém o caminho, não necessariamente um ponto de montagem situado exatamente nele; veja o manual de findmnt.
Para um serviço específico, leia a configuração efetiva e o manual do pacote antes de mover arquivos. Um servidor web pode servir conteúdo de /srv, /var/www ou outro local definido pelo administrador; o nome do diretório não substitui essa verificação.
Se um diretório descrito não existir, confira a distribuição, os pacotes instalados e o ambiente de execução. Não crie árvores inteiras apenas para imitar uma tabela: sistemas mínimos, contêineres e instalações com partições separadas podem ter layouts diferentes.




