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:
- Sistema de ficheiros: Define um formato específico num dispositivo de bloco. Este formato permite-nos criar e apagar ficheiros nele.
- Dispositivo de bloco: Esta é a representação virtual de um dispositivo de hardware no kernel do Linux.
- 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:
[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:
[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:
[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:
[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:
Nome | Uso |
---|---|
bin | Este é o diretório para os seus binários executáveis. |
boot | Este diretório contém as informações necessárias para a inicialização do Linux, como os arquivos do grub. |
dev | Este é um diretório virtual que inclui os seus arquivos de dispositivo. |
etc | Este diretório inclui muitos dos arquivos de configuração do Linux, como os repositórios de origem do apt. |
home | Aqui é onde encontrará os diretórios home seus e de outras pessoas. |
lib | Este é o diretório de biblioteca. |
media | Este é um diretório onde o seu sistema irá montar automaticamente dispositivos de armazenamento externos. |
mnt | Este é geralmente onde as pessoas montam manualmente dispositivos de armazenamento. |
opt | Este diretório é reservado para a instalação de pacotes de software de aplicativos complementares. |
proc | Este é 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. |
root | Este é o diretório home do utilizador root. |
run | Este é um diretório onde alguns processos despejam dados. |
sbin | Este é semelhante ao diretório bin, mas inclui apenas binários para o root. |
srv | Este é um diretório para servidores. |
sys | Este é outro diretório virtual. Ele contém informações sobre dispositivos conectados ao seu computador. |
tmp | Este diretório destina-se a arquivos temporários. |
usr | Este 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.