FILE SYSTEM HIERARCHY: Entenda todos os diretórios do Linux
Acredito que uma das principais dificuldades dos novos usuários Linux é entender como funciona a estrutura de diretórios, que por sinal é totalmente diferente de como o Windows organiza suas pastas. Por isto, escrevi o artigo FILE SYSTEM HIERARCHY: Entenda todos os diretórios do Linux, para que você de fato entenda qual a função de cada um deles.
Como funciona a estrutura de diretórios no Linux?
Primeiramente, é interessante entender que o Linux organiza seus diretórios em forma de árvore, enquanto o Windows coloca tudo em somente um lugar. Ficou complicado? Vamos entender um pouco mais afundo.
Quando realizamos a instalação de um programa no Windows, o que acontece exatamente? Geralmente, o processo de instalação vai criar uma pasta dentro do C: com o nome do programa, por exemplo o GIMP, contendo todos os arquivos necessários para o programa funcionar (executáveis, dll’s, pastas, arquivos de configuração, etc…).
Entretanto, se formos olhar como o Linux trataria este processo, será algo bem diferente. O Linux distribui esses arquivos em diretórios separados, como por exemplo, as bibliotecas no diretório /lib, os executáveis em /bin, os arquivos de configuração em /etc e assim por diante.
O que é File System Hierarchy?
O FHS é um acrônimo para File Sytem Hierarchy. Basicamente, ele é um padrão que todas as distribuições Linux devem seguir para organizar os seus diretórios. Quando o Linux estava começando, viu-se diferentes formas para estruturar as pastas dentre as distribuições, o que causava muita confusão quando um usuário mudava de uma para a outra. Então, foi definido este padrão ao qual as distribuições seguem restritamente.
/
O primeiro diretório, conhecido por barra, ou Root File System, é a raiz do nosso sistema. Isso significa que todos os outros diretórios estarão dentro dele (lembra do conceito de árvore?!). Podemos compará-lo ao C: do Windows.
/bin
Um executável do Windows pode ser chamado de binary ou binário no Linux. O /bin é um diretório onde ficam esses binários, todavia, este diretório é totalmente específico para binários que são geralmente utilizados por todos os usuários do sistema, como por exemplo, o comando ls.
/boot
É onde ficam armazenados os arquivos responsáveis pelo boot do sistema operacional, como por exemplo, o Kernel ou o arquivo Initrd. Geralmente, há uma pasta EFI dentro do /boot para quem utiliza a BIOS no modo UEFI.
O diretório /dev é gerenciado pelo daemon do sistema udev, que cuida da configuração dos dispositivos do sistema, como é o caso de mouses, teclados, discos rígidos, pendrives, etc. Desta forma, cada dispositivo tem uma instância criada dentro deste diretório, como por exemplo /dev/sda que é comumente chamado nosso HD.
/etc
Onde ficam os arquivos de configuração. Então, digamos que você tenha instalado um FTP, DHCP, MySQL ou qualquer outro serviço. Cada um deles vai criar uma pasta dentro do /etc onde você poderá acessar e personalizar eles para trabalhar da forma que achar melhor.
/home
Diretório onde ficam os arquivos dos usuários. Cada usuário do sistema tem uma pasta com seu nome dentro de /home. E, dentro da pasta do usuário, há as pastas de Documentos, Downloads, Desktop, etc.
/lib
Diretório onde ficam as libraries ou bibliotecas, ou seja, as dependências para os binários em /bin e /sbin funcionarem. Lembrando que uma librarie é como se fosse uma _dll ****_no Windows.
/media
Este é o diretório de montagem de partições para dispositivos removíveis como USB e CD-ROM.
/mnt
Diretório para montagem de partições temporárias. Por exemplo, vou montar esse sistema só para copiar um arquivo e já vou desmontar. Pode-se usar então o /mnt.
/opt
Este diretório é utilizado para pacotes opcionais externos. Então, digamos que eu baixei um programa source code, compilei esse programa, e depois instalei. Como foi algo por parte do meu usuário, posso instalar em /opt, se assim desejar.
É um sistema de arquivos virtual onde podemos coletar informações de hardware e sobre o Kernel. Então, por exemplo, posso ver informações do meu processador, memória, parâmetros do Kernel, etc. Além disso, ele guarda informações sobre os processos que estão rodando no momento.
OBS: Não se pode fazer back-up deste diretório, porque é algo que muda a todo momento.
/root
É a mesma coisa que o /home, porém, é somente para o super-usuário (root).
/run
Onde ficam arquivos utilizados por processos do sistema em runtime, principalmente os necessários durante o boot. Esses processos poderiam ser usados no /tmp? Até poderiam, mas o tmpwatch remove tudo que fica parado durante um tempo e causaria problema nos serviços em background, por isso foi criado este diretório.
/sbin
Lembra do diretório /bin? Então, este diretório serve para a mesma coisa, mas com a restrição de armazenar somente os binários para manutenções no sistema operacional, como é o caso do fsck, dumpe2fs, debugfs… Geralmente, este diretório é utilizado quanto entramos no modo de recuperação do Linux.
/srv
Diretório utilizado por serviços como FTP.
/sys
Contém algumas informações bem parecidas com o /proc. Basicamente, são informações do Kernel, dispositivos e drivers.
/tmp
Armazena os arquivos e diretórios temporários do sistema.
/usr
Onde ficam os arquivos de programas específicos para usuários. Se você der uma olhada dentro deste diretório, verá praticamente um outro / dentro dele, isto é, vários diretórios repetidos. Isto porque alguns programas são distribuídos dentro do _/usr.
/var
Este é um diretório variável que contém diferentes tipos de dados, onde o mais corriqueiro é o armazenamento de logs e spool de impressão. Um fato interessante é que geralmente em servidores, este diretório é colocado em uma partição separada porque ele aumenta muito rapidamente.
Espero que tenham gostado desta dica!
Não esqueça de nos seguir noInstagrampara receber os últimos conteúdos!