O sistema de arquivos do Linux foi projetado para ser bastante robusto, trazendo segurança e eficiência. Dentre suas principais características temos:
- Estrutura hierárquica: diretórios organizados em formato de árvore invertida. Os usuários podem armazenar seus dados sem se preocupar como estão dispostos fisicamente;
- Arquivos sem estrutura: não há estrutura interna, ou seja, não há campos, registros, delimitadores, espaços, cabeçalhos, número de colunas e linhas ou qualquer formato pré-definido a ser seguido pelo usuário ao inserir ou criar o conteúdo do arquivo. O usuário é livre para estruturar e interpretar o conteúdo;
- Segurança: controle avançado de permissionamento;
- Independência de dispositivo: o tratamento é o mesmo para arquivos e para dispositivos de entrada e saída.
A estrutura de diretórios do Linux é padronizada por documentações oficiais que descrevem como e o quê cada diretório do Linux deve conter. O Filesystem Hierarchy Standard, em português “Padrão para Sistemas de Arquivos Hierárquicos”, é o responsável por esta padronização.
Sucintamente a documentação FHS descreve meios para:
- Habilitar softwares a preverem o local de arquivos e diretórios presentes no sistema;
- Habilitar usuários a preverem o local de arquivos e diretórios presentes no sistema.
Uma estrutura de diretórios padronizada mantém o sistema organizado e sempre previsível a orientar onde cada informação ou comando está. O intuito é organizar o sistema afim de conseguir compatibilidade entre as numerosas distribuições Linux.
Seguem os principais diretórios definidos no FHS:
/ : Diretório-raiz, a partir dele originam-se todos os demais descritos abaixo.
bin: Comandos binários essenciais para todos os usuários.
boot: Arquivos estáticos responsáveis pela inicialização do sistema.
dev: Arquivos especiais de dispositivos de entrada e saída de dados.
etc: Arquivos de configurações específicas do sistema e de serviços.
lib: Bibliotecas compartilhadas essenciais para o sistema.
media: Ponto de montagem para mídias removíveis (pendrives, cdroms…).
mnt: Ponto de montagem para sistemas de arquivos temporários.
opt: Utilizado para instalar pacotes opcionais, que não fazem parte da distribuição.
run: Informações do sistema em tempo real. Dados relevantes para processos.
sbin: Comandos binários essenciais para administração do sistema.
srv: Dados de serviços fornecidos pelo sistema (servidor web, servidor ftp…)
tmp: Arquivos temporários do sistema e de programas.
usr: Hierarquia secundária ao / (barra). Programas de uso geral do sistema.
var: Arquivos de tamanho variável (logs, spool de emails, spool de impressões…).
proc: Sistema de arquivo virtual, contendo informações sobre o kernel e processos (em tempo real).
sys Sistema de arquivo virtual, contendo informações sobre o kernel e o sistema (em
tempo real).
Verificar o sistemas de Arquivos:
tree -L 1 /