Unix equivalente de 'du -sb' para obter tamanho resumido em bytes

2

No Linux usando o GNU du para calcular o tamanho do diretório recursivamente em bytes, posso executar:

du -sb /etc

Qual é a sintaxe equivalente para o BSD du com base no fato de que o parâmetro -b não está disponível?

    
por kenorb 06.12.2015 / 13:55

2 respostas

3

Meu primeiro pensamento ...

find $HOME | xargs stat -f%z | awk '{ s+=$1 } END { print s }'

... rastreia até $HOME , obtém os tamanhos dos arquivos em bytes de stat e os soma usando awk .

Testado no NetBSD7.

    
por 06.12.2015 / 14:20
0

Por padrão, em BSD du , as contagens de bloco serão exibidas em blocos de 512 bytes, portanto, o valor pode ser multiplicado. Aqui está o exemplo no bash:

echo $(($(du -s /etc | cut -f1) * 512))

O tamanho do bloco pode ser alterado usando BLOCKSIZE , mas o tamanho mínimo do bloco é 512. Aqui está após a alteração:

echo $(($(BLOCKSIZE=1024 du -s /etc | cut -f1) * 1024))
    
por 06.12.2015 / 16:41