A estrutura de diretórios do Linux, explicada
A estrutura de diretórios do Linux é essencial para entender como funciona esse poderoso sistema operacional, amplamente utilizado em servidores e computadores pessoais.
No Linux, tudo começa com o diretório raiz, simbolizado por uma barra (/), que atua como ponto de partida a partir do qual todos os outros diretórios se ramificam.
Dentro desta hierarquia, encontraremos diretórios essenciais como /bin, que contém executáveis básicos do sistema e /etc, onde os arquivos de configuração críticos são armazenados.
O diretório /lar É particularmente importante para os usuários, pois armazena seus arquivos e configurações pessoais.
Outro diretório chave é /var, que salva arquivos variáveis, como logs do sistema e filas de impressão.
Compreender como esses diretórios são organizados não apenas facilita a navegação e o gerenciamento do sistema, mas também é crucial para a segurança e a eficiência no gerenciamento de servidores Linux.
Essa estrutura hierárquica e lógica não apenas otimiza a operação do sistema, mas também permite fácil escalabilidade e customização, características que tornam o Linux uma escolha popular entre desenvolvedores e administradores de sistemas na Argentina e no mundo.
Se você vem do Windows, a estrutura do sistema de arquivos Linux pode parecer particularmente estranha.
A unidade C:\ e as letras da unidade desapareceram, substituídas por / e diretórios com sons enigmáticos, a maioria dos quais com nomes de três letras.
O padrão de hierarquia do sistema de arquivos (ESF) define a estrutura dos sistemas de arquivos no Linux e outros sistemas operacionais semelhantes ao UNIX. No entanto, os sistemas de arquivos Linux também contêm alguns diretórios que ainda não foram definidos pelo padrão.
/ – O diretório raiz
Tudo no seu sistema Linux está localizado no diretório /, conhecido como diretório raiz. Você pode pensar que o diretório / é semelhante ao diretório C:\ do Windows, mas isso não é estritamente verdade, pois o Linux não possui letras de unidade. Enquanto outra partição estaria localizada em D:\ no Windows, esta outra partição apareceria em outra pasta em / no Linux.
/bin – Binários de usuário essenciais
O diretório /bin contém os binários essenciais do usuário (programas) que devem estar presentes quando o sistema é montado no modo de usuário único. Aplicativos como o Firefox, se não instalados como Snaps, são armazenados em /usr/bin, enquanto programas e utilitários importantes do sistema, como o shell bash, estão localizados em /bin. O diretório /usr pode ser armazenado em outra partição. Colocar esses arquivos no diretório /bin garante que o sistema terá esses utilitários importantes mesmo se nenhum outro sistema de arquivos estiver montado. O diretório /sbin é semelhante: contém binários essenciais para administração do sistema.
/boot – Arquivos de inicialização estáticos
O diretório /boot contém os arquivos necessários para inicializar o sistema. Por exemplo, os arquivos do bootloader GRUB e seus kernels Linux são armazenados aqui. No entanto, os arquivos de configuração do bootloader não estão localizados aqui; eles estão em /etc com os outros arquivos de configuração.
/cdrom – Ponto de montagem histórico para CD-ROM
O diretório /cdrom não faz parte do padrão FHS, mas você ainda o encontrará no Ubuntu e em outros sistemas operacionais. É um local temporário para CD-ROMs inseridos no sistema. No entanto, o local padrão para mídia temporária está no diretório /media.
/dev – Arquivos de dispositivo
O Linux expõe dispositivos como arquivos, e o diretório /dev contém uma série de arquivos especiais que representam dispositivos. Estes não são arquivos reais como os conhecemos, mas aparecem como arquivos. Por exemplo, /dev/sda representa a primeira unidade SATA no sistema. Se quiser particioná-lo, você pode iniciar um editor de partições e solicitar que ele edite /dev/sda.
Este diretório também contém pseudodispositivos, que são dispositivos virtuais que na verdade não correspondem ao hardware. Por exemplo, /dev/random produz números aleatórios. /dev/null é um dispositivo especial que não produz saída e descarta automaticamente todas as entradas; quando você canaliza a saída de um comando para /dev/null, você o descarta.
/etc – Arquivos de configuração
O diretório /etc contém arquivos de configuração, que geralmente podem ser editados manualmente em um editor de texto. Observe que o diretório /etc/ contém arquivos de configuração de todo o sistema. Os arquivos de configuração específicos do usuário estão localizados no diretório inicial de cada usuário.
/home – Pastas iniciais
O diretório /home contém uma pasta pessoal para cada usuário. Por exemplo, se seu nome de usuário for bob, você terá uma pasta pessoal localizada em /home/bob. Esta pasta inicial contém os arquivos de dados do usuário e os arquivos de configuração específicos do usuário. Cada usuário só tem acesso de gravação à sua própria pasta pessoal e deve obter permissões elevadas (tornar-se root) para modificar outros arquivos no sistema.
/lib – Bibliotecas compartilhadas essenciais
O diretório /lib contém as bibliotecas que precisam dos binários essenciais nas pastas /bin e /sbin. As bibliotecas que precisam dos binários na pasta /usr/bin estão localizadas em /usr/lib. Você também verá uma pasta homóloga /lib64 em sistemas de 64 bits.
/perdido+encontrado – arquivos recuperados
Todo sistema de arquivos Linux possui um diretório perdido+encontrado. Se o sistema de arquivos falhar, uma verificação do sistema de arquivos será realizada na próxima inicialização. Quaisquer arquivos corrompidos encontrados serão colocados no diretório perdido+encontrado, para que você possa tentar recuperar o máximo de dados possível.
O diretório /media contém subdiretórios onde são montados os dispositivos de mídia removível inseridos no computador. Por exemplo, quando você insere um CD em seu sistema Linux, um diretório será criado automaticamente dentro do diretório /media. Você pode acessar o conteúdo do CD neste diretório.
/mnt – Pontos de montagem temporários
Historicamente falando, o diretório /mnt é onde os administradores de sistema montavam sistemas de arquivos temporários enquanto os usavam. Por exemplo, se você estiver montando uma partição do Windows para realizar algumas operações de recuperação de arquivos, poderá montá-la em /mnt/windows. Entretanto, você pode montar outros sistemas de arquivos em qualquer lugar do sistema.
/opt – Pacotes opcionais
O diretório /opt contém subdiretórios para pacotes de software opcionais. É comumente usado por software proprietário que não obedece à hierarquia padrão do sistema de arquivos. Por exemplo, um programa proprietário pode despejar seus arquivos em /opt/application quando você o instala.
/proc – Arquivos de processo e kernel
O diretório /proc é semelhante ao diretório /dev porque não contém arquivos padrão. Contém arquivos especiais que representam informações do sistema e do processo.
/root – diretório inicial raiz
O diretório /root é o diretório inicial do usuário root. Em vez de estar localizado em/home/root, ele está localizado em/root. Isso é diferente de /, que é o diretório raiz do sistema.
/run – Arquivos de estado do aplicativo
O diretório /run fornece aos aplicativos um local padrão para armazenar os arquivos temporários necessários, como soquetes e IDs de processos. Esses arquivos não podem ser armazenados em /tmp porque podem ser excluídos.
/sbin – Binários de administração do sistema
O diretório /sbin é semelhante ao diretório /bin. Ele contém binários essenciais que geralmente devem ser executados pelo usuário root para administração do sistema.
/snap – Armazenamento para pacotes Snap
Outro diretório que não faz parte do FHS, mas é comum de ver hoje em dia, é /snap. Contém pacotes Snap instalados e outros arquivos associados ao Snap. O Ubuntu agora usa Snaps por padrão, mas se você usar uma distribuição diferente que não o faça, você não verá este diretório.
/srv – Dados do serviço
O diretório /srv contém “dados de serviços fornecidos pelo sistema”. Se você estivesse usando o servidor Apache HTTP para servir um site, provavelmente armazenaria os arquivos do seu site em um diretório dentro do diretório /srv.
/tmp – Arquivos temporários
Os aplicativos armazenam arquivos temporários no diretório /tmp. Esses arquivos geralmente são excluídos sempre que o sistema é reinicializado e podem ser excluídos a qualquer momento usando utilitários como systemd-tmpfiles.
/usr – Binários do usuário e dados somente leitura
O diretório /usr contém aplicativos e arquivos usados pelos usuários, em oposição aos aplicativos e arquivos usados pelo sistema. Por exemplo, os aplicativos não essenciais estão localizados no diretório /usr/bin em vez do diretório /bin, e os binários de administração do sistema não essenciais estão localizados no diretório /usr/sbin em vez do diretório /sbin. As bibliotecas de cada um estão localizadas no diretório /usr/lib. O diretório /usr também contém outros diretórios. Por exemplo, arquivos independentes de arquitetura, como gráficos, estão localizados em /usr/share.
O diretório /usr/local é onde os aplicativos compilados localmente são instalados por padrão. Isso os impede de bagunçar o resto do sistema.
/var – Arquivos de dados variáveis
O diretório /var é a contraparte gravável do diretório /usr, que deve ser somente leitura em operação normal. Arquivos de log e tudo o mais que normalmente seria gravado em /usr durante a operação normal são gravados no diretório /var. Por exemplo, você encontrará arquivos de log em /var/log.
Para obter informações técnicas mais detalhadas sobre a hierarquia do sistema de arquivos Linux, consulte o Documentação padrão de hierarquia do sistema de arquivos.