¿Por qué la salida de
du -sch ./
no idéntico a
du -sch ./*
Por ejemplo, ejecuté du -sch
en el directorio de inicio de mi usuario y obtuve 51 GB, pero al ejecutar du -sch *
en el mismo directorio se obtuvieron 47 GB. Al principio pensé que tal vez se trataba de archivos ocultos, pero eso no explica casi 4 GB de archivos/carpetas ocultos.
Leí el manual de la utilidad de disco pero no pude encontrar una explicación.
Respuesta1
Al principio pensé que tal vez se trataba de archivos ocultos, pero eso no explica casi 4 GB de archivos/carpetas ocultos.
¿Cómo midiste esto? creo que ustedhacertenga 4 GB de archivos/directorios ocultos, o tal vez incluso más (en cierto sentido) si hay enlaces físicos involucrados.
Esto le dirá (lo dejé -h
para obtener resultados más exactos; tail
es solo para pasar el "total"; probado en bash
):
du -sc ./{.[!.],..?}* | tail -n 1 # hidden
du -sc ./* | tail -n 1 # non-hidden
du -sc ./{.[!.],..?,}* | tail -n 1 # hidden and non-hidden by wildcards
du -sc ./ | tail -n 1 # directory as a whole
(sintaxis tomada deesta respuesta).
El primer comando es lo que te falta. Obtenga una suma del primer y segundo resultado; será igual a los dos últimos resultados, a menos que...
A menos que haya archivos vinculados entre la parte oculta y la no oculta. Si es así, la suma será aún mayor porqueEstos archivos se contarán dos veces cuando los sumes a mano, pero solo una vez cuando du
los sumes en una sola pasada.. En este caso, los archivos/directorios ocultos ocupan incluso más espacio de lo que cree (aunque parte de este espacio se "comparte" con la parte no oculta). Tenga en cuenta que hay-l
opción dedu
que controla este comportamiento:
-l
,--count-links
cuente los tamaños muchas veces si está vinculado