Introdução ao Sistema de Arquivos do Linux

Este artigo fornece uma visão geral do sistema de arquivos do Linux e apresenta os diretórios do sistema Linux.

O Que é?

O sistema de ficheiros é essencialmente um componente de software do sistema que ajuda os utilizadores a gerir dados nos seus dispositivos de armazenamento. É a base do seu Sistema Operativo. Praticamente tudo é guardado no seu sistema de ficheiros. Tornar-se familiarizado com o sistema de ficheiros do Linux é um dos primeiros passos para aprender Linux.

Como Funciona?

Pode-se conceber o conjunto de sistemas de ficheiros como três camadas, de cima para baixo:

  1. Sistema de ficheiros: Define um formato específico num dispositivo de bloco. Este formato permite-nos criar e apagar ficheiros nele.
  2. Dispositivo de bloco: Esta é a representação virtual de um dispositivo de hardware no kernel do Linux.
  3. Armazenamento de hardware: Este é o armazenamento físico real. Geralmente, este armazenamento é um disco, mas também poderia ser memória.

No Linux, pode usar o comando lsblk para listar os seus dispositivos de bloco:

Bash
[email protected]:~$ lsblk
NOME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loopA    7:0    0  63.3M  1 loop /snap/core20/1778
loopB    7:1    0 141.4M  1 loop /snap/docker/2285
loopC    7:2    0  55.6M  1 loop /snap/core18/2667
loopD    7:3    0  55.4M  1 loop /snap/core18/2066
loopE    7:4    0 131.6M  1 loop /snap/docker/796
loopF    7:5    0  67.6M  1 loop /snap/lxd/20326
loopG    7:6    0  49.6M  1 loop /snap/snapd/17883
loopH    7:7    0  49.8M  1 loop /snap/snapd/17950
loopI    7:8    0  91.9M  1 loop /snap/lxd/24061
sda      8:0    0    32G  0 disk
├─sda1   8:1    0     1M  0 part
└─sda2   8:2    0    32G  0 part /
sr0     11:0    1     4M  0 rom
sr1     11:1    1  1024M  0 rom

No exemplo mencionado, /sda é o meu disco de armazenamento físico. Também pode utilizar o comando sudo fdisk -l /dev/sda para verificar detalhes específicos sobre um dispositivo de bloco, conforme mostrado abaixo:

Bash
[email protected]:~$ sudo fdisk -l /dev/sda
Disco /dev/sda: 32 GiB, 34359738368 bytes, 67108864 setores
Modelo de disco: QEMU HARDDISK
Unidades: setor de 1 * 512 = 512 bytes
Tamanho do setor (lógico/físico): 512 bytes / 512 bytes
Tamanho de I/O (mínimo/ótimo): 512 bytes / 512 bytes
Tipo de rótulo do disco: gpt
Identificador do disco: DEED7D2C-0ED2-409D-8019-83AA10EDE0D6

Dispositivo     Início        Fim     Setores Tamanho Tipo
/dev/sda1       2048        4095        2048      1M Sistema de BIOS
/dev/sda2       4096    67106815    67102720     32G Sistema de ficheiros Linux

Um dispositivo de bloco pode ser montado num diretório específico. Pode utilizar o comando df -lhT para visualizar informações sobre o sistema de ficheiros e a sua utilização:

Bash
[email protected]:~$ df -lhT
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs          tmpfs     394M  1.1M  393M   1% /run
/dev/sda2      ext4       32G  8.0G   22G  27% /
tmpfs          tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/loop0     squashfs   64M   64M     0 100% /snap/core20/1778
/dev/loop1     squashfs  142M   142M     0 100% /snap/docker/2285
/dev/loop3     squashfs   56M   56M     0 100% /snap/core18/2066
/dev/loop2     squashfs   56M   56M     0 100% /snap/core18/2667
/dev/loop4     squashfs  132M  132M     0 100% /snap/docker/796
/dev/loop5     squashfs   68M   68M     0 100% /snap/lxd/20326
/dev/loop6     squashfs   50M   50M     0 100% /snap/snapd/17883
/dev/loop7     squashfs   50M   50M     0 100% /snap/snapd/17950
/dev/loop8     squashfs   92M   92M     0 100% /snap/lxd/24061
tmpfs          tmpfs     394M     0  394M   0% /run/user/1001
tmpfs          tmpfs     394M     0  394M   0% /run/user/1000

O comando acima indica que o meu /dev/sda2 está montado no diretório raiz.

É importante notar que outro bloco pode ser montado num subdiretório, mesmo que esse subdiretório pertença a um diretório que outro dispositivo esteja montado. Por exemplo, no meu caso, /dev/shm está montado na memória (geralmente chamada de ramdisk).

Tipo de Sistema de Arquivos

O Linux suporta vários formatos de sistema de ficheiros diferentes, como ext4, NTFS e FAT32. O ext4 é o tipo de sistema de ficheiros mais comummente utilizado hoje em dia. O dispositivo de exemplo mencionado acima, /dev/sda2, está formatado como ext4.

Diretórios do Sistema Linux

Se navegar até ao diretório raiz e listar o seu conteúdo (ls), verá algo semelhante a isto:

Bash
[email protected]:/$ ls
bin  boot  cdrom  dev  etc  home  lib  lib32  lib64  libx32  lost+found  media  mnt  opt  proc  root  run  sbin  snap  srv  swap.img  sys  tmp  usr  var
[email protected]:/$

Estes diretórios pertencem ao seu sistema Linux. Aqui está o que eles fazem:

NomeUso
binEste é o diretório para os seus binários executáveis.
bootEste diretório contém as informações necessárias para a inicialização do Linux, como os arquivos do grub.
devEste é um diretório virtual que inclui os seus arquivos de dispositivo.
etcEste diretório inclui muitos dos arquivos de configuração do Linux, como os repositórios de origem do apt.
homeAqui é onde encontrará os diretórios home seus e de outras pessoas.
libEste é o diretório de biblioteca.
mediaEste é um diretório onde o seu sistema irá montar automaticamente dispositivos de armazenamento externos.
mntEste é geralmente onde as pessoas montam manualmente dispositivos de armazenamento.
optEste diretório é reservado para a instalação de pacotes de software de aplicativos complementares.
procEste é também um diretório virtual, assim como o diretório dev. Ele inclui informações em tempo de execução, como informações de execução de processos.
rootEste é o diretório home do utilizador root.
runEste é um diretório onde alguns processos despejam dados.
sbinEste é semelhante ao diretório bin, mas inclui apenas binários para o root.
srvEste é um diretório para servidores.
sysEste é outro diretório virtual. Ele contém informações sobre dispositivos conectados ao seu computador.
tmpEste diretório destina-se a arquivos temporários.
usrEste diretório inclui dados relacionados ao utilizador, como aplicações, bibliotecas, documentação, papéis de parede e ícones.
var“var” significa variável. Este diretório inclui arquivos cujos tamanhos mudam ao longo do tempo, como logs do sistema.

Operações Básicas
Para operações básicas de sistema de arquivos, por favor, confira os comandos nesta página.

Artigos Relacionados