'du -b' mostra tamanho diferente de 'ls'

3

Eu tenho um diretório com algumas centenas de arquivos (arquivos reais, sem links simbólicos, sem subdiretórios).

Quando uso ls -la e somo os tamanhos no Excel, recebo 287190 bytes (?).

Quando eu uso du -b ou du --apparent-size --block-size=1 , recebo 422358 bytes (?).

Eu achei que essas duas coisas significam a mesma coisa, por que a diferença?

    
por AndreKR 04.12.2015 / 21:07

2 respostas

4

du fornece o uso do disco, que não é o mesmo que a soma de todos os tamanhos de arquivo.

Por exemplo, um du -b file dará uma saída diferente do que criar um diretório "dir", colocando o mesmo arquivo em "dir" e fazendo du -b dir . No meu sistema, são 30 bytes extras para o "overhead" de um diretório. Dependendo do conteúdo do diretório, imagino que o tamanho do diretório mudaria (mas eu ficaria surpreso se fosse perfeitamente linear).

Além disso, o tamanho relativo da diferença indica que você pode ter perdido um diretório oculto com alguns arquivos ou ter perdido muitos arquivos ocultos (mesmo que você tenha usado o sinalizador -a) .

Além disso, pode haver links simbólicos que causam diferenças se uma ferramenta os segue enquanto a outra não.

Por último, com alguns sistemas de arquivos, se o conteúdo do arquivo for pequeno o suficiente, eles poderão ser incluídos no sistema de arquivos INode e em muitos sistemas de arquivos, um único bloco será reservado para conter o conteúdo do arquivo, mesmo se esse bloco for não totalmente usado. Essas variações adicionam ruído extra ao tentar comparar os dois.

    
por 04.12.2015 / 21:14
0

Um disco rígido é dividido em grupos. Cada arquivo ocupa um ou vários clusters.

Imagine um disco rígido com clusters de 16 bytes.

Um arquivo de 12 bytes ocupará 1 cluster, com alguns bytes não usados no cluster. com ls, o tamanho do arquivo será 12, com du, será 16.

Um arquivo de 32 bytes ocupará exatamente 2 clusters. com ls, o tamanho do arquivo será 32, com du, será 32.

Faça isso para todos os arquivos. Em suma, você terá os valores que escreveu.

Mais informações: link

    
por 04.12.2015 / 21:15