Tradução e resumo livre do artigo original: Understanding the Linux Filesystem Hierarchy – A Complete Guide (autor: Satyam Ahirrao). Todos os créditos ao autor original.

Focando nos estudos para a certificação LPIC-1, este texto apresenta, de forma simples e intuitiva, a hierarquia de diretórios do Linux e a função de cada pasta.

Quando trabalhamos com Linux, entender o FHS — Filesystem Hierarchy Standard (Padrão de hierarquia do sistema de arquivos) é essencial. Diferentemente do Windows, que divide os dados em várias unidades (C:, D:, etc.), o Linux segue um sistema estruturado de raiz única. Vamos explorar seus diretórios principais e sua importância!

🌱 O diretório raiz (/) — A fundação do Linux

No topo da hierarquia está /, o diretório raiz. Todo arquivo e diretório no Linux se origina deste ponto. Ele contém todos os diretórios essenciais do sistema, arquivos de configuração e dados do usuário.


📁 Diretórios principais no Linux

1️⃣ /bin — Binários Essenciais do Usuário 💻

Armazena executáveis essenciais do sistema necessários para operações básicas e inicialização.
Disponível para todos os usuários, mesmo no modo de usuário único.

Exemplos: ls, cp, mv, grep, cat, echo, rm.

2️⃣ /sbin — Binários do sistema 🔧

Contém comandos administrativos para gerenciamento do sistema.
Requer privilégios de root para executar a maioria dos comandos.

Exemplos: shutdown, reboot, fsck, fdisk, iptables, mkfs.

3️⃣ /etc — Arquivos de configuração ⚙️

Abriga arquivos de configuração e scripts de todo o sistema.
Modificar arquivos aqui requer privilégios administrativos.

Exemplos:

  • /etc/fstab — Define pontos de montagem do sistema de arquivos.
  • /etc/passwd — Armazena informações da conta do usuário.
  • /etc/hostname — Define o nome do host do sistema.
  • /etc/network/interfaces — Gerencia configurações de rede.

4️⃣ /home — Diretórios pessoais do usuário 🏠

Armazena diretórios pessoais para cada usuário.
Cada usuário obtém seu próprio espaço: /home/<username>/.

Contém (exemplos):

  • Documentos
  • Downloads
  • Imagens
  • Vídeos

Arquivos de configuração de shell: .bashrc / .zshrc (personalizados por usuário).

5️⃣ /root — Diretório inicial do usuário root 🌳

Diretório pessoal dedicado ao superusuário (root).
Fornece um espaço de trabalho seguro, separado dos diretórios de usuário padrão.

⚠️ Nunca use root para tarefas diárias!

6️⃣ /var — Dados variáveis 🔁

Armazena arquivos que mudam com frequência, como logs, e-mails e bancos de dados.

Exemplos:

  • /var/log/ — Logs do sistema e do aplicativo.
  • /var/spool/ — Fila de e-mails e trabalhos da impressora.
  • /var/cache/ — Dados temporários do cache do aplicativo.

7️⃣ /tmp — Arquivos temporários 🗑️

Armazena arquivos temporários criados por aplicativos e pelo sistema.
Geralmente limpos automaticamente na reinicialização.

8️⃣ /usr — Aplicativos e bibliotecas do usuário 📚

Um grande diretório dividido em subdiretórios:

  • /usr/bin/ — Aplicativos comuns do usuário (por exemplo: vim, nano, wget).
  • /usr/sbin/ — Binários de administração do sistema (por exemplo: apachectl).
  • /usr/local/ — Software instalado manualmente.

9️⃣ /lib & /lib64 — Bibliotecas do sistema 📦

Contém bibliotecas compartilhadas (.so) necessárias para binários em /bin e /sbin.

Exemplos:

  • /lib/x86_64-linux-gnu/libc.so.6 — Biblioteca C padrão.
  • /lib/modules/ — Módulos e drivers do kernel.

🔟 /opt — Software opcional 🌟

Usado para software de terceiros ou instalado manualmente.
Comum para aplicativos comerciais como Google Chrome, Oracle Java e drivers proprietários.

1️⃣1️⃣ /mnt & /media — Pontos de montagem 🖥️

  • /mnt/Ponto de montagem temporário para administradores de sistema.
  • /media/ — Dispositivos externos montados automaticamente, como USBs, CDs e cartões SD.

1️⃣2️⃣ /dev — Arquivos de dispositivo 🛠️

Arquivos especiais representando dispositivos de hardware.

Exemplos:

  • /dev/sda — Primeiro disco rígido.
  • /dev/null — Descarta qualquer coisa escrita nele.
  • /dev/random — Gera dados aleatórios.

1️⃣3️⃣ /proc & /sys — Informações do kernel e do processo 🧠

/proc/ — Um sistema de arquivos virtual com informações do sistema em tempo real.

Exemplos:

  • /proc/cpuinfo — Detalhes da CPU.
  • /proc/meminfo — Uso de memória.
  • /proc/[PID] — Detalhes do processo.

/sys/ — Expõe configurações de kernel e hardware.

1️⃣4️⃣ /run — Dados de tempo de execução ⚡

Armazena dados de tempo de execução de todo o sistema (por exemplo, PIDs, soquetes).
Os dados aqui são excluídos na reinicialização.

1️⃣5️⃣ /srv — Dados de serviço 🏝️

Armazena dados para serviços do sistema (por exemplo, servidores web, FTP).
Exemplo: /srv/http/ para o diretório raiz de um servidor web.

1️⃣6️⃣ /lost+found — Arquivos recuperados 🛠️

Usado pelo utilitário fsck para recuperar arquivos perdidos.
Aparece em cada partição com um sistema de arquivos Linux.


🎯 Por que entender o sistema de arquivos Linux é importante?

  • Melhor navegação no sistema — Mova-se com eficiência.
  • Habilidades aprimoradas de solução de problemas — Corrija erros rapidamente.
  • Conscientização sobre segurança — Evite modificações não autorizadas.
  • Otimização de desempenho — Gerencie recursos com eficiência.

Conclusão 🎯

O sistema de arquivos Linux é estruturado para organização, segurança e eficiência. Seja você um iniciante ou um especialista, dominar essa hierarquia fará de você um usuário Linux mais eficiente!

🛠️ Continue explorando, continue aprendendo! 🚀