Entendendo a estrutura de diretórios do Linux.
Autor: Cigano | Publicado: 2011-06-08T18:01:00-03:00

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: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.Fonte: GHD