¿Cómo puedo obtener el tamaño de todos los archivos y todos los archivos en sus subdirectorios usando el comando du?
Estoy intentando el siguiente comando para obtener el tamaño de todos los archivos (y archivos en subdirectorios)
find . -type f | du -a
Pero esto también imprime los tamaños de carpeta. ¿Cómo puedo obtener una lista de tamaños de todos los archivos y archivos en subdirectorios? También probé el, exec flagpero no estoy seguro de cómo canalizar la salida a otro comando después de que ejecute los resultados de findinto du.
El sistema operativo es AIX 6.1 con ksh shell.

find -print0u otras funciones de GNU. Si está disponible, reemplazar\;con\+dará como resultado menos invocacionesduy, por lo tanto, un mejor rendimiento.+opción. ¿Es esa una opción paraduo parafind? ¿Y por qué resulta en menos llamadas?find. Especificaexecel comando (en nuestro casodu) solo una vez, con todos los resultadosfinddados como argumentos sucesivos del comando.du -f --threshold=1GSi tiene utilidades GNU, intente
fuente
man duno incluye unafileso unafrombandera.du -chpara obtener un gran total de archivos coincidentes:find . -name 'blah blah.*' -print0 | du --files0-from=- -chGeneralmente uso:
Xargs generalmente llama al comando, incluso si no se pasan argumentos;
xargs du </dev/nullaún se llamará,xargs -r du </dev/nullno llamará du. El-0argumento busca cadenas terminadas en nulo en lugar de nuevas terminadas en línea.Luego, generalmente agrego
| awk '{sum+=$1} END {print sum}'al final para obtener el total.fuente
then I usually addvalor del oro :-)Aquí hay una versión con nombres largos de parámetros y clasificación humana.
Tampoco vi la necesidad de
-a/--allser pasado adu.fuente
archivos específicos en el directorio actual
du -ch files*es más corto y me funciona
du -sh .para el directorio actual y todos los archivos en sub
du (GNU coreutils) 8.30
fuente
du -ch files*? Supongamos que el directorio actual contieneant,apple,banana,bat,cat,corn,date, ydog, donde los nombres de los animales son los subdirectorios y los nombres de vegetales / frutas son archivos - lo comando usaría para obtener sólo los archivos? ¿O no es eso lo que querías decir? (2)du -sh .informará solo un gran total de todo en y bajo el directorio actual, y no los archivos en sí mismos. Esto es más o menos exactamente lo opuesto a la pregunta que se hizo.