Eu sei que, quando eu crio um catálogo vazio, ele tem seu próprio tamanho:
mkdir test && du -h test
dá:
4,0K test
Mas este caso é outro. Eu tinha catálogo com arquivos 1e6 (74 GB) no disco rígido externo (ext4). Eu processei esses arquivos, salvei em outro catálogo e apaguei deste local no script em paralelo. Agora este catálogo deve estar vazio. Então está bem que
ls -a raw/all
imprimir
. ..
Mas
du -h raw/all
dá
19M raw/all
Sem -h
, temos exatamente 19288B. E este também é um resultado estranho:
ls -la raw/all
total 19292
drwxr-xr-x 2 daniel daniel 19746816 wrz 18 19:23 .
drwxrwxr-x 4 daniel daniel 4096 wrz 17 13:21 ..
O que está acontecendo? Existe algum cache no comando du
? Ou depois de processar tantos arquivos, há algum descanso após esses arquivos? Eu deletei arquivado por unlink
no script perl5.
Atualização - respostas a perguntas de comentários
ls -aiR raw/all
raw/all:
51647758 . 51647760 ..
lsof +L1
imprime 44 linhas, mas nada está relacionado com este catálogo. Mas lsof
dá algo com números como 19746816
.
lsof | grep raw
bash 5355 daniel cwd DIR 8,17 19746816 51647758 /media/daniel/f2971ccd-4841-4da3-8ce3-d9f2cc03fc27/daniel/pro/scraper/raw/all
lsof 5677 daniel cwd DIR 8,17 19746816 51647758 /media/daniel/f2971ccd-4841-4da3-8ce3-d9f2cc03fc27/daniel/pro/scraper/raw/all
grep 5678 daniel cwd DIR 8,17 19746816 51647758 /media/daniel/f2971ccd-4841-4da3-8ce3-d9f2cc03fc27/daniel/pro/scraper/raw/all
lsof 5679 daniel cwd DIR 8,17 19746816 51647758 /media/daniel/f2971ccd-4841-4da3-8ce3-d9f2cc03fc27/daniel/pro/scraper/raw/all
O laptop foi reinicializado. A unidade externa foi desconectada. Mas du
ainda mostra 19M
.