du -sh: Eu não entendo porque esses dois resultados são diferentes

0

Eu preciso saber o tamanho de uma pasta e algumas de suas subpastas. Então, estou tentando usar o comando du .

Eu cd no diretório correto e tente (em bash ):

[xxx@yyy TEST]$ du -sh .
4.1G    .

[xxx@yyy TEST]$ du -sh *AAA
3.2G    123_AAA

[xxx@yyy TEST]$ du -sh . *A
4.1G    .
2.7G    123_AAA

Como é possível obter resultados diferentes para o tamanho de 123_AAA (3,2 GB e depois 2,7 GB) com meu segundo e meu terceiro comando?

Obrigado antecipadamente

    
por Maxx 30.03.2015 / 16:03

3 respostas

1

Acho que o du está ciente dos hardlinks. Experimente du -shl . *A .

    
por 30.03.2015 / 17:43
0

du processa os argumentos em ordem e controla os inodes para que eles sejam contados apenas uma vez (ou duas vezes, se você usar -c ). Eu não vejo como 123_AAA é contado quando é listado após . , no entanto. A primeira explicação que pensei é que os links simbólicos podem ser tratados de maneira diferente quando listados na linha de comando, mas isso é com a opção -D , não o padrão. Não cruzar as bordas do sistema de arquivos pode ser outro candidato, mas -x não está habilitado por padrão.

    
por 30.03.2015 / 18:34
-1

Eu não consegui replicar esse erro, no entanto, ao verificar as páginas do manual:

SYNOPSIS
       du [OPTION]... [FILE]...

Então, acho que você pode ter apenas um argumento de arquivo por vez. Não sei por que você está obtendo um resultado para o último comando:

wilhelm@server ~ $ du -sh .
2.1G    .
wilhelm@server ~ $ du -h wa
4.0K    wa
wilhelm@server ~ $ du -sh wa
4.0K    wa
wilhelm@server ~ $ du -sh . wa
2.1G    .
    
por 30.03.2015 / 16:17

Tags