Product SiteDocumentation Site

B.2. Organização da Hierarquia de Sistema de Arquivos

B.2.1. O Diretório Raiz

Um sistema Debian é organizado de acordo com o Filesystem Hierarchy Standard (FHS). Esta norma define a finalidade de cada diretório. Por exemplo, os diretórios de nível superior são descritos como se segue:
  • /bin/: programas básicos;
  • /boot/: núcleo Linux e outros arquivos necessários para os primeiros passos de seu processo de inicialização;
  • /dev/: arquivos de dispositivo;
  • /etc/: Arquivos de configuração;
  • /home/: arquivos pessoais dos usuários;
  • /lib/: bibliotecas básicas;
  • /media/*: pontos de montagem para dispositivos removíveis (CD-ROM, pendrivers e assim por diante);
  • /mnt/: ponto de montagem temporário;
  • /opt/: aplicações extras fornecidas por terceiros;
  • /root/: arquivos pessoais do administrador (root);
  • /run/: dados de execução volátil (volatile runtime data) que não persistem entre re-inicializações;
  • /sbin/: programas do sistema;
  • /srv/: dados utilizados por servidores hospedados neste sistema;
  • /tmp/: arquivos temporários, este diretório é comumente limpo na inicialização;
  • /usr/: aplicações; este diretório é subdividido em bin, sbin, lib (de acordo com a mesma lógica do diretório raiz). Além disso, /usr/share/ contém dados independentes de arquitetura. /usr/local/ é feito para ser usado pelo administrador para instalar aplicativos manualmente, sem sobrescrever arquivos administrados pelo sistema de empacotamento (dpkg).
  • /var/: dados variáveis manipulados por daemons. Isto inclui arquivos de log, filas, spools, caches e por aí vai.
  • /proc/ e /sys/ são específicos do núcleo Linux ( e não fazem parte do FHS). Eles são usados pelo núcleo para exportar dados para o espaço de usuário (veja Seção B.3.4, “O Espaço de Usuário” e Seção B.5, “O Espaço de Usuário” para explicações sobre esse conceito).
Observe que muitas distribuições modernas, inclusive a Debian, fornecem /bin, /sbin e /lib como links simbólicos para os diretórios correspondentes em /usr para que todos os programas e bibliotecas fiquem disponíveis em uma única árvore. Assim fica mais fácil proteger a integridade do sistema de arquivos, e compartilhar aqueles arquivos de sistema entre múltiplos containers, etc.

B.2.2. O Diretório Origem (home) do Usuário

O conteúdo do diretório home do usuário não é padronizado, mas ainda existem algumas convenções relevantes. Uma delas é que o diretório home do usuário é muitas vezes referenciado por um til ("~"). É bom saber disto porque os interpretadores de comando substituem automaticamente um til pelo diretório correto (geralmente /home/user/).
Tradicionalmente, os arquivos de configuração de aplicativos são frequentemente armazenados diretamente sob o diretório home do usuário, mas seus nomes geralmente começam com um ponto (por exemplo, o cliente de email mutt armazena sua configuração em ~/.muttrc). Note que nomes de arquivos que começam com um ponto são ocultos por padrão; e ls os lista apenas quando a opção -a for usada, e gerenciadores de arquivos gráficos precisa ser ordenados para exibir arquivos ocultos.
Some programs also use multiple configuration files organized in one directory (for instance, ~/.ssh/). Some applications also use their directory to store a cache of downloaded data. This means that those directories can end up using a lot of disk space.
These configuration files stored directly in a user's home directory, often collectively referred to as dotfiles, have long proliferated to the point that these directories can be quite cluttered with them. Fortunately, an effort led collectively under the FreeDesktop.org umbrella has resulted in the “XDG Base Directory Specification”, a convention that aims at cleaning up these files and directories. This specification states that configuration files should be stored under ~/.config/, cache files under ~/.cache/, and application data files under ~/.local/ (or subdirectories thereof). This convention is slowly gaining traction, and several applications (especially graphical ones) have started following it.
Ambientes gráficos geralmente exibem o conteúdo do diretório ~/Desktop (ou qualquer que seja a tradução apropriada para sistemas não configurados em inglês) na área de trabalho (ou seja, o que é visível na tela uma vez que todas as aplicações estão fechadas ou minimizadas).
Finalmente, o sistema de e-mail às vezes armazena e-mails recebidos no diretório ~/Mail/.