Por padrão, du
contará cada arquivo apenas uma vez se estiver vinculado a várias vezes. Se você executar du -L bar
, ele contará o arquivo porque ele só o atinge uma vez. No entanto, se você executar du -L *
, ele será contado somente na primeira vez que for visualizado. Por exemplo:
$ du -L foo bar
16K foo
4.0K bar
$ du -L bar foo
16K bar
4.0K foo
Observe que trocar a ordem dos argumentos altera qual pasta é relatada como 16K.
Você pode forçar o du
a contar o arquivo duas vezes passando o parâmetro -l
.
Editar:
Os links simbólicos são um tipo especial de arquivo, e uma etapa extra é necessária para seguir o link. du
não seguirá os links simbólicos, a menos que a opção -L
esteja ativada.
Por outro lado, um link físico é basicamente um arquivo existente em duas (ou mais) pastas. du
presumivelmente rastreia quais arquivos ele viu pelo número de inode para evitar contá-los duas vezes. -l
desativa esse comportamento.
Portanto, com apenas -L
, ele seguirá o link simbólico, mas se o arquivo de destino tiver um número de inode que já tenha visto, ele não será contado novamente. Com apenas -l
, ele contará links físicos duplicados, mas não seguirá links simbólicos.
Se você usar -l
e -L
juntos, ambos seguirão os links simbólicos e também permitirão a contagem do (s) arquivo (s) de destino mais de uma vez.