Introdução
Neste laboratório, você aprenderá como estimar e analisar o uso de espaço em disco em sistemas Linux usando o comando du (Disk Usage). O gerenciamento de espaço em disco é uma habilidade fundamental para administradores de sistema e usuários Linux. O comando du fornece uma maneira de verificar quanto espaço em disco está sendo usado por arquivos e diretórios em seu sistema.
Ao final deste laboratório, você será capaz de usar efetivamente o comando du com várias opções para analisar o uso do disco, identificar arquivos e diretórios grandes e gerenciar seu espaço de armazenamento de forma mais eficiente.
Entendendo o Uso Básico do Comando du
O comando du é usado para estimar o uso de espaço em arquivos em sistemas Linux. Nesta etapa, você aprenderá a sintaxe básica e a saída do comando du.
Primeiro, vamos criar uma estrutura de diretórios com alguns arquivos de exemplo para trabalhar:
Abra um terminal no seu ambiente de VM LabEx.
Crie uma estrutura de diretórios de projeto com os seguintes comandos:
mkdir -p ~/project/data
cd ~/project/data
echo "This is file 1 content" > file1.txt
echo "This is file 2 content" > file2.txt
echo "This is a larger file with more content" > file3.txt
- Agora, vamos usar o comando
dubásico para ver o uso do disco desses arquivos:
du ~/project/data
Você verá uma saída semelhante a esta:
4 /home/labex/project/data
O número exibido é o espaço em disco usado em kilobytes (KB). Cada arquivo e diretório ocupa pelo menos 4 KB de espaço em disco, que é tipicamente a unidade mínima de alocação (tamanho do bloco) na maioria dos sistemas de arquivos.
- Para verificar o tamanho de arquivos individuais, você pode especificar os caminhos dos arquivos:
du ~/project/data/file1.txt ~/project/data/file2.txt ~/project/data/file3.txt
Você notará que mesmo arquivos pequenos ocupam pelo menos 4 KB de espaço em disco devido à alocação do tamanho do bloco do sistema de arquivos.
Usando Formato Legível por Humanos e Opções de Resumo
Na etapa anterior, você aprendeu o uso básico do comando du. No entanto, ler o uso do disco em kilobytes nem sempre é conveniente, especialmente para arquivos e diretórios maiores. Nesta etapa, você aprenderá como usar opções para tornar a saída mais legível.
A opção -h (Formato Legível por Humanos)
A opção -h exibe os tamanhos em um formato legível por humanos (KB, MB, GB, etc.), tornando mais fácil entender os tamanhos dos arquivos:
du -h ~/project/data
Exemplo de saída:
4.0K /home/labex/project/data
A opção -s (Resumo)
A opção -s fornece um resumo do uso total do disco em vez de mostrar o uso para cada subdiretório:
du -s ~/project/data
Exemplo de saída:
4 /home/labex/project/data
Combinando opções: -sh
Você pode combinar essas opções para uma saída mais útil. Vamos criar um arquivo maior e, em seguida, usar as opções combinadas:
cd ~/project/data
## Create a 1MB file filled with zeros
dd if=/dev/zero of=largefile.bin bs=1M count=1
Exemplo de saída:
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00302182 s, 347 MB/s
Agora, verifique o uso do disco com as opções combinadas:
du -sh ~/project/data
Exemplo de saída:
1.1M /home/labex/project/data
Vamos também verificar os tamanhos de arquivos individuais com essas opções:
du -sh ~/project/data/*
Exemplo de saída:
4.0K /home/labex/project/data/file1.txt
4.0K /home/labex/project/data/file2.txt
4.0K /home/labex/project/data/file3.txt
1.0M /home/labex/project/data/largefile.bin
O formato legível por humanos torna muito mais fácil entender os tamanhos dos arquivos, especialmente ao lidar com arquivos e diretórios maiores.
Analisando a Estrutura de Diretórios com du
Nesta etapa, você aprenderá como analisar o uso do disco de uma estrutura de diretórios mais complexa. Você criará diretórios aninhados com diferentes tamanhos de arquivos e usará du para analisá-los.
Criando uma estrutura de diretórios aninhados
Primeiro, vamos criar uma estrutura de diretórios mais complexa:
mkdir -p ~/project/data/docs ~/project/data/images ~/project/data/backups
Agora, vamos adicionar alguns arquivos a esses diretórios:
## Add text files to docs directory
cd ~/project/data/docs
echo "Document 1 content" > doc1.txt
echo "Document 2 content" > doc2.txt
## Create larger files in images directory
cd ~/project/data/images
dd if=/dev/zero of=image1.jpg bs=500K count=1
dd if=/dev/zero of=image2.jpg bs=300K count=1
## Create a backup file
cd ~/project/data/backups
dd if=/dev/zero of=backup.tar bs=2M count=1
Analisando diretórios específicos
Agora, vamos usar o comando du para analisar diretórios específicos:
## Check the size of the docs directory
du -sh ~/project/data/docs
## Check the size of the images directory
du -sh ~/project/data/images
## Check the size of the backups directory
du -sh ~/project/data/backups
Você verá que cada diretório tem um tamanho diferente com base nos arquivos que ele contém.
Analisando toda a estrutura de diretórios
Para ver o uso do disco de toda a estrutura, incluindo subdiretórios, use:
du -h ~/project/data
Isso mostrará o tamanho de cada subdiretório e o tamanho total no final.
Usando a opção --max-depth
Às vezes, você deseja ver o uso do disco em uma profundidade específica do diretório. A opção --max-depth ajuda com isso:
du -h --max-depth=1 ~/project/data
Isso mostrará apenas os subdiretórios imediatos de ~/project/data sem aprofundar na árvore de diretórios.
Exemplo de saída:
8.0K /home/labex/project/data/docs
804K /home/labex/project/data/images
2.0M /home/labex/project/data/backups
3.9M /home/labex/project/data
Este comando é particularmente útil quando você deseja identificar quais diretórios de nível superior estão consumindo mais espaço em disco.
Uso Avançado do Comando du
Nesta etapa final, você aprenderá algumas técnicas avançadas usando o comando du para classificar diretórios por tamanho, excluir certos arquivos e focar em arquivos grandes.
Classificando diretórios por tamanho
Uma tarefa comum é encontrar os maiores diretórios ou arquivos. Você pode combinar du com sort para conseguir isso:
du -h ~/project/data | sort -h
A opção -h para sort faz com que ele entenda e classifique os tamanhos legíveis por humanos corretamente. A saída será classificada do menor para o maior.
Para classificar do maior para o menor, adicione a opção -r (reverso) a sort:
du -h ~/project/data | sort -hr
Exemplo de saída:
3.9M /home/labex/project/data
2.0M /home/labex/project/data/backups
804K /home/labex/project/data/images
8.0K /home/labex/project/data/docs
4.0K /home/labex/project/data/docs/doc2.txt
4.0K /home/labex/project/data/docs/doc1.txt
Encontrando tipos de arquivos específicos
Você pode usar o comando find em combinação com du para calcular o tamanho de tipos de arquivos específicos:
## Find all jpg files and check their sizes
find ~/project/data -name "*.jpg" -exec du -h {} \;
Este comando encontra todos os arquivos com a extensão .jpg no diretório ~/project/data e executa du -h em cada um deles.
Excluindo diretórios
Às vezes, você deseja excluir certos diretórios do cálculo do uso do disco. Você pode usar a opção --exclude:
du -h --exclude="backups" ~/project/data
Isso calculará o uso do disco para tudo em ~/project/data, exceto o diretório backups.
Obtendo o uso total do disco
Para obter apenas o total geral (resumo) de um diretório e todos os seus subdiretórios:
du -sh ~/project/data
Exemplo de saída:
3.9M /home/labex/project/data
Isso é particularmente útil quando você está interessado apenas no tamanho total de uma árvore de diretórios, em vez da divisão.
Verificando o uso do disco por idade do arquivo
Vamos criar alguns arquivos com diferentes timestamps para demonstrar isso:
## Create a directory for this example
mkdir -p ~/project/data/timeline
cd ~/project/data/timeline
## Create files with different timestamps
echo "Old file" > old_file.txt
echo "Recent file" > recent_file.txt
touch -d "1 month ago" old_file.txt
Agora você pode usar find com du para verificar arquivos modificados dentro de um determinado período:
## Find files modified in the last 7 days and check their sizes
find ~/project/data -type f -mtime -7 -exec du -h {} \;
Isso mostrará os tamanhos de todos os arquivos que foram modificados nos últimos 7 dias.
Essas técnicas avançadas ajudarão você a gerenciar efetivamente o espaço em disco em sistemas Linux, identificando onde o espaço está sendo usado e encontrando oportunidades para liberar armazenamento.
Resumo
Neste laboratório, você aprendeu como usar o comando du para estimar e analisar o uso do espaço em disco em sistemas Linux. Você explorou:
- Uso básico do comando
dupara verificar o uso do disco de arquivos e diretórios - Usando opções como
-hpara saída legível por humanos e-spara informações de resumo - Analisando o uso do disco em estruturas de diretórios complexas com subdiretórios aninhados
- Técnicas avançadas, incluindo classificação por tamanho, filtragem por tipo de arquivo, exclusão de diretórios e verificação de arquivos por tempo de modificação
Essas habilidades são essenciais para o gerenciamento eficaz do espaço em disco em sistemas Linux. Usar o comando du permite identificar arquivos e diretórios grandes que consomem espaço significativo em disco, ajudando você a tomar decisões informadas sobre o gerenciamento de armazenamento.
Com o conhecimento adquirido neste laboratório, você pode agora monitorar e analisar com confiança o uso do disco em qualquer ambiente Linux, seja um computador pessoal, um servidor ou uma instância na nuvem.



