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.
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.
Esses arquivos de configuração armazenados diretamente no diretório home do usuário, muitas vezes chamados coletivamente como dotfiles, há tempos se proliferam a tal ponto que estes diretórios podem ficar abarrotados com eles. Felizmente, um esforço liderado coletivamente sob a orientação da FreeDesktop.org resultou na "Especificação de Diretórios Base da XDG", uma convenção que visa limpar esses arquivos e diretórios. Esta especificação estabelece que os arquivos de configuração devem ser armazenados sob ~/.config
, arquivos de cache sob ~/.cache
, e arquivos de dados de aplicativos sob ~/.local
(ou subdiretórios nos mesmos). Esta convenção está lentamente ganhando força e vários aplicativos (especialmente os gráficos) começaram a segui-la.
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/
.