Entendendo a estrutura de diretórios do Linux

Entendendo a estrutura de diretórios do Linux

O primeiro choque para quem está vindo do Windows é a estrutura de diretórios do Linux, que não lembra em nada o que temos no Windows. Basicamente, no Windows temos os arquivos do sistema concentrados nas pastas Windows e Arquivos de programas e você pode criar e organizar suas pastas da forma que quiser.

No Linux é basicamente o contrário. O diretório raiz está tomado pelas pastas do sistema e espera-se que você armazene seus arquivos pessoais dentro da sua pasta no diretório /home.

Mas, as diferenças não param por aí. Para onde vão os programas que são instalados se não existe uma pasta central como a arquivos de programas? E para onde vão os arquivos de configuração se o Linux não possui nada semelhante ao registro do Windows?

A primeira coisa com que você precisa se habituar é que no Linux os discos e partições não aparecem necessariamente como unidades diferentes, como o C:, D:, E: do Windows. Tudo faz parte de um único diretório, chamado diretório raiz.

Dentro deste diretório temos não apenas todas as partições de disco, mas também o CD-ROM, drive de disquete e outros dispositivos.

Abrindo o Konqueror, você verá um estrutura como esta:

30

O diretório /bin armazena os executáveis de alguns comandos básicos do sistema, como o su, tar, cat, rm, pwd, etc. Geralmente isto soma de 5 a 7 MB, pouca coisa. O grosso dos programas ficam instalados dentro do diretório /usr (de “user”). Este é de longe o diretório com mais arquivos em qualquer distribuição Linux, pois é aqui que ficam os executáveis e bibliotecas de todos os principais programas. A pasta /usr/bin (bin de binário) por exemplo armazena cerca de 2.000 programas e atalhos para programas numa instalação típica do Mandrake. Se você tiver que chutar em que pasta está o executável de um programa qualquer, o melhor chute seria justamente a pasta /usr/bin :-).

Outro diretório populado é o /usr/lib, onde ficam armazenadas bibliotecas usadas pelos programas. As funções destas bibliotecas lembram um pouco a dos arquivos .dll no Windows. As bibliotecas com extensão .a são bibliotecas extáticas, enquanto as terminadas em .so.versão (xxx.so.1, yyy.so.3, etc.) são bibliotecas compartilhadas, usadas por vários programas e necessárias para instalar programas distribuídos em código fonte (os famosos arquivos .tar.gz, que veremos adiante).

Subindo de novo, a pasta /boot armazena (como era de se esperar) o Kernel e alguns arquivos usados pelo Lilo (ou grub, dependendo de qual você tiver instalado), que são carregados na fase inicial do boot. Estes arquivos são pequenos, geralmente ocupam menos de 5 MB. Versões antigas do Red Hat e de outras distribuições criam por default uma partição separada para o diretório /boot de cerca de 30 MB, posicionada no início do disco para evitar o limite de 1024 cilindros do Lilo. Isto não é necessário hoje em dia, pois nas versões atuais do Lilo este limite não existe mais. Apesar disso, alguns usuários preferem manter o /boot numa partição separada por questões de segurança. Assim, é possível os arquivos para se carregar automaticamente durante o boot. Quando se fala em particionamento, as possibilidades são muitas, existem até listas de discussão dedicadas exclusivamente ao assunto. Afinal, talvez usar o sistema de arquivos xxx na partição yyy possa melhorar em 0,0003% o desempenho do sistema… Tem gente que realmente se prende aos detalhes. 🙂

Logo abaixo temos o diretório /dev, que é de longe o exemplo mais exótico de estrutura de diretório no Linux. Todos os arquivos contidos aqui. Como por exemplo /dev/hda, /dev/dsp, /dev/modem, etc. não são arquivos armazenados no HD, mas sim links para dispositivos de hardware. Por exemplo, todos os arquivos gravados no “arquivo” /dev/dsp serão reproduzidos pela placa de som, enquanto o “arquivo” /dev/ttyS0 contém os dados enviados pelo mouse (ou outro dispositivo conectado na porta serial 1). Esta organização visa facilitar a vida dos programadores, que podem acessar o Hardware do micro simplesmente fazendo seus programas lerem e gravarem em arquivos. Não é preciso nenhum comando esdrúxulo para tocar um arquivo em Wav, basta “copiá-lo” para o arquivo /dev/dsp, o resto do trabalho é feito pelo Kernel. O mesmo se aplica ao enviar um arquivo pela rede, ler as teclas do teclado ou os clicks do mouse e assim por diante.

O diretório /etc concentra os arquivos de configuração do sistema, substituindo de certa forma o registro do Windows. A vantagem é que enquanto o registro é uma espécie de caixa preta, os scripts do diretório /etc são desenvolvidos justamente para facilitar a edição manual. É verdade que na maioria dos casos isto não é necessário, graças aos inúmeros utilitários, mas a possibilidade continua aí. Os arquivos recebem o nome dos programas seguidos geralmente da extensão .conf. Por exemplo, o arquivo de configuração do serviço de dhcp é o dhcpd.conf, enquanto o do servidor proftp é o proftpd.conf. Claro, ao contrário do registro os arquivos do /etc não se corrompem sozinhos e é fácil fazer cópias de segurança caso necessário…

O diretório /mnt (de “mount”) recebe este nome justamente por servir de ponto de montagem para o CD-ROM (/mnt/cdrom), drive de disquetes (/mnt/floppy), drives Zip e outros dispositivos de armazenamento. O uso do diretório /mnt é apenas uma convenção. Você pode alterar o ponto de montagem do CD-ROM para /CD, ou qualquer outro lugar se quiser.

Nada impede que você crie mais pastas no diretório raiz para armazenar seus arquivos. Apesar de ser recomendável em termos de organização e segurança, você não é obrigado a concentrar seus arquivos dentro do seu diretório de usuário. Nada impede que você logue-se como root, crie uma pasta /MP3, abra o menu de permissões para que seu login de usuário tenha permissão para acessá-la e a utilize para guardar suas músicas, por exemplo.

Sobre o Autor

Avatar de Luana Kohlrausch
Redes Sociais:

Deixe seu comentário

X