O documento descreve a estrutura de diretórios padrão (FHS) usada na maioria das distribuições Linux. Ele explica a história e propósito do FHS, fornecendo detalhes sobre os principais diretórios como /bin, /boot, /dev, /etc, /home, /lib, /opt, /proc, /root, /sbin, /usr e /var. O documento também discute como navegar e localizar arquivos na estrutura de diretórios.
7. $history FHS
FHS (File System Standard Hierarchy,
Hierarquia padrão do sistema de arquivos).
No início do ano de 1996, surgiu um
movimento, com o apoio da comunidade de
desenvolvedores do BSD, que visava o
desenvolvimento de versões do FSSTND
para outros sistemas do tipo Unix, além do
Linux.
8. $history FHS
O FHS é mantido pelo Free Standards
Group (FSG), uma organização sem fins
lucrativos formada por importantes empresas
de hardware e software, como:
10. $info FHS
• O Linux tem como principais elementos
estruturais arquivos e diretórios, onde arquivos
guardam informações e diretórios são os
compartimentos que podem conter arquivos
e/ou subdiretórios.
• Estes arquivos e diretórios estão organizados
numa estrutura hierárquica na forma de uma
árvore invertida, que assim se chama porque o
elemento no topo é raiz,de onde saem o
“tronco” e os “galhos” que atingem os demais
elementos.
11. $info FHS
O diretório no topo da hierarquia é o
diretório raiz que é representado por “/”.
Aqueles diretórios logo abaixo deles são seus
filhos;
Os nomes de arquivos e diretórios são case
sensitive,ou seja, diferencia maiúsculas de
minúsculas.
13. $info FHS
Localização na estrutura do diretório
- pwd: mostra o diretório em que voce está.
- ls: exibi conteudo do diretório ou informações
de um arquivo. É possível mostrar o
conteúdo de um ou vários diretórios ao
mesmo tempo também.
sintaxe: ls [parametro]<arquivo ou diretório>
14. $info
cd: significa "Change selector" (troca de diretório) é
usado para trocar de diretório.
sintaxe: cd <diretório>
Exemplos: $cd /tmp (sai do atual e entra no diretório
tmp).
$cd ../ (vai para um diretório acima).
$cd ~ (vai para o diretório home).
$cd - (leva de volta para o último diretório visitado).
Para mais informações sobre o comando digite:
$ man <comando>
17. /bin
Este diretório contém a maioria dos seus
comandos não privilegiados do sistema que
são usados com frequência pelos usuários,
como: cat, cp, ls, mkdir, pwd, rm, su, tar etc.
E também não pode ficar em uma partição
separada da partição que contém o "/" (raiz).
19. /boot
Este diretório contém arquivos
importantes para a Inicialização e
carregamento do kernel.
É neste diretório que se encontra o Kernel.
Também é nesse diretório que ficam
localizados os arquivos do Gerenciador de
Boot (bootloader).
20. /dev
Contém os arquivos de dispositivos
suportados pelo Linux, como floppy disk,
cdrom, unidades de disco, mouse, portas
paralelas e serias, etc...
Lembrando que no Linux tudo é tido como
arquivo. Graças ao kernel isso é possível
contando com “Arquivos Especiais” no diretório
/dev. Eles são de dois tipos: Dispositivos de
Bloco e Dispositivos de Caracter
21. /dev
Dispositivos de bloco são geralmente
associados “armazenamento de dados”, pois
tratam os dados em formato binário próprio
para armazenagem e leitura posterior.
Ex: discos-rígidos e disquetes.
Já os dispositivos de caractere tratam o
fluxo de dados em um formato de caracteres
texto. O próprio terminal texto, por exemplo,
utiliza um dispositivo de caractere para
interfacear com o kernel.
23. /dev
No linux, as portas seriais e paralelas tem
uma nomenclatura diferente do MSDOS®.
Veja na imagem abaixo:
24. /etc
Contém os arquivos e os diretórios de
configuração que são específicos ao sistema
atual e a maioria das configurações para os
pacotes instalados. O diretório pode conter os
seguintes diretórios:
/etc/passwd: Base de dados dos usuários do
sistema.
/etc/opt: Arquivos de configuração para os
pacotes adicionais do sistema.
25. /etc
/etc/X11: Arquivos de configuração para o X11
(opcional).
/etc/sgml: Arquivos de configuração para
SGML (opcional).
/etc/xml: Arquivos de configuração para XML
(opcional).
27. /home
Contém os diretórios de trabalho de todos
os usuários do sistema.
Neste diretório ficam informações como
personalização de desktop, configuração de
clientes de e-mail, etc...
O propósito principal dessa estrutura é
facilitar as tarefas de backup, por exemplo.
28. /lib
Contêm as biblioteca compartilhadas
necessárias ao carregar o sistema(boot) e para
executar os comandos localizados na raiz do
sistema de arquivos (residentes em /bin e
/sbin).
Os módulos do Kernel também se localizam
neste diretório, mais especificamente em
/lib/modules/<versão do kernel>/.
29. /media
Ponto de montagem de dispositivos diversos do
sistema (rede, pen-drives, CD-ROM em
distribuições mais novas).
O /media pode conter os seguintes diretórios:
• /media/floppy: disquete (opcional).
• /media/cdrom: cdrom (opcional).
• /media/cdrecorder: gravador de CD(opcional)
• /media/zip: drive zip (opcional).
30. /mnt
Este diretório é fornecido de modo que o
administrador de sistema possa
temporariamente montar um disquete,
cdrom, ou sistema de arquivos quando
necessário.
O Debian cria esses diretórios (cdrom e
floppy) diretamente na raiz, e os utilizam
como padrão para servir como ponto de
montagem à essas mídias.
31. /opt
Contém pacotes instalados pelo usuário e
softwares personalizados que não são
tratadas pelo gestor de sistema ou pacote.
Estes pacotes fornecidos por terceiros
devem ser instalados em diretórios
separados. Ex.: /opt/pacote – onde o pacote
deve descrever o nome do software a ser
instalado.
32. /proc
Esse diretório é ligeiramente diferente dos
comuns, pois os dados nele contidos não
estão fisicamente em nenhum disco rígido do
sistema, mas sim na memória ram.
Trata-se de um sistema de arquivos virtual
que é criado e gerenciado pelo Kernel em
tempo real, e é a forma mais direta que o
usuário tem de interagir com o kernel.
33. /proc
Os arquivos nele contidos contém
basicamente valores de variáveis do kernel.
Ele esta repleto de arquivos como esses,
a existência ou não da maioria deles
depende de opções específicas da versão do
kernel em uso no sistema. Os arquivos que
costumam existir em sistemas atuais com
kernel's 2.4 e 2.6 e nos trazem informações
importantes.
36. /root
Este é diretório home do administrador de
sistema (Usuário root). Root é o único usuário
interagível com o sistema (que digita
comandos nele) que deve ter seu diretório de
trabalho fora da pasta /home.
Isso torna possível que o usuário root acesse
seus arquivos durante uma tarefa de
manutenção no sistema, onde o sistema “deve”
ser capaz de funcionar somente com a partição
raiz acessível (montada).
37. /sbin
Contém os binários essenciais para a
inicialização, na recuperação e restauração
do sistema antes que o diretório /usr esteja
montado.
Estes binários são usados pelo próprio
sistema ou pelo administrador (root).
38. /srv
Diretórios para dados de serviços fornecidos
pelo sistema e, cuja aplicação é de alcance
geral, ou seja, os dados não são específicos de
um usuário.
Ex.:
• /srv/www (servidor web),
• /srv/ftp (servidor ftp), etc.
39. /sys
Uma interface entre o kernel e o sistema,
utilizado para modificar as configurações do
sistema
40. /tmp
O diretório tmp é utilizado por alguns
programas que requerem arquivos
temporários.
Recomenda-se que ao inicializar o
sistema os arquivos contidos neste diretório
sejam apagados.
Na distribuição Debian é automatico.
41. /usr
É a segunda maior seção do sistema de
arquivos, nele estão os dados
compartilháveis apenas para leitura.
Isso significa que não se deve gravar
nada“manualmente” neste diretório.
Encontram-se neste diretório o
gerenciador de janelas X, programas de
usuários, jogos, etc...
43. DICA
Repare que a maioria
desses diretórios dentro
de /usr também existem na
raiz do sistema. A diferença
entre eles é que os que
ficam na raiz contém dados
que não podem ser
compartilhados pela rede, já
os que ficam em /usr sim.
44. /var
Contém arquivos de dados de variáveis.
Isto inclui diretórios e arquivos de spool,
dados administrativos e logs do sistema.
O FHS define os seguintes subdiretórios:
• /var/cache: cache de dados de aplicações.
• /var/lib: dados de estado variável.
• /var/local: dados de estado variável para
/usr/local.
• /var/lock: arquivos de lock (trava).
45. /var
• /var/log: arquivos de log.
• /var/opt: arquivos variáveis para /opt.
• /var/run: dados relevantes para os processos
em execução.
• /var/spool: spool de dados para aplicações.
• /var/tmp: arquivos temporários preservados
entre reinicializações do sistema.
46. DICA
Uma boa prática do
administrador é alocar
uma partição em um
disco separado para
receber o diretório
/var.
47. Uiiiiiii
Por favor, tome
cuidado especial
ao interagir com o /boot ou /sys,
pois são diretórios onde um
pequeno erro pode tornar o
sistema instável ou incapaz de
inicializar.