Lnx d1r3t0rios (FHS)
A estrutura de arquivos do Linux é bem simples, mas nunca parei para analisar o que cada uma delas faz, talvez por preguiça, mas quero pensar que não era hora certa. Enfim, vamos à analise de diretórios.
/bin & /sbin
Armazenam os executáveis básicos do sistema que usamos como cat, ls, mv e rm por exemplo. Dentro do sbin estão os executáveis destinados ao usuário root.
Outros executáveis também ficam disponíveis dentro do usr, o objetivo é que os executáveis estejam disponíveis desde o boot caso você resolva mudar a /usr pra uma partição separada.
/usr
Diferente do que pensei quando li usr, ele não significa user, mas sim Unix System Resources (Recursos de Sistema Unix), normalmente esta sempre lotado de arquivos, sempre que instalamos algum executável, eles são armazenados aqui.
Dentro de usr/bin ficam diversos programas típicos do sistema, conforme novos pacotes são instalados ela cresce mais.
Dentro de usr/lib ficam bibliotecas utilizadas pelos programas, algumas com a extensão .a, por exemplo, representando bibliotecas estáticas.
Dentro de usr/local é destinada para programas e scripts instalados manualmente pelo usuário. Por fim o usr/sbin é pra isso mesmo que você esta pensando, executáveis que podem ser executados apenas pelo usuário root.
/boot
Armazena o próprio kernel e arquivos usados por ele, como configurações utilizadas pelo kernel na inicialização do sistema.
/dev
Destinada ao desenvolvedor, brincadeira, esta relacionada a device, ou seja os arquivos listados ali são ponteiros para o hardware.
Dentro de dev/mouse por exemplo deveria conter informações enviadas pelo mouse, mas a menos que saiba o que esta fazendo(ao contrário de mim por exemplo), passe longe desse diretório.
/opt
Este diretório possui uma similaridade com o/usr/local pois foi criado para armazenar arquivos que não pertencem ao sistema operacional.
Este diretório pode conter arquivos distribuídos exclusivamente para a sua distribuição do Linux, como por exemplo uma animação diferente ao transitar entre janelas ou talvez uma fonte diferente.
/proc
O dev é complementado pelo proc, ele armazena informações de hardware, configurações do sistema e também informações sobre os processos rodando, por exemplo, se iniciarmos um programa e através do pgrep <nome> visualizarmos o PID desse software, existirá uma referência desse PID como um diretório dentro do /proc.
/sys
Complementando o trio “Não tenho para que mexer”, o sys agrupa informações relacionadas aos dispositivos instalados gerando essas info automaticamente, ele é o responsável por mostrar um ícone na área de trabalho quando plugamos um pendrive, por exemplo.
Dentro desse diretório praticamente todas referências ao hardware são exibidas em forma de outros diretórios.
/etc
Esse diretório é responsável por conter as configurações de alguns programas como Apache por exemplo, onde se encontra o htaccess. Os arquivos de configurações normalmente possui o nome do programa + a extensão .conf, como o arquivo de configuração do servidor DHCP, utilizado para atribuir o IP de outras máquinas na rede.
/mnt
Agora o diretório mnt (mount) de montar, sendo o ponto de montagem de itens temporários como um programa que você está instalando por exemplo ou alguma montagem feita o commando mount que não possui um link em /dev por exemplo.
/media
Complementando o /mnt, o diretório /media seria o local onde os pendrives seriam montados, após ficarem disponíveis no /dev devemos montar esse dispositivo para que possamos escrever nele por exemplo. É possível existir um diretório linkado ao usuário local usr/media. Bom
A estrutura é bem completa e espero não ter passado batido por nenhuma, como referência utilizei o livro Linux, Guia prático de Carlos E. Morimoto.