Entendendo a estrutura de diretórios do Linux

A estrutura de diretórios do Linux é completamente diferente da estrutura presente no Windows, chegando ao ponto de não apresentar semelhança alguma com aquele sistema operacional. Porém, tal estrutura é bastante semelhante à da maioria dos outros sistemas *nix que você vai encontrar pela frente. Por estas e outras razões é muito importante que você saiba o papel exato de cada um dos diretórios e os use de acordo.

O objetivo deste post é dar uma breve explicação sobre o papel de cada um deles para que você tenha uma ideia do que vai encontrar neles ou mesmo para saber onde colocar os arquivos.

O diretório /

O diretório / (diz-se diretório “root”, mas não tem nada a ver com o usuário “root”) é o topo da hierarquia de diretórios do Linux. Todos os outros diretórios ficam abaixo dele e apenas o usuário root pode criar diretórios neste nível.

O diretório /bin

O diretório /bin contém os comandos essenciais do sistema, que podem ser utilizados tanto pelo root quanto por qualquer outro usuário não-privilegiado. Aqui você vai encontrar os comandos que mais vai usar como o ls, cat, chown, cp, date, mkdir, etc.

Este diretório contrasta com o /sbin, que contém comandos que podem ser usados apenas pelos administradores do sistema, com permissões elevadas.

O diretório /boot

Se alguma coisa é necessária durante o boot do sistema, ela será armazenada neste diretório. Da imagem do kernel ao arquivo de configuração do GRUB, tudo fica armazenado neste diretório que sempre deve estar na mesma partição do /. Qualquer coisa não-essencial para que o sistema inicialize está disponível ou em /bin ou em /sbin.

Não recomendo que você altere as coisas aqui a não ser que tenha a mais absoluta certeza do que está fazendo. Se o sistema não inicializar, vai ser bem complicado resolver o problema!

O diretório /dev

Tudo no Linux é um arquivo. Tudo, mas tudo mesmo, inclusive os dispositivos que estão conectados na sua máquina! Seja placa de som, rede, vídeo, partição do HD, teclado, mouse, pendrive enfim, tudo é um arquivo. E os arquivos de sistema que representam os dispositivos estão todos armazenados no diretório /dev.

Atualmente, você raramente precisa entrar neste diretório pra fazer alguma coisa já que tudo é tratado automaticamente pelo Linux. Mas, pra conferir se um dispositivo realmente foi reconhecido pelo sistema e está pronto para operar, você pode ver se o arquivo relacionado a ele foi criado neste diretório.

NOTA: Tome muito cuidado ao fazer alterações em qualquer arquivo ou link no diretório /dev. Fazer alguma coisa errada aqui pode fazer um dispositivo parar de funcionar corretamente!

O diretório /etc

Você já deve ter ouvido falar nos famosos “arquivos de configuração” do Linux. Estão todos (em um sistema bem configurado) presentes neste diretório e subdiretórios. Seja um software do sistema ou um programa que você mesmo instalou, toda a configuração é feita através de um arquivo texto puro (não um binário ou executável, um arquivo texto simples).

Por exemplo, neste diretório você encontra o arquivo de configuração do SSH (dentro do subdiretório /etc/ssh), do sudo(/etc/sudoers), do Apache, etc. Enfim, se você precisa mudar a configuração de um serviço do sistema é muito provável que você vá editar um arquivo dentro do /etc.

O diretório /home

A esta altura você já deve saber que o Linux é um sistema multi-usuário. Para o monte de usuários (e seus respectivos arquivos) que um sistema Linux pode ter organizados, foi criado o diretório /home.

Este é o diretório pessoal de cada usuário criado junto com a conta. Neste diretório o dono pode fazer o que quiser: colocar seus arquivos pessoais, instalar programas, criar seus próprios arquivos de configuração personalizados para algum programa, etc.

Como você pode imaginar, o /home pode acabar ficando muito grande. Por isso, em alguns sistemas o administrador define quotas para garantir que os diretórios não passem de um determinado tamanho. O /home também pode ser montado através de NFS e ficar armazenado em uma outra máquina da rede.

O diretório /lib

No /lib você encontra todas as bibliotecas que são necessárias para que os outros programas do sistema sejam executados corretamente. Pense nos arquivos presentes dentro do /lib como as DLLs do Windows. Se elas não estiverem no lugar certo, na versão certa na hora da execução do programa as coisas não vão funcionar como deveriam.

Minha recomendação é que você não altere os arquivos presentes neste diretório. Deixe que o sistema faz tudo sozinho!

O diretório /mnt

O diretório /mnt foi criado com o intuito de ser um ponto de montagem para sistemas de arquivos externos ao sistema. Por exemplo, nele você pode montar um CD-ROM, um pendrive, um HD removível, etc. e usá-lo normalmente para armazenar arquivos.

Atualmente, este diretório já não é mais tão utilizado como antigamente. Distribuições Linux mais modernas têm preferido usar o diretório /media para montar estes tipos de dispositivos. Este diretório funciona da mesma maneira que o /mnt e tem a mesma finalidade.

O diretório /proc

O /proc não é um diretório criado no seu disco rígido. Ele é uma estrutura de dados criada na memória RAM da sua máquina.

Dentro deste diretório você vai encontrar informações sobre o sistema como um todo. Por exemplo, informações sobre o processador, memória RAM, dispositivos montados, quais processos estão sendo executados no momento (inclusive os argumentos de linha de comando utilizados para iniciá-los), entre várias outras coisas. Alguns comandos do sistema simplesmente leem os arquivos presentes neste diretório para apresentar as informações na tela para você. Exemplos destas ferramentas são lsmod, lsusb e lspci

O diretório /opt

Aqui devem ficar os arquivos de qualquer software que não faça parte da distribuição básica. Ou pelo menos era assim quando ele foi criado!

Hoje em dia, a maioria dos pacotes de software distribuidos para vários sistemas Linux diferentes simplesmente não usam o /opt. Portanto, geralmente este diretório fica vazio.

O diretório /root

Assim como todos os outros usuários do sistema, o usuário root também tem o seu próprio diretório pessoal. Porém, ao invés de ficar no /home, o diretório pessoal do usuário root fica diretamente abaixo do diretório root em /root. Este diretório pode ser acessado apenas pelo root e, por padrão, as quotas definidas para o sistema não se aplicam aqui. Além disso, 5% do espaço da partição ficam reservados para o /root.

O principal motivo para o /root não ficar embaixo de /home é que o /home não necessariamente fica na mesma partição do “/”. Portanto, se algum problema ocorrer e a partição /home não puder ser montada (e isso acontece, acredite em mim!) o root não poderia acessar o seu próprio diretório, causando problemas chatos de se resolver no sistema.

O diretório /sbin

Em contraste com o /bin, que armazena ferramentas essenciais que podem ser utilizados por qualquer usuário, o /sbin contém ferramentas que apenas usuários com privilégios mais altos (ou através do sudo) podem usar. Se algum comando administrativo não está presente aqui, ele terá sido armazenado em /usr/sbin.

Exemplos de comandos que você encontra aqui são ifconfig, fdisk, init, etc.

O diretório /tmp

O /tmp é simplesmente um diretório temporário para que alguma aplicações (ou você mesmo) crie e use arquivos que serão úteis apenas por um curto período de tempo. Todos os usuários do sistema podem escrever neste diretório e todo o conteúdo é removido sempre que o sistema é reiniciado.

NOTA: Veja que o diretório /tmp tem todo o seu conteúdo removido quando o sistema é reiniciado. Por isso, nunca deixe nada de importante lá se não você vai perdê-lo!

O diretório /usr

Este é o diretório que sem dúvidas vai ocupar mais espaço no seu disco rígido. Originalmente, dentro do /usr armazenava-se tudo relacionado ao usuário (inclusive o diretório home, ou seja, não se usava o /home). Hoje em dia a ideia deste diretório é mais armazenar dados e programas que são utilizados por usuários normais (não-privilegiados) do sistema.

O /usr geralmente é montado na sua própria partição, separado do /.

 

Dentro deste diretório, entre outras coisas, você encontra o X Window System. Alguns dos subdiretórios mais importantes são o /usr/include (que contém os headers de desenvolvimentos das bibliotecas. Bastante necessário quando se compila um programa do zero), /usr/info (contém os arquivos de ajuda usados pelo comando info) e /usr/man (que contém as man pages, usadas pelo comando man).

O diretório /var

Como o nome indica, este diretório contém todo tipo de informações que variam (mudam) com o tempo. Arquivos de log,e-mail, spool de impressão, etc. todos estão presentes aqui. O /var não pode ser compartilhado com outras máquinas pois as informações que ele contém são relevantes apenas para a máquina local. Também é interessante que o /var seja montado em uma partição à parte, diferente da partição do /.

Alguns subdiretórios importantes são /var/log (que contém os arquivos de log do sistema), /var/mail (e-mails internos), /var/cache (é aqui onde as aplicações armazenam informações de cache), /var/backups (que contém backups de vários arquivos importantes do sistema, como /etc/shadow).

Anúncios
Sem categoria

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s