Compreendendo a Estrutura de Diretórios Virtuais do Linux

Usuários iniciantes no Linux se deparam com uma enorme montanha de informações para aprender. O que é essa coisa de terminal? Como faço para executar atualizações de software? Qual distribuição devo escolher? Essas são todas perguntas comuns. No entanto, há uma questão que ainda atormenta muitos usuários mais experientes de Linux: o que há em cada um dos diretórios no sistema de diretórios virtuais do Linux? Aqui, abordamos tudo, desde “/” até “/boot” em nosso guia para o sistema de diretórios virtuais do Linux.
O que é o Sistema de Diretórios Virtuais do Linux?
Um Sistema de Diretórios Virtuais é uma forma de organizar arquivos e diretórios em um sistema operacional de computador. O motivo pelo qual é chamado de “virtual” é que não há componente físico real – no Windows, você tem seu disco “C:”, disco “D:”, e assim por diante. No Linux, todos os discos físicos são tratados como arquivos em seu sistema de diretórios virtuais. É daí que vem a expressão “tudo é um arquivo”. Até mesmo o disco em seu sistema que você está usando para o seu sistema operacional é tratado como um arquivo.
Leia também: Comandos Linux Úteis para Listar Conteúdos de um Diretório
Compreendendo o Sistema de Diretórios Virtuais
O diretório raiz: /
Vamos começar do começo. O diretório “/” (ou “raiz”) é onde está tudo no sistema. Ao executar o comando cd /, você está ampliando sua visão do sistema ao máximo. Mude para o diretório “/” e execute o comando ls. Você começará a ver o que quero dizer. Em vez de “Documentos,” “Downloads,” ou “Imagens,” você encontrará coisas como “bin,” “dev,” e “home.” Será um pouco diferente dependendo da sua distribuição, mas existem alguns diretórios principais que estarão quase sempre presentes. Todos os diretórios a partir daqui terão “/” no início deles porque esse é o verdadeiro raiz de tudo – daí o nome “raiz”.


O diretório Binário: /bin
O diretório “/bin” contém todos os programas binários em seu sistema. Se você olhar lá, verá comandos comuns como cd e ls que já usamos. Você também pode encontrá-los executando os comandos which cd ou which ls. Na maioria das vezes em distribuições modernas, o diretório “/bin” está vinculado ao diretório “/usr/bin”. O diretório “/usr” será abordado mais tarde, mas, em resumo, eles são usados para separar binários destinados ao sistema e administradores no diretório “/bin” e os usuários do sistema em “/usr/bin”.

O diretório Boot: /boot
O diretório “/boot” contém todas as informações básicas que seu sistema precisará para iniciar. Todos os kernels que você tem instalados em seu sistema, todos os arquivos de configuração para esses kernels, informações para o Grub – tudo isso. É um diretório muito importante e é tratado como uma partição do sistema EFI separada do seu sistema. É por isso que, quando você cria partições manuais, você precisa fazer pelo menos “/” e “/boot” separadamente.

O diretório de Dispositivos: /dev
O diretório “/dev” contém todos os arquivos de dispositivo do sistema, que são todos os componentes de hardware em seu sistema (além de alguns outros dispositivos virtuais importantes, como “null” e “random”). Observando-o, você notará coisas como “cpu,” “sda,” “tty,” “stderr,” “stdin,” e “stdout.” Todos são arquivos de dispositivos importantes com os quais você interagirá diariamente.

O diretório Etc.: /etc
Isso é para coisas aleatórias. O diretório “/etc,” pronunciado como Etsy, é onde você encontrará muitos arquivos de configuração para a maioria das coisas em seu sistema. Coisas como SSH, Pipewire, systemD, e Firefox têm arquivos de configuração aqui. É meio que a gaveta de bagunça do Sistema de Diretórios Virtuais – super importante, mas um pouco complicado de encontrar as coisas.
Leia também: Como Remover Arquivos Residuais Após Desinstalar Software no Linux
O diretório Home: /home
O diretório “/home” abriga todos os arquivos pessoais dos usuários. Quando um usuário é criado, geralmente é dado a ele um diretório “/home” e permissões para editar somente os arquivos em seu diretório “/home”. Alguns usuários também são concedidos direitos de administrador, o que é o que sudo proporciona, mas isso é apenas assumindo os direitos do usuário root. Se você executar whoami e sudo whoami sucessivamente, você começará a ver isso. Este é o diretório com o qual você provavelmente está mais familiarizado.

O diretório de Biblioteca: /lib, /lib32, e /lib64
Os diretórios “/lib” contêm todas as bibliotecas específicas que os programas em “/bin” ou “/sbin” (cobertos mais tarde) usarão. É aqui que o firmware é armazenado, junto com outras bibliotecas para instalar diferentes partes do kernel e Módulos do Kernel. Os diretórios irmãos “/lib32” e “/lib64” apenas contêm versões para sistemas operacionais de 32 bits e 64 bits e são quase idênticos ao diretório base “/lib”.

O diretório Media: /media e /mnt
Estou agrupando esses dois porque eles geralmente servem ao mesmo propósito. O diretório “/media” é onde o conteúdo de CDs, DVDs ou outros mídias removíveis é armazenado. Se eu conectar um pen drive, você verá que ele aparece em “/media” na maioria dos sistemas.
O diretório “/mnt” é usado para montagens de longo prazo. Por exemplo, se eu fosse adicionar outro SSD ao meu sistema, posso configurar um ponto de montagem permanente para ele no diretório “/mnt”. Ou, se eu tiver um NAS em casa, posso montar essas informações no diretório “/mnt” também.
/opt
O diretório “/opt” abriga pacotes de software adicionais para uso por um usuário. É muito menor do que você pensaria – o meu abriga apenas arquivos para Brave, Google Chrome, e Sublime Text. Se você adicionar um repositório para um software, provavelmente encontrará isso em “/opt”.
/proc
O diretório “/proc” contém informações sobre hardware e informações de processos em andamento. À medida que o sistema descobre como está o cenário de hardware, isso será armazenado no diretório “/proc”. Por exemplo, se você executar o comando cat /proc/cpuinfo, você aprenderá mais sobre sua CPU do que pensou que queria saber.
Leia também: Usando o Sistema de Arquivos /proc para Examinar o Funcionamento Interno do seu Linux
/root
Esse é apenas a versão do usuário root do diretório “/home”. Se você fizer muito trabalho como usuário root, vai encontrar coisas lá.
/run
O diretório “/run” é um pouco semelhante ao “/proc” – apenas que em vez de hardware, o “/run” foca em software. Ambos armazenam o que é chamado de “dados voláteis de tempo de execução,” o que significa que esses diretórios são praticamente limpos a cada vez que você reinicia o sistema, mas eles armazenam informações úteis à medida que o SO aprende mais sobre seu sistema e o que você está usando.
/sbin
O diretório “/sbin” abriga programas binários que devem ser disponibilizados apenas para o usuário root. Por exemplo, o programa binário que desliga seu sistema (poweroff) deve provavelmente ficar em “/sbin”.

/srv
Este é o diretório que contém dados específicos do site com base nos serviços acessíveis via Web que você está executando. Coisas como FTP e HTTP terão informações específicas armazenadas aqui. Eu não estou executando nenhum, então meu diretório “/srv” está vazio.
/sys
O diretório “/sys” contém informações sobre dispositivos chave no sistema. No meu, você verá coisas como “/sys/dev,” “/sys/firmware,” e “/sys/kernel.” Isso é uma coleta dos dispositivos de hardware super importantes no diretório “/dev”.

/tmp
O diretório “/tmp” é usado para armazenar informações temporárias de vários programas em seu sistema. As informações são armazenadas aqui por apenas alguns dias, sem uma reinicialização, então são apenas travamentos temporários de informações para manter outros espaços de armazenamento livres. Não há muito com o que a maioria dos usuários terá que lidar no diretório “/tmp”.
/usr
O diretório “/usr” está se tornando cada vez mais frequentemente acessado. Agora, diretórios como “/bin,” “/lib,” e “/sbin” estão vinculados a versões desses diretórios em “/usr.” Você pode ver isso quando executo o comando ll no meu sistema.
Eles são links simbólicos, portanto, podem ser desvinculados, mas o sistema acaba lendo dos diretórios “/usr/bin” ou “/usr/sbin,” em vez dos diretórios “/bin” ou “/sbin”. Tudo isso é feito para simplificar a hierarquia presente e facilitar encontrar esses programas. É uma melhoria significativa na qualidade de vida que torna mais fácil mudar de Linux para Unix ou não ter locais fixos para diferentes binários.
/var
O diretório “/var” é semelhante ao diretório “/tmp”, mas mantém os dados por um pouco mais de tempo. Ele também armazena coisas como arquivos de log e imagens de disco de Máquinas Virtuais KVM.
Como você pode ver, o sistema de diretórios virtuais do Linux destina-se a organizar os arquivos que seu sistema usará e facilitar a administração e o gerenciamento do seu sistema. Obviamente, você pode fazer o que quiser com esse sistema (essa é a beleza do Linux), mas deixar as coisas como estão é aceitável para a maioria dos usuários de desktop. Você também pode querer descobrir qual sistema de arquivos é o melhor para Linux em 2021.