Bem, agora vamos começar a nos movimentar e nos arriscarmos a
desvendar os mistérios do sistema de arquivos do
Linux!
Muita calma nesta hora! :P
Para começar vamos executar o comando
ls -p partindo
da raiz ("/"), para que possam ser listadas as pastas do sistema:
bin/ dev/ home/ lib/ misc/ opt/ root/ tmp/ var/
boot/ etc/ initrd/ lost+found/ mnt/ proc/ sbin/ usr/
Agora vamos tentar listar para que servem cada um destes diretórios:
/sbin: Neste diretório estão localizados os arquivos
vitais ao sistema Linux, referentes a administração e manutenção de
hardware e software. Um exemplo de um arquivo que consta nesta pasta do sistema é o
ifconfig, responsável pelas configurações de endereçamento IP. Os arquivos desta pasta são utilizados por todos os usuários que efetuem login neste computador.
/bin: Ao contrário do que muita gente pensa, este
diretório contém comandos que não são somente utilizados pelo
root (system administrator). Esta pasta contém também arquivos
que serão utilizados por usuários sem privilégios de root. O
diretório /bin armazena arquivos de shell como
bash e
csh e comandos bastante utilizados como cp, mv, rm, cat, etc.
/usr/sbin: Esta pasta contém arquivos binários utilizados
pelo administrador do sistema, como network daemons e outros
binários que apenas o administrador do sistema tem acesso. O mais
importante: estes arquivos não são vitais para a manutenção ou
reparação do sistema Linux.
/usr/bin: Neste diretório estão contidos outros arquivos
binários referentes aos usuários. Estes binários não são essenciais
ao usuários se comparados com a pasta /bin.
/boot: Este diretório contém o arquivo
system.map e o
kernel do Linux. Os bootloaders (LILO e GRUB) colocam o backup do setor de boot neste diretório.
/dev: Este é um diretório muito importante ao sistema Linux. Nele estão contidos os arquivos que representam partições, devices, dentre outros dispositivos. Aqui encontramos arquivos como hda1, hda2, fd0, cdrom, etc. E cada arquivo representa um dispositivo reconhecido e instalado no Linux.
/etc: Neste diretório ficam todos os arquivos de configuração de seu sistema Linux. Aqui você encontra arquivos para configurar o Lilo (
lilo.conf), BIND (
named.conf), resolução de DNS (
resolv.conf), dentre outros. Vale ressaltar a existência do subdiretório X11 utilizado para configuração do seu ambiente gráfico, /etc/rc.d que é utilizado para adicionar ou modificar scripts executados na inicialização do Linux. Este diretório deve entrar em seu sistema de backup, como parte importante dentro do Linux.
/home: Aqui ficam armazenadas as pastas de cada usuário (Home Directory). O usuário root (system administrator) consegue enxergar e ter livre acesso a todas as subpastas deste diretório, porém os demais usuários acessam somente sua própria pasta. Dentro de cada pasta de usuário residem arquivos de configuração para programas como FTP, IRC, etc.
/lib: Contém todas as libraries que devem ser comuns a todo sistema (compartilhadas). Este diretório pode ser comparado ao diretório System32 ou System do Windows, utilizado para armazenar e compartilhar as DLLs (Dynamic Link Libraries).
/lost+found: Sempre que seu sistema "crashar" ou tiver um shutdown forçado, o Linux irá tentar recuperar o que está corrompido no próximo boot. Caso um arquivo esteja corrompido, ele será colocado aqui neste diretório.
/mnt: Este é um diretório chamado de "mount point" (ponto de montagem), onde serão colocados (apontados) todos as montagens do sistema operacional. Este diretório usualmente conterá mount points ou subdiretórios onde você poderá montar disquetes ou seu cdrom. Você pode também criar mount points adicionais, caso você necessite, pois não existe uma limitação de mount points.
/opt: Este diretório contém todos os softwares e pacotes de add-ons que não fazem parte da instalação padrão do seu Linux. Geralmente você poderá encontrar neste diretório softwares como o KDE ou StarOffice.
/proc: Este é um diretório muito especial e muito complexo do sistema e que pode render um único artigo só para ele. Para não confundir, podemos dizer que o diretório /proc é um pseudo-diretório, que faz track de processos ativos na máquina, status do sistema, dentre outras informações. Prometo fazer um artigo para explicar para que serve o diretório /proc por completo.
/root: Este é o home directory do usuário root. Não confunda a pasta /root com o Root Directory ("/"), que é o topo do nosso sistema de arquivos. O /root é uma pasta para armazenar arquivos pertinentes ao usuário root, onde somente ele tem acesso.
/tmp: Este diretório armazena os arquivos que são utilizados por um curto período de tempo (temporários). Alguns programas utilizam dele para guardar os lock-files, usados para "prender" alguma funcionalidade, registro de dados, etc. Este diretório é limpo durante o boot e shutdown de seu sistema. Não é aconselhável guardar arquivos importantes aqui. Use somente para arquivos temporários.
/usr: Este é um outro diretório muito importante ao sistema Linux. Neste diretório estão armazenados arquivos binários dos usuários, arquivos relacionados ao sistema "X", programas como telnet, ftp, dentre outros, são encontrados em subpastas do /usr. Vale ressaltar que o diretório /usr/doc contém grande parte da documentação do Linux, e o diretório /usr/src/linux, que armazena o código fonte do Kernel.
/var: Este diretório contém dados de spool, como e-mail e outputs de daemons de impressão. Este é o diretório padrão dos logs do sistema também, caso você não tenha mudado de lugar. Um arquivo importante de log é o
/var/log/messages, que armazena logs do sistema, regras de iptables, etc. Um dos subdiretórios do /var é o /var/named, que armazena as bases de dados DNS, do BIND.
Bem, estes foram alguns conceitos básicos sobre o sistema de arquivos Linux. Vale a pena procurar mais documentação na internet e aqui no site
Viva o Linux, porque quanto mais se sabe, mais temos vontade de aprender, não é?!
Um abraço e até o próximo artigo.