Estrutura
A seguinte ferramentas mostra o mapa da árvore de diretórios do Linux (Debian 10).
raulramos@demo:~$ tree -d -L 1 /
/
|-- bin -> usr/bin
|-- boot
|-- dev
|-- etc
|-- home
|-- lib -> usr/lib
|-- lib32 -> usr/lib32
|-- lib64 -> usr/lib64
|-- libx32 -> usr/libx32
|-- lost+found
|-- media
|-- mnt
|-- opt
|-- proc
|-- root
|-- run
|-- sbin -> usr/sbin
|-- srv
|-- sys
|-- tmp
|-- usr
`-- var
22 directories
raulramos@demo:~$
Directórios
/bin
/bin é o diretório que contém binários, ou seja, alguns das aplicações e programas que podemos executar. Encontra o programa ls, bem como outras ferramentas básicas para criar e remover ficheiros e diretórios, movê-los, etc . Existem mais diretórios de bin noutras partes da árvore do sistema de ficheiros mencionados mais à frente.
/boot
O diretório /boot contém ficheiros necessários para iniciar o sistema. NÃO MEXER!. Uma má configuração num dos ficheiros, pode não ser capaz de iniciar o Linux e é difícil reparar. Por outro lado, não é necessário haver preocupação em destruir o sistema por acidente, pois é necessário ter privilégios de super utilizador para o fazer.
É aqui onde está o kernel, na maior parte das distros; ficheiros usados pela uefi para arranque do kernel; configurações do bootloader;….
/dev
/dev contém ficheiros de dispositivos. Todos os dispositivos são referenciados por ficheiros. Muitos deles são criados no momento da inicialização dos systema ou mesmo em tempo real. Por exemplo, se ligar uma nova webcam ou um pendrive USB à máquina, vai aparecer um novo dispositivo automaticamente.
/etc
/etc é o diretório em que os nomes começam a ficar confusos. /etc recebe esse nome dos Unixes mais antigos e era literalmente “et cetera” porque era o local de despejo para os administradores de ficheiros do sistema que não tinham certeza onde colocar.
Nos dias de hoje, seria mais apropriado dizer que etc significa “Tudo para configurar”, pois contém a maioria, se não todos os ficheiros de configuração do sistema. Por exemplo, os ficheiros que contêm o nome do seu sistema, os utilizadores e suas senhas, os nomes das máquinas na sua rede e quando e onde as partições nos discos rígidos devem ser montadas, estão todos aqui. Se for novo no Linux, pode ser melhor não se interessar muito nesta diretório até entender melhor como as coisas funcionam.
/home
/home é onde encontra os diretórios pessoais dos utilizadores. São guardados documentos, configuraçãoes, aplicações, etc.. que pertencem exclusivamente ao utilizador. Em /home também pode existir a pasta /guest, um utilizador com permissões mais limitadas que um normal, se tudo bem configurado.
/lib
/lib é onde podemos encontrar as bibliotecas. Bibliotecas são ficheiros que contêm código que as aplicações podem usar e partilhar para, por exemplo, desenhar janelas na área de trabalho com a de abrir ou guardar ficheiros, controlar periféricos ou enviar ficheiros para o disco rígido.
No Debian 10 o diretório /lib é um symbolic link para o diretório /usr/lib.
/media
O diretório /media é onde o armazenamento externo é montado automaticamente quando é ligado. Ao contrário da maioria dos outros itens desta lista, o diretório /media não vem da década de 1970, porque a inserção e detecção de armazenamento (pen drives, discos rígidos USB, cartões SD, SSDs externos, etc.) enquanto o computador está a funcionar, é relativamente recente.
/mnt
O diretório /mnt, é um pouco remanescente dos dias passados. É aqui que podemos montar manualmente dispositivos ou partições de armazenamento. Atualmente, não é usado com frequência e quando usado é de forma temporária.
/opt
O diretório /opt geralmente é onde o software que é compilado (software construído a partir do código-fonte e que não é instalado a partir dos repositórios de distribuição) é criado. As aplicações ficam no diretório /opt/bin e as bibliotecas no diretório /opt/lib. Também é aqui que ficam algumas aplicações, de terceiros, instaladas.
/proc
/proc, como /dev, é um diretório virtual. Contém informações sobre o computador, como CPU e o kernel que o sistema Linux está a executar. Assim como no /dev, os ficheiros e diretórios são gerados quando o computador é iniciado ou em tempo real, enquanto o sistema está a ser executado e determinados parâmetros mudam.
/root
/root é o diretório inicial do super utilizador (também conhecido como “Administrador”) do sistema. Não confundir com o diretório root ( / ).
Geralmente o /root é chamado diretório inicial do utilizador root. É aqui que são guardadas as configurações das aplicações quando iniciamos a sessão com root ( sudo su -
).
/run
/run é outro diretório novo. Os processos do sistema utilizam-no para armazenar dados temporários por razões nefastas. Essa é uma pastas para não mexer.
/sbin
/sbin é semelhante a /bin, mas contém aplicações que somente o super utilizador as usa (daí os iniciais). Pode iniciar essas aplicações com o comando sudo que concede temporariamente poderes de super utilizador em muitas distribuições. /sbin normalmente contém ferramentas que podem instalar, excluir e formatar itens. Como podemos verificar, algumas dessas instruções são letais se usadas de maneira inadequada, usar com precaução.
/usr
O diretório /usr (Unix System Resources) era onde os diretórios pessoais, e não só, dos utilizadores eram originalmente mantidos nos primeiros dias do UNIX. No entanto, agora o /home é onde os utilizadores guardam as “tralhas”, como vimos acima. Hoje em dia, /usr contém uma grande quantidade de diretórios que, por sua vez, contêm aplicativos, bibliotecas, documentação, papéis de parede, ícones e uma longa lista de outras coisas que precisam ser compartilhadas por aplicações e serviços.
Também encontrará os diretórios bin, sbin e lib em /usr. Qual é a diferença? Não muita hoje em dia. Originalmente, o diretório /bin (na raiz) conteria comandos muito básicos, como ls, mv e rm; o tipo de comando que viria pré-instalado em todas as instalações UNIX/Linux, o mínimo necessário para executar e manter um sistema. /usr/bin, por outro lado, conteria coisas que os utilizadores instalariam e executariam para usar o sistema como estação de trabalho, coisas como processadores de texto, navegadores da web e outras aplicações.
Mas muitas distribuições modernas do Linux apenas colocam tudo em /usr/bin e têm /bin apontam para /usr/bin.
/srv
Contém dados para serviços fornecidos pelo sistema.
Contém dados específicos do sítio para serem atendidos pelo sistema em protocolos como ftp, rsync, www, cvs etc. Não vejo que seja usada como padrão dos serviços, geralmente ficam numa subpasta da pasta /var (/var/www, p. ex.).
/sys
/sys é outro diretório virtual como /proc e /dev e também contém informações de dispositivos ligados ao computador.
Em alguns casos, também se pode manipular os dispositivos. P. ex., alterar o brilho do ecrã de um laptop modificando o valor armazenado em /sys/devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1/intel_backlight/brightness (cada máquina, poderá terá um ficheiro diferente). Para alterar é necessário um super utilizador. O motivo é que, como em muitos outros diretórios virtuais, mexer com o conteúdo destes ficheiros pode causar problemas no sistema. NÃO MEXER até conhecer.
/tmp
/tmp contém ficheiros temporários, geralmente colocados pelas aplicações que estão a ser executadas. Os ficheiros e diretórios geralmente (nem sempre) contêm dados que uma aplicação não precisa de momento, mas pode precisar mais tarde.
Também pode usar /tmp para armazenar ficheiros temporários – /tmp é um dos poucos diretórios pendurados na / com os quais pode interagir sem se tornar super utilizador.
/var
/var recebeu seu nome originalmente porque o conteúdo era considerado variável, na medida em que era alterado com freqüência. Hoje, é um pouco inadequado, porque existem muitos outros diretórios que também contêm dados que são alterados com frequência, especialmente os diretórios virtuais que vimos acima.
Seja como for, /var contém itens como logs nos subdiretórios /var/log. Logs são ficheiros que registam eventos que acontecem no sistema. Se algo falhar no kernel, será registado num ficheiro em /var/log; se alguém tentar invadir o computador de fora, a firewall também registará a tentativa aqui. Também contém a “spools” para tarefas. Estas “tarefas” podem ser trabalhos que envia para uma impressora partilhada e ficam em lista de espera, porque outro trabalho está a ser impresso ou emails que estão a aguardar para ser entregue aos utilizadores no sistema.
/lost+found
Se for pedido ao fsck para reparar o sistema de ficheiros, vai transformar os ficheiros quase excluídos novamente em ficheiros. O problema é que o ficheiro teve um nome e um local no passado, mas essas informações não estão disponível. O fsck deposita o ficheiro num diretório específico, chamado de lost+found (depois da propriedade lost and found).
Outros Diretórios
O sistema pode ter mais diretórios que não foram mencionados acima. Um ex. /snap em sistemas que incorporam recentemente pacotes de snap como uma maneira de distribuir software. O diretório /snap contém todos os ficheiros e o software instalado a partir dos snaps.