du mostra tamanho de pasta completamente diferente para * e nome da pasta

1

Estou tentando mover alguns dados e começar. Gostaria de ter certeza de que o tamanho está correto. Eu me deparo com um problema no entanto, se eu verificar a pasta com

du -sh  myfolder/
780M    myfolder/

mas

du -sh *
..
71M     myfolder
..

Eu pensei que poderia ser algo a ver com arquivos ocultos, mas essa pasta em particular não tem nenhum dentro.

Estou sentindo falta de algo?

    
por Bart C 29.03.2017 / 09:13

1 resposta

4

As chances são de que myfolder contém 709 MB de arquivos que possuem outro link físico em um subdiretório que é classificado lexicograficamente antes de myfolder . O comando du relata cada arquivo distinto apenas na primeira vez que o vê, portanto, se um arquivo tiver vários links dentro da (s) árvore (s) coberta (s) por uma execução de du , ele será relatado apenas uma vez, em qualquer diretório percorrido primeiro .

Aqui estão algumas maneiras de procurar links físicos:

  • find myfolder -links +1 -type f lista todos os arquivos que têm pelo menos um segundo link físico em myfolder ( +1 significa “mais de um”), independentemente de onde esse link esteja.
  • find . -samefile myfolder/foo (com o GNU find) lista todos os hard links para myfolder/foo no diretório atual. Como myfolder está no diretório atual, isso inclui myfolder/foo em si.
  • find -type f -links +1 -printf '%i %p\n' | sort -k1n (com GNU find) produz uma lista de arquivos com link físico no diretório atual, agrupados por número de inode. Dois arquivos são os mesmos se estiverem localizados no mesmo sistema de arquivos e tiverem o mesmo número de inode.
por 30.03.2017 / 01:58

Tags